## com.vividsolutions.jts.io
Class WKTWriter

    java.lang.Object
      com.vividsolutions.jts.io.WKTWriter

public class WKTWriter
extends java.lang.Object

Writes the Well-Known Text representation of a `Geometry`. The Well-Known Text format is defined in the OGC Simple Features Specification for SQL.

The `WKTWriter` outputs coordinates rounded to the precision model. Only the maximum number of decimal places necessary to represent the ordinates to the required precision will be output.

The SFS WKT spec does not define a special tag for `LinearRing`s. Under the spec, rings are output as `LINESTRING`s. In order to allow precisely specifying constructed geometries, JTS supports a non-standard `LINEARRING` tag which is used to output LinearRings.

Version:
  1.7
See Also:
  `WKTReader`

Constructor Summary
`WKTWriter()` Creates a new WKTWriter with default settings
`WKTWriter(int outputDimension)` Creates a writer that writes `Geometry`s with the given output dimension (2 or 3).

Method Summary
`void` `setFormatted(boolean isFormatted)` Sets whether the output will be formatted.
`void` `setMaxCoordinatesPerLine(int coordsPerLine)` Sets the maximum number of coordinates per line written in formatted output.
`void` `setTab(int size)` Sets the tab size to use for indenting.
`static java.lang.String` `stringOfChar(char ch, int count)` Returns a `String` of repeated characters.
`static java.lang.String` `toLineString(Coordinate p0, Coordinate p1)` Generates the WKT for a 2-point `LineString`.
`static java.lang.String` `toLineString(CoordinateSequence seq)` Generates the WKT for a N-point `LineString`.
`static java.lang.String` `toPoint(Coordinate p0)` Generates the WKT for a `Point`.
`java.lang.String` `write(Geometry geometry)` Converts a `Geometry` to its Well-known Text representation.
`void` `write(Geometry geometry, java.io.Writer writer)` Converts a `Geometry` to its Well-known Text representation.
`java.lang.String` `writeFormatted(Geometry geometry)` Same as `write`, but with newlines and spaces to make the well-known text more readable.
`void` `writeFormatted(Geometry geometry, java.io.Writer writer)` Same as `write`, but with newlines and spaces to make the well-known text more readable.

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

Constructor Detail

### WKTWriter

    public WKTWriter()

  Creates a new WKTWriter with default settings

### WKTWriter

    public WKTWriter(int outputDimension)

  Creates a writer that writes `Geometry`s with the given output dimension (2 or 3). If the specified output dimension is 3, the Z value of coordinates will be written if it is present (i.e. if it is not `Double.NaN`).

Parameters:
  `outputDimension` - the coordinate dimension to output (2 or 3)

Method Detail

### toPoint

    public static java.lang.String toPoint(Coordinate p0)

  Generates the WKT for a `Point`.

  Parameters:
    `p0` - the point coordinate
  Returns:
    the WKT

### toLineString

    public static java.lang.String toLineString(CoordinateSequence seq)

  Generates the WKT for a N-point `LineString`.

  Parameters:
    `seq` - the sequence to outpout
  Returns:
    the WKT

### toLineString

    public static java.lang.String toLineString(Coordinate p0,
                                                Coordinate p1)

  Generates the WKT for a 2-point `LineString`.

  Parameters:
    `p0` - the first coordinate
    `p1` - the second coordinate
  Returns:
    the WKT

### stringOfChar

    public static java.lang.String stringOfChar(char ch,
                                                int count)

  Returns a `String` of repeated characters.

  Parameters:
    `ch` - the character to repeat
    `count` - the number of times to repeat the character
  Returns:
    a `String` of characters

### setFormatted

    public void setFormatted(boolean isFormatted)

  Sets whether the output will be formatted.

  Parameters:
    `isFormatted` - true if the output is to be formatted

### setMaxCoordinatesPerLine

    public void setMaxCoordinatesPerLine(int coordsPerLine)

  Sets the maximum number of coordinates per line written in formatted output. If the provided coordinate number is <= 0, coordinates will be written all on one line.

  Parameters:
    `coordsPerLine` - the number of coordinates per line to output.

### setTab

    public void setTab(int size)

  Sets the tab size to use for indenting.

  Parameters:
    `size` - the number of spaces to use as the tab string
  Throws:
    `java.lang.IllegalArgumentException` - if the size is non-positive

### write

    public java.lang.String write(Geometry geometry)

  Converts a `Geometry` to its Well-known Text representation.

  Parameters:
    `geometry` - a `Geometry` to process
  Returns:
    a <Geometry Tagged Text> string (see the OpenGIS Simple Features Specification)

### write

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

  Converts a `Geometry` to its Well-known Text representation.

  Parameters:
    `geometry` - a `Geometry` to process
  Returns:
    a <Geometry Tagged Text> string (see the OpenGIS Simple Features Specification)
  Throws:
    `java.io.IOException`

### writeFormatted

    public java.lang.String writeFormatted(Geometry geometry)

  Same as `write`, but with newlines and spaces to make the well-known text more readable.

  Parameters:
    `geometry` - a `Geometry` to process
  Returns:
    a <Geometry Tagged Text> string (see the OpenGIS Simple Features Specification), with newlines and spaces

### writeFormatted

    public void writeFormatted(Geometry geometry,
                               java.io.Writer writer)
                        throws java.io.IOException

  Same as `write`, but with newlines and spaces to make the well-known text more readable.

  Parameters:
    `geometry` - a `Geometry` to process
  Returns:
    a <Geometry Tagged Text> string (see the OpenGIS Simple Features Specification), with newlines and spaces
  Throws:
    `java.io.IOException`