Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
 public string Write(FeatureCollection featureCollection)
 {
     return(SimpleJson.SerializeObject(WriteFeatureCollection(featureCollection)));
 }
Example #4
0
 private Dictionary<string, object> WriteFeatureCollection(FeatureCollection featureCollection)
 {
     return new Dictionary<string, object>
     {
         { "type", "FeatureCollection" },
         { "features", featureCollection.Features.Select(WriteFeature).ToArray() }
     };
 }
Example #5
0
 public string Write(FeatureCollection featureCollection)
 {
     return SimpleJson.SerializeObject(WriteFeatureCollection(featureCollection));
 }