GEOS  3.9.1dev
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private 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

 WKTWriter ()
 
 ~WKTWriter ()=default
 
std::string write (const geom::Geometry *geometry)
 Returns WKT string for the given Geometry. More...
 
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 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)
 

Protected Member Functions

void appendGeometryTaggedText (const geom::Geometry *geometry, int level, Writer *writer)
 
void appendPointTaggedText (const geom::Coordinate *coordinate, int level, Writer *writer)
 
void appendLineStringTaggedText (const geom::LineString *lineString, int level, Writer *writer)
 
void appendLinearRingTaggedText (const geom::LinearRing *lineString, int level, Writer *writer)
 
void appendPolygonTaggedText (const geom::Polygon *polygon, int level, Writer *writer)
 
void appendMultiPointTaggedText (const geom::MultiPoint *multipoint, int level, Writer *writer)
 
void appendMultiLineStringTaggedText (const geom::MultiLineString *multiLineString, int level, Writer *writer)
 
void appendMultiPolygonTaggedText (const geom::MultiPolygon *multiPolygon, int level, Writer *writer)
 
void appendGeometryCollectionTaggedText (const geom::GeometryCollection *geometryCollection, int level, Writer *writer)
 
void appendPointText (const geom::Coordinate *coordinate, int level, Writer *writer)
 
void appendCoordinate (const geom::Coordinate *coordinate, Writer *writer)
 
std::string writeNumber (double d)
 
void appendLineStringText (const geom::LineString *lineString, int level, bool doIndent, Writer *writer)
 
void appendPolygonText (const geom::Polygon *polygon, int level, bool indentFirst, Writer *writer)
 
void appendMultiPointText (const geom::MultiPoint *multiPoint, int level, Writer *writer)
 
void appendMultiLineStringText (const geom::MultiLineString *multiLineString, int level, bool indentFirst, Writer *writer)
 
void appendMultiPolygonText (const geom::MultiPolygon *multiPolygon, int level, Writer *writer)
 
void appendGeometryCollectionText (const geom::GeometryCollection *geometryCollection, int level, Writer *writer)
 

Protected Attributes

int decimalPlaces
 

Private Types

enum  { INDENT = 2 }
 

Private Member Functions

void writeFormatted (const geom::Geometry *geometry, bool isFormatted, Writer *writer)
 
void indent (int level, Writer *writer)
 

Private Attributes

bool isFormatted
 
int roundingPrecision
 
bool trim
 
int level
 
uint8_t defaultOutputDimension
 
uint8_t outputDimension
 
bool old3D
 

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.

Definition at line 80 of file WKTWriter.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
INDENT 

Definition at line 251 of file WKTWriter.h.

Constructor & Destructor Documentation

geos::io::WKTWriter::WKTWriter ( )
geos::io::WKTWriter::~WKTWriter ( )
default

Member Function Documentation

void geos::io::WKTWriter::appendCoordinate ( const geom::Coordinate coordinate,
Writer writer 
)
protected
void geos::io::WKTWriter::appendGeometryCollectionTaggedText ( const geom::GeometryCollection geometryCollection,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendGeometryCollectionText ( const geom::GeometryCollection geometryCollection,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendGeometryTaggedText ( const geom::Geometry geometry,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendLinearRingTaggedText ( const geom::LinearRing lineString,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendLineStringTaggedText ( const geom::LineString lineString,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendLineStringText ( const geom::LineString lineString,
int  level,
bool  doIndent,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiLineStringTaggedText ( const geom::MultiLineString multiLineString,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiLineStringText ( const geom::MultiLineString multiLineString,
int  level,
bool  indentFirst,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiPointTaggedText ( const geom::MultiPoint multipoint,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiPointText ( const geom::MultiPoint multiPoint,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiPolygonTaggedText ( const geom::MultiPolygon multiPolygon,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendMultiPolygonText ( const geom::MultiPolygon multiPolygon,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendPointTaggedText ( const geom::Coordinate coordinate,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendPointText ( const geom::Coordinate coordinate,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendPolygonTaggedText ( const geom::Polygon polygon,
int  level,
Writer writer 
)
protected
void geos::io::WKTWriter::appendPolygonText ( const geom::Polygon polygon,
int  level,
bool  indentFirst,
Writer writer 
)
protected
int geos::io::WKTWriter::getOutputDimension ( ) const
inline

Definition at line 165 of file WKTWriter.h.

void geos::io::WKTWriter::indent ( int  level,
Writer writer 
)
private
void geos::io::WKTWriter::setOld3D ( bool  useOld3D)
inline

Enable old style 3D/4D WKT generation.

By default the WKBWriter 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

Definition at line 154 of file WKTWriter.h.

void geos::io::WKTWriter::setOutputDimension ( uint8_t  newOutputDimension)
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
void geos::io::WKTWriter::setTrim ( bool  p0)

Enables/disables trimming of unnecessary decimals

Parameters
p0the trim boolean
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
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
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
std::string geos::io::WKTWriter::write ( const geom::Geometry geometry)

Returns WKT string for the given Geometry.

void geos::io::WKTWriter::write ( const geom::Geometry geometry,
Writer writer 
)
std::string geos::io::WKTWriter::writeFormatted ( const geom::Geometry geometry)
void geos::io::WKTWriter::writeFormatted ( const geom::Geometry geometry,
Writer writer 
)
void geos::io::WKTWriter::writeFormatted ( const geom::Geometry geometry,
bool  isFormatted,
Writer writer 
)
private
std::string geos::io::WKTWriter::writeNumber ( double  d)
protected

Member Data Documentation

int geos::io::WKTWriter::decimalPlaces
protected

Definition at line 181 of file WKTWriter.h.

uint8_t geos::io::WKTWriter::defaultOutputDimension
private

Definition at line 265 of file WKTWriter.h.

bool geos::io::WKTWriter::isFormatted
private

Definition at line 257 of file WKTWriter.h.

int geos::io::WKTWriter::level
private

Definition at line 263 of file WKTWriter.h.

bool geos::io::WKTWriter::old3D
private

Definition at line 267 of file WKTWriter.h.

uint8_t geos::io::WKTWriter::outputDimension
private

Definition at line 266 of file WKTWriter.h.

int geos::io::WKTWriter::roundingPrecision
private

Definition at line 259 of file WKTWriter.h.

bool geos::io::WKTWriter::trim
private

Definition at line 261 of file WKTWriter.h.


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