Class KMLWriter

java.lang.Object
org.locationtech.jts.io.kml.KMLWriter

public class KMLWriter extends Object
Writes a formatted string containing the KML representation of a JTS Geometry. The output is KML fragments which can be substituted wherever the KML Geometry abstract element can be used.

Output elements are indented to provide a nicely-formatted representation. An output line prefix and maximum number of coordinates per line can be specified.

The Z ordinate value output can be forced to be a specific value. The extrude and altitudeMode modes can be set. If set, the corresponding sub-elements will be output.

  • Field Details

    • ALTITUDE_MODE_CLAMPTOGROUND

      public static String ALTITUDE_MODE_CLAMPTOGROUND
      The KML standard value clampToGround for use in setAltitudeMode(String).
    • ALTITUDE_MODE_RELATIVETOGROUND

      public static String ALTITUDE_MODE_RELATIVETOGROUND
      The KML standard value relativeToGround for use in setAltitudeMode(String).
    • ALTITUDE_MODE_ABSOLUTE

      public static String ALTITUDE_MODE_ABSOLUTE
      The KML standard value absolute for use in setAltitudeMode(String).
  • Constructor Details

    • KMLWriter

      public KMLWriter()
      Creates a new writer.
  • Method Details

    • writeGeometry

      public static String writeGeometry(Geometry geometry, double z)
      Writes a Geometry as KML to a string, using a specified Z value.
      Parameters:
      geometry - the geometry to write
      z - the Z value to use
      Returns:
      a string containing the KML geometry representation
    • writeGeometry

      public static String writeGeometry(Geometry geometry, double z, int precision, boolean extrude, String altitudeMode)
      Writes a Geometry as KML to a string, using a specified Z value, precision, extrude flag, and altitude mode code.
      Parameters:
      geometry - the geometry to write
      z - the Z value to use
      precision - the maximum number of decimal places to write
      extrude - the extrude flag to write
      altitudeMode - the altitude model code to write
      Returns:
      a string containing the KML geometry representation
    • setLinePrefix

      public void setLinePrefix(String linePrefix)
      Sets a tag string which is prefixed to every emitted text line. This can be used to indent the geometry text in a containing document.
      Parameters:
      linePrefix - the tag string
    • setMaximumCoordinatesPerLine

      public void setMaximumCoordinatesPerLine(int maxCoordinatesPerLine)
      Sets the maximum number of coordinates to output per line.
      Parameters:
      maxCoordinatesPerLine - the maximum number of coordinates to output
    • setZ

      public void setZ(double zVal)
      Sets the Z value to be output for all coordinates. This overrides any Z value present in the Geometry coordinates.
      Parameters:
      zVal - the Z value to output
    • setExtrude

      public void setExtrude(boolean extrude)
      Sets the flag to be output in the extrude element.
      Parameters:
      extrude - the extrude flag to output
    • setTesselate

      public void setTesselate(boolean tesselate)
      Sets the flag to be output in the tesselate element.
      Parameters:
      tesselate - the tesselate flag to output
    • setAltitudeMode

      public void setAltitudeMode(String altitudeMode)
      Sets the value output in the altitudeMode element.
      Parameters:
      altitudeMode - string representing the altitude mode
    • setPrecision

      public void setPrecision(int precision)
      Sets the maximum number of decimal places to output in ordinate values. Useful for limiting output size.
      Parameters:
      precision - the number of decimal places to output
    • write

      public String write(Geometry geom)
      Writes a Geometry in KML format as a string.
      Parameters:
      geom - the geometry to write
      Returns:
      a string containing the KML geometry representation
    • write

      public void write(Geometry geometry, Writer writer) throws IOException
      Writes the KML representation of a Geometry to a Writer.
      Parameters:
      geometry - the geometry to write
      writer - the Writer to write to
      Throws:
      IOException - if an I/O error occurred
    • write

      public void write(Geometry geometry, StringBuffer buf)
      Appends the KML representation of a Geometry to a StringBuffer.
      Parameters:
      geometry - the geometry to write
      buf - the buffer to write into