Package org.h2.util.geometry
Class EWKBUtils
java.lang.Object
org.h2.util.geometry.EWKBUtils
EWKB format support for GEOMETRY data type.
This class provides limited support of EWKB. EWKB is based on Well-known Binary Representation (WKB) from OGC 06-103r4 and includes additional PostGIS extensions. This class can read dimension system marks in both OGC WKB and EWKB formats, but always writes them in EWKB format. SRID support from EWKB is implemented. As an addition POINT EMPTY is stored with NaN values as specified in OGC 12-128r15.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConverter output target that writes a EWKB. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]envelope2wkb(double[] envelope) Converts an envelope to a WKB.static byte[]ewkb2ewkb(byte[] ewkb) Converts any supported EWKB to EWKB representation that is used by this class.static byte[]ewkb2ewkb(byte[] ewkb, int dimensionSystem) Converts any supported EWKB to EWKB representation that is used by this class.static intgetDimensionSystem(byte[] ewkb) Reads the dimension system from EWKB.static voidparseEWKB(byte[] ewkb, GeometryUtils.Target target) Parses a EWKB.static inttype2dimensionSystem(int type) Converts geometry type with flags to a dimension system.
-
Field Details
-
EWKB_Z
public static final int EWKB_ZGeometry type mask that indicates presence of dimension Z.- See Also:
-
EWKB_M
public static final int EWKB_MGeometry type mask that indicates presence of dimension M.- See Also:
-
EWKB_SRID
public static final int EWKB_SRIDGeometry type mask that indicates presence of SRID.- See Also:
-
-
Method Details
-
ewkb2ewkb
public static byte[] ewkb2ewkb(byte[] ewkb) Converts any supported EWKB to EWKB representation that is used by this class. Reduces dimension system to minimal possible and uses EWKB flags for dimension system indication. May also perform other changes.- Parameters:
ewkb- source EWKB- Returns:
- canonical EWKB, may be the same as the source
-
ewkb2ewkb
public static byte[] ewkb2ewkb(byte[] ewkb, int dimensionSystem) Converts any supported EWKB to EWKB representation that is used by this class. Reduces dimension system to minimal possible and uses EWKB flags for dimension system indication. May also perform other changes.- Parameters:
ewkb- source EWKBdimensionSystem- dimension system- Returns:
- canonical EWKB, may be the same as the source
-
parseEWKB
Parses a EWKB.- Parameters:
ewkb- EWKB representationtarget- output target
-
type2dimensionSystem
public static int type2dimensionSystem(int type) Converts geometry type with flags to a dimension system.- Parameters:
type- geometry type with flags- Returns:
- dimension system
-
getDimensionSystem
public static int getDimensionSystem(byte[] ewkb) Reads the dimension system from EWKB.- Parameters:
ewkb- EWKB- Returns:
- the dimension system
-
envelope2wkb
public static byte[] envelope2wkb(double[] envelope) Converts an envelope to a WKB.- Parameters:
envelope- envelope, or null- Returns:
- WKB, or null
-