public bool TryWriteFeatureCollection(JsonWriter writer, object value, JsonSerializer serializer) { if (!_shapeConverter.CanConvert(ObjectType.FeatureCollection)) { return(false); } ObjectType geomType = _shapeConverter.GetObjectType(value); if (geomType != ObjectType.FeatureCollection) { return(false); } writer.WriteStartObject(); writer.WritePropertyName("type"); writer.WriteValue(Enum.GetName(typeof(ObjectType), ObjectType.FeatureCollection)); writer.WritePropertyName("features"); writer.WriteStartArray(); foreach (var feature in _shapeConverter.FromFeatureCollection(value)) { serializer.Serialize(writer, feature); } writer.WriteEndArray(); writer.WriteEndObject(); return(true); }