public class WKBReader extends Object
Geometryfrom a byte stream in Well-Known Binary format. Supports use of an
InStream, which allows easy use with arbitrary byte stream sources.
This class reads the format describe in
It partially handles
the Extended WKB format used by PostGIS,
by parsing and storing SRID values.
Although not defined in the WKB spec, empty points
are handled if they are represented as a Point with
NaN X and Y ordinates.
The reader repairs structurally-invalid input (specifically, LineStrings and LinearRings which contain too few points have vertices added, and non-closed rings are closed).
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.
As of version 1.15, the reader can read geometries following OGC 06-103r4 speification used by Spatialite/Geopackage.
The difference between PostGIS EWKB format and the new OGC specification is that Z and M coordinates are detected with a bit mask on the higher byte in the former case (0x80 for Z and 0x40 for M) while new OGC specification use specif int ranges for 2D gemetries, Z geometries (2D code+1000), M geometries (2D code+2000) and ZM geometries (2D code+3000).
Note that the
WKBWriter is not changed and still write PostGIS WKB
for a formal format specification
|Constructor and Description|
|Modifier and Type||Method and Description|
Converts a hexadecimal string to a byte array.
Reads a single
public WKBReader(GeometryFactory geometryFactory)
public static byte hexToBytes(String hex)
hex- a string containing hex digits
public Geometry read(byte bytes) throws ParseException
Geometryin WKB format from a byte array.
bytes- the byte array to read from
ParseException- if the WKB is ill-formed
Copyright © 2020. All rights reserved.