JTS Topology Suite version 1.13

## com.vividsolutions.jts.io.gml2
Class GMLWriter

    java.lang.Object
      com.vividsolutions.jts.io.gml2.GMLWriter

    public class GMLWriter

extends java.lang.Object

Writes `Geometry`s as XML fragments in GML2 format. Allows specifying the XML prefix, namespace and srsName of the emitted GML. Also allows adding custom root elements to support GML extensions such as KML. With appropriate settings for prefix (none) and custom root elements this class can be used to write out geometry in KML format.

An example of the output that can be generated is:

         6.03,8.17 7.697,6.959 8.333,5.0 7.697,3.041 6.03,1.83 3.97,1.83 2.303,3.041 1.667,5.0 2.303,6.959 3.97,8.17

This class does not rely on any external XML libraries.

Author:
  David Zwiers, Vivid Solutions, Martin Davis

Constructor Summary
`GMLWriter()` Creates a writer which outputs GML with default settings.
`GMLWriter(boolean emitNamespace)` Creates a writer which may emit the GML namespace prefix declaration in the geometry root element.

Method Summary
`void` `setCustomElements(java.lang.String[] customElements)` Specifies a list of custom elements which are written after the opening tag of the root element.
`void` `setMaxCoordinatesPerLine(int num)` Sets the number of coordinates printed per line.
`void` `setNamespace(boolean emitNamespace)` Determines whether a GML namespace declaration will be written in the opening tag of geometries.
`void` `setPrefix(java.lang.String prefix)` Specifies the namespace prefix to write on each GML tag.
`void` `setSrsName(java.lang.String srsName)` Sets the value of the `srsName` attribute to be written into the root geometry tag.
`void` `setStartingIndentIndex(int indent)` Sets the starting column index for pretty printing
`java.lang.String` `write(Geometry geom)` Writes a `Geometry` in GML2 format to a String.
`void` `write(Geometry geom, java.io.Writer writer)` Writes a `Geometry` in GML2 format into a `Writer`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GMLWriter

    public GMLWriter()

  Creates a writer which outputs GML with default settings. The defaults are:
  - the namespace prefix is `gml:`
  - no namespace prefix declaration is written
  - no `srsName` attribute is written

### GMLWriter

    public GMLWriter(boolean emitNamespace)

  Creates a writer which may emit the GML namespace prefix declaration in the geometry root element.

  Parameters:
    `emitNamespace` - trueif the GML namespace prefix declaration should be written in the geometry root element

Method Detail

### setPrefix

    public void setPrefix(java.lang.String prefix)

  Specifies the namespace prefix to write on each GML tag. A null or blank prefix may be used to indicate no prefix.

  The default is to write `gml:` as the namespace prefix.

  Parameters:
    `prefix` - the namespace prefix to use (`null` or blank if none)

### setSrsName

    public void setSrsName(java.lang.String srsName)

  Sets the value of the `srsName` attribute to be written into the root geometry tag. If the value is `null` or blank no srsName attribute will be written. The provided value must be a valid XML attribute value - it will not be XML-escaped.

  The default is not to write the `srsName` attribute.

  Parameters:
    `srsName` - the srsName attribute value

### setNamespace

    public void setNamespace(boolean emitNamespace)

  Determines whether a GML namespace declaration will be written in the opening tag of geometries. Useful in XML-aware environments which parse the geometries before use, such as XSLT.

  Parameters:
    `emitNamespace` - true if the GML namespace prefix declaration should be written in the root geometry element

### setCustomElements

    public void setCustomElements(java.lang.String[] customElements)

  Specifies a list of custom elements which are written after the opening tag of the root element. The text contained in the string sequence should form valid XML markup. The specified strings are written one per line immediately after the root geometry tag line.

  For instance, this is useful for adding KML-specific geometry parameters such as `<extrude>`

  Parameters:
    `customElements` - a list of the custom element strings, or null if none

### setStartingIndentIndex

    public void setStartingIndentIndex(int indent)

  Sets the starting column index for pretty printing

  Parameters:
    `indent` -

### setMaxCoordinatesPerLine

    public void setMaxCoordinatesPerLine(int num)

  Sets the number of coordinates printed per line.

  Parameters:
    `num` -

### write

    public java.lang.String write(Geometry geom)

  Writes a `Geometry` in GML2 format to a String.

  Parameters:
    `geom` -
  Returns:
    String GML2 Encoded Geometry

### write

    public void write(Geometry geom,
                      java.io.Writer writer)
               throws java.io.IOException

  Writes a `Geometry` in GML2 format into a `Writer`.

  Parameters:
    `geom` - Geometry to encode
    `writer` - Stream to encode to.
  Throws:
    `java.io.IOException`

JTS Topology Suite version 1.13