20 #ifndef GEOS_IO_WKBREADER_H
21 #define GEOS_IO_WKBREADER_H
23 #include <geos/export.h>
25 #include <geos/io/ByteOrderDataInStream.h>
32 #define BAD_GEOM_TYPE_MSG "Bad geometry type encountered in"
36 #pragma warning(disable: 4251)
43 class GeometryFactory;
46 class GeometryCollection;
52 class MultiLineString;
55 class CoordinateSequence;
97 std::unique_ptr<geom::Geometry>
read(std::istream& is);
108 std::unique_ptr<geom::Geometry>
read(
const unsigned char* buf,
size_t size);
118 std::unique_ptr<geom::Geometry>
readHEX(std::istream& is);
126 static std::ostream&
printHEX(std::istream& is, std::ostream& os);
133 unsigned int inputDimension;
139 std::array<double, 4> ordValues;
141 std::unique_ptr<geom::Geometry> readGeometry();
143 std::unique_ptr<geom::Point> readPoint();
145 std::unique_ptr<geom::LineString> readLineString();
147 std::unique_ptr<geom::LinearRing> readLinearRing();
149 std::unique_ptr<geom::Polygon> readPolygon();
151 std::unique_ptr<geom::MultiPoint> readMultiPoint();
153 std::unique_ptr<geom::MultiLineString> readMultiLineString();
155 std::unique_ptr<geom::MultiPolygon> readMultiPolygon();
157 std::unique_ptr<geom::GeometryCollection> readGeometryCollection();
159 std::unique_ptr<geom::CoordinateSequence> readCoordinateSequence(
unsigned int);
161 void minMemSize(
int geomType, uint64_t size);
163 void readCoordinate();
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Allows reading an stream of primitive datatypes from an underlying istream, with the representation b...
Definition: ByteOrderDataInStream.h:42
Reads a Geometry from Well-Known Binary format.
Definition: WKBReader.h:80
std::unique_ptr< geom::Geometry > read(const unsigned char *buf, size_t size)
Reads a Geometry from a buffer.
std::unique_ptr< geom::Geometry > readHEX(std::istream &is)
Reads a Geometry from an istream in hex format.
WKBReader()
Inizialize parser with default GeometryFactory.
static std::ostream & printHEX(std::istream &is, std::ostream &os)
Print WKB in HEX form to out stream.
std::unique_ptr< geom::Geometry > read(std::istream &is)
Reads a Geometry from an istream.
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26