|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.geotools.geometry.GeneralEnvelope
A minimum bounding box or rectangle. Regardless of dimension, an can be represented without ambiguity as two direct positions (coordinate points). To encode an , it is sufficient to encode these two points.
This particular implementation of is said "General" because it uses coordinates of an arbitrary dimension.
Tip: The metadata package provides a
GeographicBoundingBox
, which can be used as
a kind of envelope with a coordinate reference system fixed to WGS 84 (EPSG:4326).
Envelope2D
,
ReferencedEnvelope
,
GeographicBoundingBox
,
Serialized FormConstructor Summary | |
GeneralEnvelope(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
Constructs an empty envelope with the specified coordinate reference system. |
|
GeneralEnvelope(double[] minCP,
double[] maxCP)
Constructs a envelope defined by two positions. |
|
GeneralEnvelope(double min,
double max)
Constructs one-dimensional envelope defined by a range of values. |
|
GeneralEnvelope(org.opengis.spatialschema.geometry.Envelope envelope)
Constructs a new envelope with the same data than the specified envelope. |
|
GeneralEnvelope(GeneralDirectPosition minCP,
GeneralDirectPosition maxCP)
Constructs a envelope defined by two positions. |
|
GeneralEnvelope(int dimension)
Constructs an empty envelope of the specified dimension. |
|
GeneralEnvelope(java.awt.geom.Rectangle2D rect)
Constructs two-dimensional envelope defined by a Rectangle2D . |
Method Summary | |
void |
add(org.opengis.spatialschema.geometry.DirectPosition position)
Adds a point to this envelope. |
void |
add(org.opengis.spatialschema.geometry.Envelope envelope)
Adds an envelope object to this envelope. |
java.lang.Object |
clone()
Returns a deep copy of this envelope. |
boolean |
contains(org.opengis.spatialschema.geometry.DirectPosition position)
Tests if a specified coordinate is inside the boundary of this envelope. |
boolean |
contains(org.opengis.spatialschema.geometry.Envelope envelope,
boolean edgesInclusive)
Returns if this envelope completly encloses the specified envelope. |
boolean |
equals(org.opengis.spatialschema.geometry.Envelope envelope,
double eps)
Compares to the specified envelope for equality with the specified tolerance value. |
boolean |
equals(java.lang.Object object)
Compares the specified object with this envelope for equality. |
org.opengis.spatialschema.geometry.DirectPosition |
getCenter()
A coordinate position consisting of all the middle ordinates for each dimension for all points within the . |
double |
getCenter(int dimension)
Returns the center ordinate along the specified dimension. |
org.opengis.referencing.crs.CoordinateReferenceSystem |
getCoordinateReferenceSystem()
Returns the coordinate reference system in which the coordinates are given. |
int |
getDimension()
Returns the number of dimensions. |
double |
getLength(int dimension)
Returns the envelope length along the specified dimension. |
double |
getLength(int dimension,
javax.units.Unit unit)
Returns the envelope length along the specified dimension, in terms of the given units. |
org.opengis.spatialschema.geometry.DirectPosition |
getLowerCorner()
A coordinate position consisting of all the minimal ordinates for each dimension for all points within the . |
double |
getMaximum(int dimension)
Returns the maximal ordinate along the specified dimension. |
double |
getMinimum(int dimension)
Returns the minimal ordinate along the specified dimension. |
GeneralEnvelope |
getReducedEnvelope(int lower,
int upper)
Returns a new envelope with the same values than this envelope minus the specified range of dimensions. |
GeneralEnvelope |
getSubEnvelope(int lower,
int upper)
Returns a new envelope that encompass only some dimensions of this envelope. |
org.opengis.spatialschema.geometry.DirectPosition |
getUpperCorner()
A coordinate position consisting of all the maximal ordinates for each dimension for all points within the . |
int |
hashCode()
Returns a hash value for this envelope. |
void |
intersect(org.opengis.spatialschema.geometry.Envelope envelope)
Sets this envelope to the intersection if this envelope with the specified one. |
boolean |
intersects(org.opengis.spatialschema.geometry.Envelope envelope,
boolean edgesInclusive)
Returns if this envelope intersects the specified envelope. |
boolean |
isEmpty()
Determines whether or not this envelope is empty. |
boolean |
isInfinite()
Returns if at least one ordinate has an infinite value. |
boolean |
isNull()
Returns if at least one ordinate value is not NaN. |
void |
setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
Set the coordinate reference system in which the coordinate are given. |
void |
setEnvelope(GeneralEnvelope envelope)
Set this envelope to the same coordinate values than the specified envelope. |
void |
setRange(int dimension,
double minimum,
double maximum)
Set the envelope's range along the specified dimension. |
void |
setToInfinite()
Sets the lower corner to negative infinity and the upper corner to positive infinity. |
void |
setToNull()
Sets all ordinate values to NaN. |
java.awt.geom.Rectangle2D |
toRectangle2D()
Returns a Rectangle2D with the same bounds as this .
|
java.lang.String |
toString()
Returns a string representation of this envelope. |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public GeneralEnvelope(org.opengis.spatialschema.geometry.Envelope envelope)
public GeneralEnvelope(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
public GeneralEnvelope(int dimension)
public GeneralEnvelope(double min, double max)
min
- The minimal value.max
- The maximal value.public GeneralEnvelope(double[] minCP, double[] maxCP) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
minCP
- Minimum ordinate values.maxCP
- Maximum ordinate values.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the two positions don't have the same dimension.
java.lang.IllegalArgumentException
- if an ordinate value in the minimum point is not
less than or equal to the corresponding ordinate value in the maximum point.public GeneralEnvelope(GeneralDirectPosition minCP, GeneralDirectPosition maxCP) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
minCP
- Point containing minimum ordinate values.maxCP
- Point containing maximum ordinate values.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the two positions don't have the same dimension.
java.lang.IllegalArgumentException
- if an ordinate value in the minimum point is not
less than or equal to the corresponding ordinate value in the maximum point.public GeneralEnvelope(java.awt.geom.Rectangle2D rect)
Rectangle2D
.
Method Detail |
public final org.opengis.referencing.crs.CoordinateReferenceSystem getCoordinateReferenceSystem()
public void setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem crs) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
crs
- The new coordinate reference system, or .
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified CRS doesn't have the expected
number of dimensions.public final int getDimension()
getDimension
in interface org.opengis.spatialschema.geometry.Envelope
public org.opengis.spatialschema.geometry.DirectPosition getLowerCorner()
getLowerCorner
in interface org.opengis.spatialschema.geometry.Envelope
public org.opengis.spatialschema.geometry.DirectPosition getUpperCorner()
getUpperCorner
in interface org.opengis.spatialschema.geometry.Envelope
public org.opengis.spatialschema.geometry.DirectPosition getCenter()
public final double getMinimum(int dimension)
getMinimum
in interface org.opengis.spatialschema.geometry.Envelope
public final double getMaximum(int dimension)
getMaximum
in interface org.opengis.spatialschema.geometry.Envelope
public final double getCenter(int dimension)
getCenter
in interface org.opengis.spatialschema.geometry.Envelope
public final double getLength(int dimension)
getLength
in interface org.opengis.spatialschema.geometry.Envelope
public double getLength(int dimension, javax.units.Unit unit) throws javax.units.ConversionException
unit
- The unit for the return value.
javax.units.ConversionException
- if the length can't be converted to the specified units.public void setRange(int dimension, double minimum, double maximum)
dimension
- The dimension to set.minimum
- The minimum value along the specified dimension.maximum
- The maximum value along the specified dimension.public void setEnvelope(GeneralEnvelope envelope) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
envelope
- The new envelope to copy coordinates from.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified envelope doesn't have the expected
number of dimensions.public void setToInfinite()
public boolean isInfinite()
public void setToNull()
public boolean isNull()
isEmpty()
since it returns
for a partially initialized envelope, while returns
only after all dimensions have been initialized. More specifically, the
following rules apply:
isNull() == true
, then isEmpty() == true
isEmpty() == false
, then isNull() == false
public boolean isEmpty()
public void add(org.opengis.spatialschema.geometry.DirectPosition position) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
contains(org.opengis.spatialschema.geometry.DirectPosition)
with the added point as an argument will return ,
except if one of the point's ordinates was Double.NaN
(in which case the
corresponding ordinate have been ignored).
This method assumes that the specified point uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
position
- The point to add.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified point doesn't have
the expected dimension.public void add(org.opengis.spatialschema.geometry.Envelope envelope) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
This method assumes that the specified envelope uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
envelope
- the to add to this envelope.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified envelope doesn't
have the expected dimension.public boolean contains(org.opengis.spatialschema.geometry.DirectPosition position) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
This method assumes that the specified point uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
position
- The point to text.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified point doesn't have
the expected dimension.public boolean contains(org.opengis.spatialschema.geometry.Envelope envelope, boolean edgesInclusive) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
This method assumes that the specified envelope uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
envelope
- The envelope to test for inclusion.edgesInclusive
- if this envelope edges are inclusive.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified envelope doesn't have
the expected dimension.intersects(Envelope, boolean)
,
equals(Envelope, double)
public boolean intersects(org.opengis.spatialschema.geometry.Envelope envelope, boolean edgesInclusive) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
This method assumes that the specified envelope uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
envelope
- The envelope to test for intersection.edgesInclusive
- if this envelope edges are inclusive.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified envelope doesn't have
the expected dimension.contains(Envelope, boolean)
,
equals(Envelope, double)
public void intersect(org.opengis.spatialschema.geometry.Envelope envelope) throws org.opengis.spatialschema.geometry.MismatchedDimensionException
This method assumes that the specified envelope uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
envelope
- the to intersect to this envelope.
org.opengis.spatialschema.geometry.MismatchedDimensionException
- if the specified envelope doesn't
have the expected dimension.public GeneralEnvelope getSubEnvelope(int lower, int upper) throws java.lang.IndexOutOfBoundsException
lower
and extending to dimension upper-1
.
Thus the dimension of the subenvelope is upper-lower
.
lower
- The first dimension to copy, inclusive.upper
- The last dimension to copy, exclusive.
java.lang.IndexOutOfBoundsException
- if an index is out of bounds.public GeneralEnvelope getReducedEnvelope(int lower, int upper) throws java.lang.IndexOutOfBoundsException
lower
- The first dimension to omit, inclusive.upper
- The last dimension to omit, exclusive.
java.lang.IndexOutOfBoundsException
- if an index is out of bounds.public java.awt.geom.Rectangle2D toRectangle2D() throws java.lang.IllegalStateException
Rectangle2D
with the same bounds as this .
This is a convenience method for interoperability with Java2D.
java.lang.IllegalStateException
- if this envelope is not two-dimensional.public java.lang.String toString()
CoordinateFormat
. This is okay for occasional
formatting (for example for debugging purpose). But if there is a lot of positions to format,
users will get better performance and more control by using their own instance of
CoordinateFormat
.
public int hashCode()
public boolean equals(java.lang.Object object)
public boolean equals(org.opengis.spatialschema.geometry.Envelope envelope, double eps)
This method assumes that the specified envelope uses the same CRS than this envelope. For performance reason, it will no be verified unless J2SE assertions are enabled.
contains(Envelope, boolean)
,
intersects(Envelope, boolean)
public java.lang.Object clone()
clone
in interface org.opengis.util.Cloneable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |