GEOS
3.9.1dev
|
Writes a Geometry into Well-Known Binary format. More...
#include <WKBWriter.h>
Public Member Functions | |
WKBWriter (uint8_t dims=2, int bo=getMachineByteOrder(), bool includeSRID=false) | |
virtual | ~WKBWriter ()=default |
virtual uint8_t | getOutputDimension () const |
virtual void | setOutputDimension (uint8_t newOutputDimension) |
virtual int | getByteOrder () const |
virtual void | setByteOrder (int newByteOrder) |
virtual bool | getIncludeSRID () const |
virtual void | setIncludeSRID (bool newIncludeSRID) |
void | write (const geom::Geometry &g, std::ostream &os) |
Write a Geometry to an ostream. More... | |
void | writeHEX (const geom::Geometry &g, std::ostream &os) |
Write a Geometry to an ostream in binary hex format. More... | |
Private Member Functions | |
void | writePoint (const geom::Point &p) |
void | writePointEmpty (const geom::Point &p) |
void | writeLineString (const geom::LineString &ls) |
void | writePolygon (const geom::Polygon &p) |
void | writeGeometryCollection (const geom::GeometryCollection &c, int wkbtype) |
void | writeCoordinateSequence (const geom::CoordinateSequence &cs, bool sized) |
void | writeCoordinate (const geom::CoordinateSequence &cs, size_t idx, bool is3d) |
void | writeGeometryType (int geometryType, int SRID) |
void | writeSRID (int SRID) |
void | writeByteOrder () |
void | writeInt (int intValue) |
Private Attributes | |
uint8_t | defaultOutputDimension |
uint8_t | outputDimension |
int | byteOrder |
bool | includeSRID |
std::ostream * | outStream |
unsigned char | buf [8] |
Writes a Geometry into Well-Known Binary format.
The WKB format is specified in the OGC Simple Features for SQL specification. This implementation supports the extended WKB standard for representing 3-dimensional coordinates. The presence of 3D coordinates is signified by setting the high bit of the wkbType word.
Empty Points cannot be represented in WKB; an IllegalArgumentException will be thrown if one is written. The WKB specification does not support representing LinearRing they will be written as LineString
This class is designed to support reuse of a single instance to read multiple geometries. This class is not thread-safe; each thread should create its own instance.
Definition at line 73 of file WKBWriter.h.
geos::io::WKBWriter::WKBWriter | ( | uint8_t | dims = 2 , |
int | bo = getMachineByteOrder() , |
||
bool | includeSRID = false |
||
) |
|
virtualdefault |
|
inlinevirtual |
Definition at line 122 of file WKBWriter.h.
|
inlinevirtual |
Definition at line 139 of file WKBWriter.h.
|
inlinevirtual |
Definition at line 102 of file WKBWriter.h.
|
virtual |
|
inlinevirtual |
Definition at line 149 of file WKBWriter.h.
|
virtual |
void geos::io::WKBWriter::write | ( | const geom::Geometry & | g, |
std::ostream & | os | ||
) |
Write a Geometry to an ostream.
g | the geometry to write |
os | the output stream |
IOException |
|
private |
|
private |
|
private |
|
private |
|
private |
void geos::io::WKBWriter::writeHEX | ( | const geom::Geometry & | g, |
std::ostream & | os | ||
) |
Write a Geometry to an ostream in binary hex format.
g | the geometry to write |
os | the output stream |
IOException |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 185 of file WKBWriter.h.
|
private |
Definition at line 179 of file WKBWriter.h.
|
private |
Definition at line 176 of file WKBWriter.h.
|
private |
Definition at line 181 of file WKBWriter.h.
|
private |
Definition at line 177 of file WKBWriter.h.
|
private |
Definition at line 183 of file WKBWriter.h.