Package org.h2.util.geometry

# Class GeometryUtils

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

public final class GeometryUtils extends Object
Utilities for GEOMETRY data type.

## Nested Class Summary

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

## Field Summary

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

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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