23 #include <geos/export.h>
24 #include <geos/io/OrdinateSet.h>
32 #pragma warning(disable: 4251)
41 class CoordinateSequence;
43 class GeometryCollection;
49 class MultiLineString;
101 void writeFormatted(
const geom::Geometry* geometry, Writer* writer);
130 static std::string toPoint(
const geom::CoordinateXY& p0);
158 removeEmptyDimensions = remove;
183 getOutputDimension()
const
185 return defaultOutputDimension;
196 void setOutputDimension(uint8_t newOutputDimension);
198 static std::string writeNumber(
double d,
bool trim, uint32_t precision);
199 static int writeTrimmedNumber(
double d, uint32_t precision,
char* buf);
205 void appendGeometryTaggedText(
207 OrdinateSet outputOrdinates,
209 Writer& writer)
const;
211 void appendPointTaggedText(
213 OrdinateSet outputOrdinates,
214 int level, Writer& writer)
const;
216 void appendLineStringTaggedText(
218 OrdinateSet outputOrdinates,
219 int level, Writer& writer)
const;
221 void appendLinearRingTaggedText(
223 OrdinateSet outputOrdinates,
224 int level, Writer& writer)
const;
226 void appendPolygonTaggedText(
228 OrdinateSet outputOrdinates,
229 int level, Writer& writer)
const;
231 void appendMultiPointTaggedText(
233 OrdinateSet outputOrdinates,
234 int level, Writer& writer)
const;
236 void appendMultiLineStringTaggedText(
238 OrdinateSet outputOrdinates,
239 int level, Writer& writer)
const;
241 void appendMultiPolygonTaggedText(
243 OrdinateSet outputOrdinates,
244 int level, Writer& writer)
const;
246 void appendGeometryCollectionTaggedText(
248 OrdinateSet outputOrdinates,
249 int level, Writer& writer)
const;
251 void appendOrdinateText(OrdinateSet outputOrdinates,
252 Writer& writer)
const;
255 OrdinateSet outputOrdinates,
258 Writer& writer)
const;
260 void appendCoordinate(
const geom::CoordinateXYZM& coordinate,
261 OrdinateSet outputOrdinates,
262 Writer& writer)
const;
264 std::string writeNumber(
double d)
const;
266 void appendLineStringText(
268 OrdinateSet outputOrdinates,
269 int level,
bool doIndent, Writer& writer)
const;
271 void appendPolygonText(
273 OrdinateSet outputOrdinates,
274 int level,
bool indentFirst, Writer& writer)
const;
276 void appendMultiPointText(
278 OrdinateSet outputOrdinates,
279 int level, Writer& writer)
const;
281 void appendMultiLineStringText(
283 OrdinateSet outputOrdinates,
284 int level,
bool indentFirst, Writer& writer)
const;
286 void appendMultiPolygonText(
288 OrdinateSet outputOrdinates,
289 int level, Writer& writer)
const;
291 void appendGeometryCollectionText(
293 OrdinateSet outputOrdinates,
294 int level, Writer& writer)
const;
306 int roundingPrecision;
310 bool removeEmptyDimensions =
false;
314 static constexpr
int coordsPerLine = 10;
316 uint8_t defaultOutputDimension;
320 const geom::Geometry* geometry,
321 bool isFormatted, Writer* writer);
323 void indent(
int level, Writer* writer)
const;
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:216
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:51
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Definition: LineString.h:65
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition: LinearRing.h:54
Models a collection of LineStrings.
Definition: MultiLineString.h:49
Definition: MultiPoint.h:50
Definition: MultiPolygon.h:58
Represents a linear polygon, which may include holes.
Definition: Polygon.h:60
Outputs the textual representation of a Geometry. See also WKTReader.
Definition: WKTWriter.h:83
static std::string toPoint(const geom::Coordinate &p0)
static std::string toLineString(const geom::Coordinate &p0, const geom::Coordinate &p1)
void setOld3D(bool useOld3D)
Definition: WKTWriter.h:172
void setRoundingPrecision(int p0)
std::string write(const geom::Geometry *geometry)
Returns WKT string for the given Geometry.
void setRemoveEmptyDimensions(bool remove)
setRemoveEmptyDimensions
Definition: WKTWriter.h:156
static std::string toLineString(const geom::CoordinateSequence &seq)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25