Interface Bounds

  • All Known Subinterfaces:
    BoundingBox, BoundingBox3D
    All Known Implementing Classes:
    AbstractBounds, CRSEnvelope, Envelope2DArchived, GeneralBounds, ReferencedEnvelope, ReferencedEnvelope3D

    public interface Bounds
    A minimum bounding box or rectangle. Regardless of dimension, an Envelope can be represented without ambiguity as two direct positions (coordinate points). To encode an Envelope, it is sufficient to encode these two points. This is consistent with all of the data types in this specification, their state is represented by their publicly accessible attributes.
    Since:
    GeoAPI 1.0
    Author:
    Martin Desruisseaux (IRD)
    See Also:
    GridEnvelope
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      CoordinateReferenceSystem getCoordinateReferenceSystem()
      Returns the envelope coordinate reference system, or null if unknown.
      int getDimension()
      The length of coordinate sequence (the number of entries) in this envelope.
      Position getLowerCorner()
      A coordinate position consisting of all the minimal ordinates for each dimension for all points within the Envelope.
      double getMaximum​(int dimension)
      Returns the maximal ordinate along the specified dimension.
      double getMedian​(int dimension)
      Returns the median ordinate along the specified dimension.
      double getMinimum​(int dimension)
      Returns the minimal ordinate along the specified dimension.
      double getSpan​(int dimension)
      Returns the envelope span (typically width or height) along the specified dimension.
      Position getUpperCorner()
      A coordinate position consisting of all the maximal ordinates for each dimension for all points within the Envelope.
    • Method Detail

      • getCoordinateReferenceSystem

        CoordinateReferenceSystem getCoordinateReferenceSystem()
        Returns the envelope coordinate reference system, or null if unknown. If non-null, it shall be the same as lower corner and upper corner CRS.
        Returns:
        The envelope CRS, or null if unknown.
        Since:
        GeoAPI 2.1
      • getDimension

        int getDimension()
        The length of coordinate sequence (the number of entries) in this envelope. Mandatory even when the coordinate reference system is unknown.
        Returns:
        The dimensionality of this envelope.
        Since:
        GeoAPI 2.0
      • getLowerCorner

        Position getLowerCorner()
        A coordinate position consisting of all the minimal ordinates for each dimension for all points within the Envelope.
        Returns:
        The lower corner.
      • getUpperCorner

        Position getUpperCorner()
        A coordinate position consisting of all the maximal ordinates for each dimension for all points within the Envelope.
        Returns:
        The upper corner.
      • getMinimum

        double getMinimum​(int dimension)
                   throws IndexOutOfBoundsException
        Returns the minimal ordinate along the specified dimension. This is a shortcut for the following without the cost of creating a temporary Position object:
        getLowerCorner().getOrdinate(dimension)
        Parameters:
        dimension - The dimension for which to obtain the ordinate value.
        Returns:
        The minimal ordinate at the given dimension.
        Throws:
        IndexOutOfBoundsException - If the given index is negative or is equals or greater than the envelope dimension.
        Since:
        GeoAPI 2.0
        See Also:
        RectangularShape.getMinX(), RectangularShape.getMinY()
      • getMaximum

        double getMaximum​(int dimension)
                   throws IndexOutOfBoundsException
        Returns the maximal ordinate along the specified dimension. This is a shortcut for the following without the cost of creating a temporary Position object:
        getUpperCorner().getOrdinate(dimension)
        Parameters:
        dimension - The dimension for which to obtain the ordinate value.
        Returns:
        The maximal ordinate at the given dimension.
        Throws:
        IndexOutOfBoundsException - If the given index is negative or is equals or greater than the envelope dimension.
        Since:
        GeoAPI 2.0
        See Also:
        RectangularShape.getMaxX(), RectangularShape.getMaxY()
      • getMedian

        double getMedian​(int dimension)
                  throws IndexOutOfBoundsException
        Returns the median ordinate along the specified dimension. The result should be equals (minus rounding error) to:
        (getMinimum(dimension) + getMaximum(dimension)) / 2
        Parameters:
        dimension - The dimension for which to obtain the ordinate value.
        Returns:
        The median ordinate at the given dimension.
        Throws:
        IndexOutOfBoundsException - If the given index is negative or is equals or greater than the envelope dimension.
        Since:
        GeoAPI 2.2
        See Also:
        RectangularShape.getCenterX(), RectangularShape.getCenterY()
      • getSpan

        double getSpan​(int dimension)
                throws IndexOutOfBoundsException
        Returns the envelope span (typically width or height) along the specified dimension. The result should be equals (minus rounding error) to:
        getMaximum(dimension) - getMinimum(dimension)
        Parameters:
        dimension - The dimension for which to obtain the ordinate value.
        Returns:
        The span (typically width or height) at the given dimension.
        Throws:
        IndexOutOfBoundsException - If the given index is negative or is equals or greater than the envelope dimension.
        Since:
        GeoAPI 2.2
        See Also:
        RectangularShape.getWidth(), RectangularShape.getHeight()