Class GeoJsonWriter

java.lang.Object
org.locationtech.jts.io.geojson.GeoJsonWriter

public class GeoJsonWriter extends Object
Writes Geometrys as JSON fragments in GeoJSON format.

The current GeoJSON specification is https://tools.ietf.org/html/rfc7946.

The GeoJSON specification states that polygons should be emitted using the counter-clockwise shell orientation. This is not enforced by this writer.

The GeoJSON specification does not state how to represent empty geometries of specific type. The writer emits empty typed geometries using an empty array for the coordinates property.

Author:
Martin Davis, Paul Howells, Vivid Solutions
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The prefix for EPSG codes in the crs property.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a GeoJsonWriter instance.
    GeoJsonWriter(int decimals)
    Constructs a GeoJsonWriter instance specifying the number of decimals to use when encoding floating point numbers.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    setEncodeCRS(boolean isEncodeCRS)
    Sets whether the GeoJSON crs property should be output.
    void
    setForceCCW(boolean isForceCCW)
    Sets whether the GeoJSON should be output following counter-clockwise orientation aka Right Hand Rule defined in RFC7946 See RFC 7946 Specification for more context.
    write(Geometry geometry)
    Writes a Geometry in GeoJson format to a String.
    void
    write(Geometry geometry, Writer writer)
    Writes a Geometry in GeoJson format into a Writer.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • GeoJsonWriter

      public GeoJsonWriter()
      Constructs a GeoJsonWriter instance.
    • GeoJsonWriter

      public GeoJsonWriter(int decimals)
      Constructs a GeoJsonWriter instance specifying the number of decimals to use when encoding floating point numbers.
      Parameters:
      decimals - the number of decimal places to output
  • Method Details

    • setEncodeCRS

      public void setEncodeCRS(boolean isEncodeCRS)
      Sets whether the GeoJSON crs property should be output. The value of the property is taken from geometry SRID.
      Parameters:
      isEncodeCRS - true if the crs property should be output
    • setForceCCW

      public void setForceCCW(boolean isForceCCW)
      Sets whether the GeoJSON should be output following counter-clockwise orientation aka Right Hand Rule defined in RFC7946 See RFC 7946 Specification for more context.
      Parameters:
      isForceCCW - true if the GeoJSON should be output following the RFC7946 counter-clockwise orientation aka Right Hand Rule
    • write

      public String write(Geometry geometry)
      Writes a Geometry in GeoJson format to a String.
      Parameters:
      geometry - the geometry to write
      Returns:
      String GeoJson Encoded Geometry
    • write

      public void write(Geometry geometry, Writer writer) throws IOException
      Writes a Geometry in GeoJson format into a Writer.
      Parameters:
      geometry - Geometry to encode
      writer - Stream to encode to.
      Throws:
      IOException - throws an IOException when unable to write the JSON string