public void FeatureCollection() { var reader = new GeoJsonReader(); var features = new FeatureCollection(new[] {new Feature(new Point(0, 0)) {Id = "test-id"}}); Assert.AreEqual(@"{""type"":""FeatureCollection"",""features"":[{""type"":""Feature"",""geometry"":{""type"":""Point"",""coordinates"":[0,0]},""properties"":null,""id"":""test-id""}]}", features.ToGeoJson() ); var features2 = (FeatureCollection)reader.Read(features.ToGeoJson()); Assert.AreEqual(features.Features.Single().Geometry, features2.Features.Single().Geometry); }
private bool TryParseFeatureCollection(JsonObject obj, out object result) { result = null; string typeString; if (TryParseTypeString(obj, out typeString) && typeString.ToLowerInvariant() == "featurecollection") { var features = obj["features"] as JsonArray; if (features != null) { var temp = new object[features.Count]; for (var index = 0; index < features.Count; index++) { var geometry = features[index]; if (!TryParseFeature((JsonObject) geometry, out temp[index])) return false; } result = new FeatureCollection(temp.Cast<Feature>()); return true; } } return false; }
public string Write(FeatureCollection featureCollection) { return(SimpleJson.SerializeObject(WriteFeatureCollection(featureCollection))); }
private Dictionary<string, object> WriteFeatureCollection(FeatureCollection featureCollection) { return new Dictionary<string, object> { { "type", "FeatureCollection" }, { "features", featureCollection.Features.Select(WriteFeature).ToArray() } }; }
public string Write(FeatureCollection featureCollection) { return SimpleJson.SerializeObject(WriteFeatureCollection(featureCollection)); }