Class EWKBUtils

java.lang.Object
org.h2.util.geometry.EWKBUtils

public final class EWKBUtils extends Object
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 Classes
    Modifier and Type
    Class
    Description
    static final class 
    Converter output target that writes a EWKB.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Geometry type mask that indicates presence of dimension M.
    static final int
    Geometry type mask that indicates presence of SRID.
    static final int
    Geometry type mask that indicates presence of dimension Z.
  • Method Summary

    Modifier and Type
    Method
    Description
    static 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 int
    getDimensionSystem(byte[] ewkb)
    Reads the dimension system from EWKB.
    static void
    parseEWKB(byte[] ewkb, GeometryUtils.Target target)
    Parses a EWKB.
    static int
    Converts geometry type with flags to a dimension system.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • EWKB_Z

      public static final int EWKB_Z
      Geometry type mask that indicates presence of dimension Z.
      See Also:
    • EWKB_M

      public static final int EWKB_M
      Geometry type mask that indicates presence of dimension M.
      See Also:
    • EWKB_SRID

      public static final int EWKB_SRID
      Geometry 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 EWKB
      dimensionSystem - dimension system
      Returns:
      canonical EWKB, may be the same as the source
    • parseEWKB

      public static void parseEWKB(byte[] ewkb, GeometryUtils.Target target)
      Parses a EWKB.
      Parameters:
      ewkb - EWKB representation
      target - 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