org.h2.util.geometry

## Class GeometryUtils

- java.lang.Object
- - org.h2.util.geometry.GeometryUtils

    public final class GeometryUtils
    extends java.lang.Object

Utilities for GEOMETRY data type.

### Nested Class Summary

Nested Classes
`static class` `GeometryUtils.DimensionSystemTarget` Converter output target that determines minimal dimension system for a geometry.
`static class` `GeometryUtils.EnvelopeTarget` Converter output target that calculates an envelope.
`static class` `GeometryUtils.Target` Converter output target.

### Field Summary

Fields
`static int` `DIMENSION_SYSTEM_XY` Code of 2D (XY) dimension system.
`static int` `DIMENSION_SYSTEM_XYM` Code of M (XYM) dimension system.
`static int` `DIMENSION_SYSTEM_XYZ` Code of Z (XYZ) dimension system.
`static int` `DIMENSION_SYSTEM_XYZM` Code of ZM (XYZM) dimension system.
`static int` `GEOMETRY_COLLECTION` GEOMETRYCOLLECTION geometry type.
`static int` `LINE_STRING` LINESTRING geometry type.
`static int` `M` Number of M coordinate.
`static int` `MAX_X` Maximum X coordinate index.
`static int` `MAX_Y` Maximum Y coordinate index.
`static int` `MIN_X` Minimum X coordinate index.
`static int` `MIN_Y` Minimum Y coordinate index.
`static int` `MULTI_LINE_STRING` MULTILINESTRING geometry type.
`static int` `MULTI_POINT` MULTIPOINT geometry type.
`static int` `MULTI_POLYGON` MULTIPOLYGON geometry type.
`static int` `POINT` POINT geometry type.
`static int` `POLYGON` POLYGON geometry type.
`static int` `X` Number of X coordinate.
`static int` `Y` Number of Y coordinate.
`static int` `Z` Number of Z coordinate.

### Method Summary

All Methods Static Methods Concrete Methods
`static double[]` `getEnvelope(byte[] ewkb)` Calculates an envelope of a specified geometry.
`static boolean` `intersects(double[] envelope1, double[] envelope2)` Checks whether two envelopes intersect with each other.
`static double[]` `union(double[] envelope1, double[] envelope2)` Returns union of two envelopes.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### POINT

    public static final int POINT

POINT geometry type.

See Also:
  Constant Field Values

#### LINE_STRING

    public static final int LINE_STRING

LINESTRING geometry type.

See Also:
  Constant Field Values

#### POLYGON

    public static final int POLYGON

POLYGON geometry type.

See Also:
  Constant Field Values

#### MULTI_POINT

    public static final int MULTI_POINT

MULTIPOINT geometry type.

See Also:
  Constant Field Values

#### MULTI_LINE_STRING

    public static final int MULTI_LINE_STRING

MULTILINESTRING geometry type.

See Also:
  Constant Field Values

#### MULTI_POLYGON

    public static final int MULTI_POLYGON

MULTIPOLYGON geometry type.

See Also:
  Constant Field Values

#### GEOMETRY_COLLECTION

    public static final int GEOMETRY_COLLECTION

GEOMETRYCOLLECTION geometry type.

See Also:
  Constant Field Values

#### X

    public static final int X

Number of X coordinate.

See Also:
  Constant Field Values

#### Y

    public static final int Y

Number of Y coordinate.

See Also:
  Constant Field Values

#### Z

    public static final int Z

Number of Z coordinate.

See Also:
  Constant Field Values

#### M

    public static final int M

Number of M coordinate.

See Also:
  Constant Field Values

#### DIMENSION_SYSTEM_XY

    public static final int DIMENSION_SYSTEM_XY

Code of 2D (XY) dimension system.

See Also:
  Constant Field Values

#### DIMENSION_SYSTEM_XYZ

    public static final int DIMENSION_SYSTEM_XYZ

Code of Z (XYZ) dimension system. Can also be used in bit masks to determine presence of dimension Z.

See Also:
  Constant Field Values

#### DIMENSION_SYSTEM_XYM

    public static final int DIMENSION_SYSTEM_XYM

Code of M (XYM) dimension system. Can also be used in bit masks to determine presence of dimension M.

See Also:
  Constant Field Values

#### DIMENSION_SYSTEM_XYZM

    public static final int DIMENSION_SYSTEM_XYZM

Code of ZM (XYZM) dimension system. Can be also combined from `DIMENSION_SYSTEM_XYZ` and `DIMENSION_SYSTEM_XYM` using bitwise OR.

See Also:
  Constant Field Values

#### MIN_X

    public static final int MIN_X

Minimum X coordinate index.

See Also:
  Constant Field Values

#### MAX_X

    public static final int MAX_X

Maximum X coordinate index.

See Also:
  Constant Field Values

#### MIN_Y

    public static final int MIN_Y

Minimum Y coordinate index.

See Also:
  Constant Field Values

#### MAX_Y

    public static final int MAX_Y

Maximum Y coordinate index.

See Also:
  Constant Field Values

### Method Detail

#### getEnvelope

    public static double[] getEnvelope(byte[] ewkb)

Calculates an envelope of a specified geometry.

Parameters:
  `ewkb` - EWKB of a geometry
Returns:
  envelope, or null

#### intersects

    public static boolean intersects(double[] envelope1,
                                     double[] envelope2)

Checks whether two envelopes intersect with each other.

Parameters:
  `envelope1` - first envelope, or null
  `envelope2` - second envelope, or null
Returns:
  whether the specified envelopes intersects

#### union

    public static double[] union(double[] envelope1,
                                 double[] envelope2)

Returns union of two envelopes. This method does not modify the specified envelopes, but may return one of them as a result.

Parameters:
  `envelope1` - first envelope, or null
  `envelope2` - second envelope, or null
Returns:
  union of two envelopes