JTS Topology Suite version 1.12

com.vividsolutions.jts.io
Class WKTWriter

java.lang.Object
  extended by 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. See WKTReader for a formal specification of the format syntax.

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 LinearRings. Under the spec, rings are output as LINESTRINGs. In order to allow precisely specifying constructed geometries, JTS also 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 Geometrys 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 Geometrys 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 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
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 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
Throws:
java.io.IOException

JTS Topology Suite version 1.12