Beispiel #1
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="geometry"></param>
 /// <returns></returns>
 protected ShapeGeometryTypes GetShapeType(Geometry geometry)
 {
     if (geometry is Point)
         return ShapeGeometryTypes.Point;
     else if (geometry is LinearRing)
         return ShapeGeometryTypes.LineString;
     else if (geometry is LineString)
         return ShapeGeometryTypes.LineString;
     else if (geometry is Polygon)
         return ShapeGeometryTypes.Polygon;
     else if (geometry is MultiPoint)
         return ShapeGeometryTypes.MultiPoint;
     else if (geometry is MultiLineString)
         return ShapeGeometryTypes.LineString;
     else if (geometry is MultiPolygon)
         return ShapeGeometryTypes.Polygon;
     else throw new NotSupportedException("Unsupported Geometry implementation:" + geometry.GetType());
 }
Beispiel #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="geometry"></param>
        /// <param name="leWriter"></param>
        /// <param name="beWriter"></param>
        protected void Write(Geometry geometry, BinaryWriter leWriter, BigEndianBinaryWriter beWriter)
        {
            WriteFeatureHeader(geometry, beWriter);

            if (geometry is Point)
                shapeWriter.Write(geometry as Point, leWriter);
            else if (geometry is LineString)
                shapeWriter.Write(geometry as LineString, leWriter);
            else if (geometry is Polygon)
                shapeWriter.Write(geometry as Polygon, leWriter);
            else if (geometry is MultiPoint)
                shapeWriter.Write(geometry as MultiPoint, leWriter);
            else if (geometry is MultiLineString)
                shapeWriter.Write(geometry as MultiLineString, leWriter);
            else if (geometry is MultiPolygon)
                shapeWriter.Write(geometry as MultiPolygon, leWriter);
            else throw new NotSupportedException("Unsupported Geometry implementation:" + geometry.GetType());
        }