|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@Extension public interface BoundingBox
Represents a two-dimensional envelope.
This interface combines the ideas of GeographicBoundingBox
with
those of Envelope
. It provides convenience methods to assist
in accessing the formal properties of this object. Those methods
(for example getMinX()
) match common usage in existing libraries
like Java2D.
This object contains no additional information beyond that provided
by Envelope
.
Method Summary | |
---|---|
boolean |
contains(BoundingBox bounds)
Returns true if the provided bounds are contained by this bounding box. |
boolean |
contains(DirectPosition location)
Returns true if the provided location is contained by this bounding box. |
boolean |
contains(double x,
double y)
Returns true if the provided location is contained by this bounding box. |
double |
getHeight()
Provides the difference between minimum and maximum ordinate along the second axis. |
double |
getMaxX()
Provides the maximum ordinate along the first axis. |
double |
getMaxY()
Provides the maximum ordinate along the second axis. |
double |
getMinX()
Provides the minimum ordinate along the first axis. |
double |
getMinY()
Provides the minimum ordinate along the second axis. |
double |
getWidth()
Provides the difference between minimum and maximum ordinate along the first axis. |
void |
include(BoundingBox bounds)
Includes the provided bounding box, expanding as necesary. |
void |
include(double x,
double y)
Includes the provided coordinates, expanding as necessary. |
boolean |
intersects(BoundingBox bounds)
Returns true if the interior of this bounds intersects the interior
of the provided bounds. |
boolean |
isEmpty()
Returns true if spans along all dimension are zero
or negative. |
void |
setBounds(BoundingBox bounds)
Sets this bounding box to be the same as the specified box. |
BoundingBox |
toBounds(CoordinateReferenceSystem targetCRS)
Transforms this box to the specified CRS and returns a new bounding box for the transformed shape. |
Methods inherited from interface Envelope |
---|
getCoordinateReferenceSystem, getDimension, getLowerCorner, getMaximum, getMedian, getMinimum, getSpan, getUpperCorner |
Method Detail |
---|
void setBounds(BoundingBox bounds)
bounds
- The new bounds.double getMinX()
getMinimum(0)
.
There is no guarantee that this axis is oriented toward
East.
double getMaxX()
getMaximum(0)
.
There is no guarantee that this axis is oriented toward
East.
double getMinY()
getMinimum(1)
.
There is no guarantee that this axis is oriented toward
North.
double getMaxY()
getMaximum(1)
.
There is no guarantee that this axis is oriented toward
North.
double getWidth()
getLength(0)
.
There is no guarantee that this axis is oriented toward
East.
double getHeight()
getLength(1)
.
There is no guarantee that this axis is oriented toward
North.
boolean isEmpty()
true
if spans along all dimension are zero
or negative.
true
if this bounding box is empty.void include(BoundingBox bounds)
bounds
- The bounds to add to this geographic bounding box.void include(double x, double y)
x
- The first ordinate value.y
- The second ordinate value.boolean intersects(BoundingBox bounds)
true
if the interior of this bounds intersects the interior
of the provided bounds.
bounds
- The bounds to test for intersection.
true
if the two bounds intersect.boolean contains(BoundingBox bounds)
true
if the provided bounds are contained by this bounding box.
bounds
- The bounds to test for inclusion.
true
if the given bounds is inside this bounds.boolean contains(DirectPosition location)
true
if the provided location is contained by this bounding box.
location
- The direct position to test for inclusion.
true
if the given position is inside this bounds.boolean contains(double x, double y)
true
if the provided location is contained by this bounding box.
Note that there is no guarantee that the (x, x) values are
oriented toward (East, North),
since it depends on the envelope CRS.
x
- The first ordinate value.y
- The second ordinate value.
true
if the given position is inside this bounds.BoundingBox toBounds(CoordinateReferenceSystem targetCRS) throws TransformException
Example: if box
is a bounding box using a geographic CRS with WGS84 datum, then one can write:
Be aware thatGeographicCRS targetCRS = crsAuthorityFactory.createGeographicCRS("EPSG:4326"); BoundingBox targetBox = box.toBounds(targetCRS); double minEasting = targetBox.getMinY(); double minNorthing = targetBox.getMinX();
"EPSG:4326"
has (latitude, longitude)
axis order, thus the inversion of X and Y in the above code.
Sophesticated applications will typically provide more efficient way to perform similar transformations in their context. For example Canvas store precomputed objective to display transforms.
targetCRS
- The target CRS for the bounding box to be returned.
TransformException
- if no transformation path has been found from
this box CRS to the specified
target CRS, or if the transformation failed for an other reason.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |