GEOS  3.13.0dev
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
geos::io::WKTWriter Class Reference

Outputs the textual representation of a Geometry. See also WKTReader. More...

#include <WKTWriter.h>

Public Member Functions

std::string write (const geom::Geometry *geometry)
 Returns WKT string for the given Geometry.
 
std::string write (const geom::Geometry &geometry)
 
void write (const geom::Geometry *geometry, Writer *writer)
 
std::string writeFormatted (const geom::Geometry *geometry)
 
void writeFormatted (const geom::Geometry *geometry, Writer *writer)
 
void setRoundingPrecision (int p0)
 
void setTrim (bool p0)
 
void setRemoveEmptyDimensions (bool remove)
 setRemoveEmptyDimensions More...
 
void setOld3D (bool useOld3D)
 
int getOutputDimension () const
 
void setOutputDimension (uint8_t newOutputDimension)
 

Static Public Member Functions

static std::string toLineString (const geom::CoordinateSequence &seq)
 
static std::string toLineString (const geom::Coordinate &p0, const geom::Coordinate &p1)
 
static std::string toPoint (const geom::Coordinate &p0)
 
static std::string toPoint (const geom::CoordinateXY &p0)
 
static std::string writeNumber (double d, bool trim, uint32_t precision)
 
static int writeTrimmedNumber (double d, uint32_t precision, char *buf)
 

Protected Member Functions

void appendGeometryTaggedText (const geom::Geometry &geometry, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendPointTaggedText (const geom::Point &point, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendLineStringTaggedText (const geom::LineString &lineString, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendLinearRingTaggedText (const geom::LinearRing &lineString, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendPolygonTaggedText (const geom::Polygon &polygon, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendMultiPointTaggedText (const geom::MultiPoint &multipoint, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendMultiLineStringTaggedText (const geom::MultiLineString &multiLineString, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendMultiPolygonTaggedText (const geom::MultiPolygon &multiPolygon, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendGeometryCollectionTaggedText (const geom::GeometryCollection &geometryCollection, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendOrdinateText (OrdinateSet outputOrdinates, Writer &writer) const
 
void appendSequenceText (const geom::CoordinateSequence &seq, OrdinateSet outputOrdinates, int level, bool doIntent, Writer &writer) const
 
void appendCoordinate (const geom::CoordinateXYZM &coordinate, OrdinateSet outputOrdinates, Writer &writer) const
 
std::string writeNumber (double d) const
 
void appendLineStringText (const geom::LineString &lineString, OrdinateSet outputOrdinates, int level, bool doIndent, Writer &writer) const
 
void appendPolygonText (const geom::Polygon &polygon, OrdinateSet outputOrdinates, int level, bool indentFirst, Writer &writer) const
 
void appendMultiPointText (const geom::MultiPoint &multiPoint, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendMultiLineStringText (const geom::MultiLineString &multiLineString, OrdinateSet outputOrdinates, int level, bool indentFirst, Writer &writer) const
 
void appendMultiPolygonText (const geom::MultiPolygon &multiPolygon, OrdinateSet outputOrdinates, int level, Writer &writer) const
 
void appendGeometryCollectionText (const geom::GeometryCollection &geometryCollection, OrdinateSet outputOrdinates, int level, Writer &writer) const
 

Protected Attributes

int decimalPlaces
 

Detailed Description

Outputs the textual representation of a Geometry. See also WKTReader.

The WKTWriter outputs coordinates rounded to the precision model. No more than the maximum number of necessary decimal places will be output.

The Well-known Text format is defined in the OpenGIS Simple Features Specification for SQL.

A non-standard "LINEARRING" tag is used for LinearRings. The WKT spec does not define a special tag for LinearRings. The standard tag to use is "LINESTRING".

See WKTReader for parsing.

Member Function Documentation

◆ setOld3D()

void geos::io::WKTWriter::setOld3D ( bool  useOld3D)
inline

Enable old style 3D/4D WKT generation.

By default the WKTWriter produces new style 3D/4D WKT (ie. "POINT Z (10 20 30)") but if this method is used to turn on old style WKT production then the WKT will be formatted in the style "POINT (10 20 30)".

Parameters
useOld3Dtrue or false

◆ setRemoveEmptyDimensions()

void geos::io::WKTWriter::setRemoveEmptyDimensions ( bool  remove)
inline

setRemoveEmptyDimensions

Enables/disables removal of Z/M dimensions that have no non-NaN values in a geometry.

Parameters
remove

◆ setRoundingPrecision()

void geos::io::WKTWriter::setRoundingPrecision ( int  p0)

Sets the rounding precision when writing the WKT a precision of -1 disables it

Parameters
p0the new precision to use

◆ setTrim()

void geos::io::WKTWriter::setTrim ( bool  p0)

Enables/disables trimming of unnecessary decimals

Parameters
p0the trim boolean

◆ toLineString() [1/2]

static std::string geos::io::WKTWriter::toLineString ( const geom::Coordinate p0,
const geom::Coordinate p1 
)
static

Generates the WKT for a 2-point LineString.

Parameters
p0the first coordinate
p1the second coordinate
Returns
the WKT

◆ toLineString() [2/2]

static std::string geos::io::WKTWriter::toLineString ( const geom::CoordinateSequence seq)
static

Generates the WKT for a N-point LineString.

Parameters
seqthe sequence to outpout
Returns
the WKT

◆ toPoint()

static std::string geos::io::WKTWriter::toPoint ( const geom::Coordinate p0)
static

Generates the WKT for a Point.

Parameters
p0the point coordinate
Returns
the WKT

The documentation for this class was generated from the following file: