NetTopologySuite.IO.GeoJSON4STJ

This package contains the System.Text.Json version of the GeoJSON IO library.


Keywords
NTS, GeoJSON, geometry, json, library, nettopologysuite
License
BSD-3-Clause
Install
Install-Package NetTopologySuite.IO.GeoJSON4STJ -Version 4.0.0

Documentation

GeoJSON

GeoJSON (RFC 7946) IO module for NTS.

GeoJSON4STJ Usage

This is the package for System.Text.Json serialization and deserialization.

ASP.NET Core Example

Add the System.Text.Json.Serializer.JsonConverterFactory, GeoJsonConverterFactory, to the JsonSerializerOptions when you configure your controllers, MVC, etc in the ConfigureServices method of your Startup.cs class.

public void ConfigureServices(IServiceCollection services) {
  services.AddControllers()
  .AddJsonOptions(options => {
    options.JsonSerializerOptions.Converters.Add(new NetTopologySuite.IO.Converters.GeoJsonConverterFactory());
  });
}

GeoJSON Usage

GeoJSON to Geometry:

var geoJson = "{\"type\":\"Point\",\"coordinates\":[0.0,0.0]}";
Geometry geometry;

var serializer = GeoJsonSerializer.Create();
using (var stringReader = new StringReader(geoJson))
using (var jsonReader = new JsonTextReader(stringReader))
{
    geometry = serializer.Deserialize<Geometry>(jsonReader);
}

Geometry to GeoJSON:

var geometry = new Point(0, 0);
string geoJson;

var serializer = GeoJsonSerializer.Create();
using (var stringWriter = new StringWriter())
using (var jsonWriter = new JsonTextWriter(stringWriter))
{
    serializer.Serialize(jsonWriter, geometry);
    geoJson = stringWriter.ToString();
}