public static string ToGeoJson(FeatureCollection featureCollection) { var stringWriter = new StringWriter(); using (var writer = new GeoJsonWriter(stringWriter)) { writer.WriteStartObject(); writer.WritePropertyName("features"); writer.WriteStartArray(); if (featureCollection.Features.Count < 100000) { writer.WriteFeatures(featureCollection); } else { writer.WriteFeaturesMultithreaded(featureCollection); } writer.WriteEndArray(); if (featureCollection.CRS != null) { writer.WriteCrs((CRSBase)featureCollection.CRS); } writer.WritePropertyName("type"); writer.WriteValue("FeatureCollection"); writer.WriteEndObject(); stringWriter.Flush(); return(stringWriter.ToString()); } }
private static string AddFeatures(IReadOnlyList <Feature> features, int fromIndex, int toIndex) { StringWriter stringWriter = new StringWriter(); using (GeoJsonWriter writer = new GeoJsonWriter(stringWriter)) { writer.WriteFeatures(features, fromIndex, toIndex); stringWriter.Flush(); return(stringWriter.ToString()); } }