Package org.h2.value

Class ValueGeometry

  • All Implemented Interfaces:
    HasSQL, Typed

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

      • getFromGeometry

        public static ValueGeometry getFromGeometry​(java.lang.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​(java.lang.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 java.lang.StringBuilder getSQL​(java.lang.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 java.lang.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​(java.lang.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