Package org.h2.value

# Class ValueGeometry

java.lang.Object
org.h2.value.VersionedValue<Value>
org.h2.value.Value
org.h2.value.ValueGeometry

All Implemented Interfaces:
  `HasSQL`, `Typed`

public final class ValueGeometry extends Value
Implementation of the GEOMETRY data type.

## Field Summary

### Fields inherited from class org.h2.value.Value

`ARRAY, ASSIGN_TO, BIGINT, BINARY, BLOB, BOOLEAN, CAST_TO, CHAR, CLOB, CONVERT_TO, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MAX_LONG_DECIMAL, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

## Method Summary

Modifier and Type
Method
Description
`final int`
`compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)`
Compare this value against another value given that the values are of the same data type.
`final boolean`
`equals(Object other)`
Check if the two values have the same hash code.
`static Value`
`fromEnvelope(double[] envelope)`
Creates a geometry value for the given envelope.
`static ValueGeometry`
`get(byte[] bytes)`
Get or create a geometry value for the given internal EWKB representation.
`static ValueGeometry`
`get(String s)`
Get or create a geometry value for the given geometry.
`final byte[]`
`getBytes()`
`final byte[]`
`getBytesNoCopy()`
`int`
`getDimensionSystem()`
Return a minimal dimension system that can be used for this geometry.
`double[]`
`getEnvelopeNoCopy()`
Return an envelope of this geometry.
`Value`
`getEnvelopeUnion(ValueGeometry r)`
Get the union.
`static ValueGeometry`
`getFromEWKB(byte[] bytes)`
Get or create a geometry value for the given EWKB value.
`static ValueGeometry`
`getFromGeometry(Object o)`
Get or create a geometry value for the given geometry.
`org.locationtech.jts.geom.Geometry`
`getGeometry()`
Get a copy of geometry object.
`int`
`getGeometryType()`
Returns geometry type.
`int`
`getMemory()`
Get the memory used by this object.
`StringBuilder`
`getSQL(StringBuilder builder, int sqlFlags)`
Appends the SQL statement of this object to the specified builder.
`int`
`getSRID()`
Return a spatial reference system identifier.
`String`
`getString()`
Get the value as a string.
`TypeInfo`
`getType()`
Returns the data type.
`int`
`getTypeAndDimensionSystem()`
Returns geometry type and dimension system in OGC geometry code format (type + dimensionSystem * 1000).
`int`
`getValueType()`
Get the value type.
`final int`
`hashCode()`
`boolean`
`intersectsBoundingBox(ValueGeometry r)`
Test if this geometry envelope intersects with the other geometry envelope.

### Methods inherited from class org.h2.value.Value

`add, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyJson, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToJson, convertToLong, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBigInteger, getBoolean, getByte, getDouble, getFloat, getHigherOrder, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueWithFirstNull, isFalse, isTrue, modulus, multiply, negate, octetLength, subtract, toString`

### Methods inherited from class org.h2.value.VersionedValue

`getCommittedValue, getCurrentValue, getOperationId, isCommitted`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getSQL, getTraceSQL`

## Method Details

### getFromGeometry

public static ValueGeometry getFromGeometry(Object o)
Get or create a geometry value for the given geometry.

Parameters:
  `o` - the geometry object (of type org.locationtech.jts.geom.Geometry)
Returns:
  the value

### get

public static ValueGeometry get(String s)
Get or create a geometry value for the given geometry.

Parameters:
  `s` - the WKT or EWKT representation of the geometry
Returns:
  the value

### get

public static ValueGeometry get(byte[] bytes)
Get or create a geometry value for the given internal EWKB representation.

Parameters:
  `bytes` - the WKB representation of the geometry. May not be modified.
Returns:
  the value

### getFromEWKB

public static ValueGeometry getFromEWKB(byte[] bytes)
Get or create a geometry value for the given EWKB value.

Parameters:
  `bytes` - the WKB representation of the geometry
Returns:
  the value

### fromEnvelope

public static Value fromEnvelope(double[] envelope)
Creates a geometry value for the given envelope.

Parameters:
  `envelope` - envelope. May not be modified.
Returns:
  the value

### getGeometry

public org.locationtech.jts.geom.Geometry getGeometry()
Get a copy of geometry object. Geometry object is mutable. The returned object is therefore copied before returning.

Returns:
  a copy of the geometry object

### getTypeAndDimensionSystem

public int getTypeAndDimensionSystem()
Returns geometry type and dimension system in OGC geometry code format (type + dimensionSystem * 1000).

Returns:
  geometry type and dimension system

### getGeometryType

public int getGeometryType()
Returns geometry type.

Returns:
  geometry type and dimension system

### getDimensionSystem

public int getDimensionSystem()
Return a minimal dimension system that can be used for this geometry.

Returns:
  dimension system

### getSRID

public int getSRID()
Return a spatial reference system identifier.

Returns:
  spatial reference system identifier

### getEnvelopeNoCopy

public double[] getEnvelopeNoCopy()
Return an envelope of this geometry. Do not modify the returned value.

Returns:
  envelope of this geometry

### intersectsBoundingBox

public boolean intersectsBoundingBox(ValueGeometry r)
Test if this geometry envelope intersects with the other geometry envelope.

Parameters:
  `r` - the other geometry
Returns:
  true if the two overlap

### getEnvelopeUnion

public Value getEnvelopeUnion(ValueGeometry r)
Get the union.

Parameters:
  `r` - the other geometry
Returns:
  the union of this geometry envelope and another geometry envelope

### getType

public TypeInfo getType()
Description copied from interface: `Typed`
Returns the data type.

Specified by:
  `getType` in interface `Typed`
Specified by:
  `getType` in class `Value`
Returns:
  the data type

### getValueType

public int getValueType()
Description copied from class: `Value`
Get the value type.

Specified by:
  `getValueType` in class `Value`
Returns:
  the value type

### getSQL

public StringBuilder getSQL(StringBuilder builder, int sqlFlags)
Description copied from interface: `HasSQL`
Appends the SQL statement of this object to the specified builder.

Specified by:
  `getSQL` in interface `HasSQL`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder

### getString

public String getString()
Description copied from class: `Value`
Get the value as a string.

Specified by:
  `getString` in class `Value`
Returns:
  the string

### getMemory

public int getMemory()
Description copied from class: `Value`
Get the memory used by this object.

Returns:
  the memory used in bytes

### getBytes

public final byte[] getBytes()

Overrides:
  `getBytes` in class `Value`

### getBytesNoCopy

public final byte[] getBytesNoCopy()

Overrides:
  `getBytesNoCopy` in class `Value`

### compareTypeSafe

public final int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
Description copied from class: `Value`
Compare this value against another value given that the values are of the same data type.

Specified by:
  `compareTypeSafe` in class `Value`
Parameters:
  `v` - the other value
  `mode` - the compare mode
  `provider` - the cast information provider
Returns:
  0 if both values are equal, -1 if the other value is smaller, and 1 otherwise

### hashCode

public final int hashCode()

Specified by:
  `hashCode` in class `Value`

### equals

public final boolean equals(Object other)
Description copied from class: `Value`
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.

Specified by:
  `equals` in class `Value`
Parameters:
  `other` - the other value
Returns:
  true if they are equal