/// <summary> /// Converts the specified GeoJSON <paramref name="geometry"/> into an instance of <see cref="IGeometry"/>. /// </summary> /// <param name="geometry">The GeoJSON geometry to be converted.</param> /// <returns>An instance of <see cref="IGeometry"/>.</returns> public static IGeometry Convert(IGeoJsonGeometry geometry) { if (geometry == null) { throw new ArgumentNullException(nameof(geometry)); } return(geometry.ToGeometry()); }
public static GeoJsonFeatureSet AsFeatureSet(this IGeoJsonGeometry geometry) { return(new GeoJsonFeatureSet() { Features = new List <GeoJsonFeature>() { geometry.AsFeature() }, TotalFeatures = 1 }); }
public static GeoJsonFeature Create(IGeoJsonGeometry geometry, Dictionary <string, object> attributes = null) { return(new GeoJsonFeature() { Geometry = geometry, Geometry_name = string.Empty, Id = "0", Properties = attributes ?? new Dictionary <string, object>(), }); }
//public static ShapefileFormat.EsriType.IShape ParseToSqlGeometry(this IGeoJsonGeometry geometry, bool isLongitudeFirst = true, int srid = 0) //{ //} #region SqlGeometry public static SqlGeometry AsSqlGeometry(this IGeoJsonGeometry geometry, bool isLongitudeFirst = true, int srid = 0) { var type = geometry.GeometryType; if (geometry.IsNullOrEmpty()) { return(SqlSpatialHelper.CreateEmptySqlGeometry(type, srid)); } SqlGeometryBuilder builder = new SqlGeometryBuilder(); builder.SetSrid(srid); switch (type) { case GeometryType.Point: AddPoint(builder, (GeoJsonPoint)geometry, isLongitudeFirst); break; case GeometryType.MultiPoint: AddMultiPoint(builder, (GeoJsonMultiPoint)geometry, isLongitudeFirst); break; case GeometryType.LineString: AddLineString(builder, (GeoJsonLineString)geometry, isLongitudeFirst); break; case GeometryType.MultiLineString: AddMultiLineString(builder, (GeoJsonMultiLineString)geometry, isLongitudeFirst); break; case GeometryType.MultiPolygon: AddMultiPolygon(builder, (GeoJsonMultiPolygon)geometry, isLongitudeFirst); break; case GeometryType.Polygon: AddPolygon(builder, (GeoJsonPolygon)geometry, isLongitudeFirst); break; case GeometryType.GeometryCollection: case GeometryType.CircularString: case GeometryType.CompoundCurve: case GeometryType.CurvePolygon: default: throw new NotImplementedException(); } return(builder.ConstructedGeometry.MakeValid()); }
public static IEsriShape AsEsriShape(this IGeoJsonGeometry geometry, bool isLongitudeFirst = true, int srid = 0, Func <IPoint, IPoint> mapFunction = null) { //var type = geometry.GeometryType; //if (geometry.IsNullOrEmpty()) //{ // return SqlSpatialHelper.CreateEmptySqlGeometry(type, srid); //} if (geometry.IsNullOrEmpty()) { return(null); } var type = geometry.GeometryType; switch (type) { case GeometryType.GeometryCollection: case GeometryType.CircularString: case GeometryType.CompoundCurve: case GeometryType.CurvePolygon: default: throw new NotImplementedException(); case GeometryType.Point: return(ToEsriPoint((GeoJsonPoint)geometry, isLongitudeFirst, srid, mapFunction)); case GeometryType.MultiPoint: return(ToEsriMultiPoint((GeoJsonMultiPoint)geometry, isLongitudeFirst, srid, mapFunction)); case GeometryType.LineString: return(ToEsriPolyline((GeoJsonLineString)geometry, isLongitudeFirst, srid, mapFunction)); case GeometryType.MultiLineString: return(ToEsriPolyline((GeoJsonMultiLineString)geometry, isLongitudeFirst, srid, mapFunction)); case GeometryType.Polygon: return(ToEsriPolygon((GeoJsonPolygon)geometry, isLongitudeFirst, srid, mapFunction)); case GeometryType.MultiPolygon: return(ToEsriPolygon((GeoJsonMultiPolygon)geometry, isLongitudeFirst, srid, mapFunction)); } }
public static GeoJsonFeature AsFeature(this IGeoJsonGeometry geometry) { return(GeoJsonFeature.Create(geometry)); }
internal static string Serialize(IGeoJsonGeometry geoJson, bool indented, bool removeSpaces = false) { var result = JsonConvert.SerializeObject(geoJson, indented ? Formatting.Indented : Formatting.None); return(removeSpaces ? result.Replace(" ", string.Empty) : result); }
public string Write(IGeoJsonGeometry geometry) { return(SimpleJson.SerializeObject(WriteGeometry(geometry))); }
public string Write(IGeoJsonGeometry geometry) { return SimpleJson.SerializeObject(WriteGeometry(geometry)); }
public Feature(IGeoJsonGeometry geometry, Dictionary<string, object> properties = null) { Geometry = geometry; Properties = properties ?? new Dictionary<string, object>(); }
public Feature(IGeoJsonGeometry geometry, Dictionary <string, object> properties = null) { Geometry = geometry; Properties = properties ?? new Dictionary <string, object>(); }