public class ReferencedEnvelope3D extends ReferencedEnvelope implements BoundingBox3D
| Modifier and Type | Field and Description |
|---|---|
static ReferencedEnvelope3D |
EVERYTHING
A ReferencedEnvelope containing "everything"
|
crs| Constructor and Description |
|---|
ReferencedEnvelope3D()
Creates a null envelope with a null coordinate reference system.
|
ReferencedEnvelope3D(BoundingBox3D bbox)
Creates a new envelope from an existing bounding box.
|
ReferencedEnvelope3D(CoordinateReferenceSystem crs)
Creates a null envelope with the specified coordinate reference system.
|
ReferencedEnvelope3D(double x1,
double x2,
double y1,
double y2,
double z1,
double z2,
CoordinateReferenceSystem crs)
Creates an envelope for a region defined by maximum and minimum values.
|
ReferencedEnvelope3D(Envelope envelope)
Creates a new envelope from an existing OGC envelope.
|
ReferencedEnvelope3D(Envelope envelope,
CoordinateReferenceSystem crs)
Creates a new envelope from an existing JTS envelope.
|
ReferencedEnvelope3D(ReferencedEnvelope3D envelope)
Creates a new envelope from an existing envelope.
|
ReferencedEnvelope3D(ReferencedEnvelope3D envelope,
CoordinateReferenceSystem crs)
Creates a new envelope from an existing JTS envelope.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
boundsEquals3D(Envelope other,
double eps)
Compare the bounds of this envelope with those of another.
|
Coordinate |
centre()
Computes the coordinate of the centre of this envelope (as long as it is non-null
|
boolean |
contains(BoundingBox3D bbox)
Returns
true if the provided bounds are contained by this bounding box. |
boolean |
contains(Coordinate p)
Tests if the given point lies in or on the envelope.
|
boolean |
contains(DirectPosition pos)
Returns
true if the provided location is contained by this bounding box. |
boolean |
contains(double x,
double y,
double z)
Tests if the given point lies in or on the envelope.
|
boolean |
covers(Coordinate p)
Tests if the given point lies in or on the envelope.
|
boolean |
covers(double x,
double y,
double z)
Tests if the given point lies in or on the envelope.
|
boolean |
covers(ReferencedEnvelope3D other)
Tests if the
Envelope other lies wholely inside this Envelope
(inclusive of the boundary). |
double |
distance(ReferencedEnvelope3D env)
Computes the distance between this and another
Envelope. |
boolean |
equals(Object other)
Compares the specified object with this envelope for equality.
|
void |
expandBy(double distance)
Expands this envelope by a given distance in all directions.
|
void |
expandBy(double deltaX,
double deltaY,
double deltaZ)
Expands this envelope by a given distance in all directions.
|
void |
expandToInclude(Coordinate p)
Enlarges this
Envelope so that it contains the given Coordinate. |
void |
expandToInclude(DirectPosition pt)
Expand to include the provided DirectPosition
|
void |
expandToInclude(double x,
double y,
double z)
Enlarges this
Envelope so that it contains the given point. |
void |
expandToInclude(ReferencedEnvelope3D other)
Enlarges this
Envelope so that it contains the other Envelope. |
double |
getDepth()
Returns the difference between the maximum and minimum z values.
|
int |
getDimension()
Returns the number of dimensions.
|
DirectPosition |
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 |
getMaxZ()
Returns the
Envelopes maximum z-value. min z > max z indicates that this is a
null Envelope. |
double |
getMedian(int dimension)
Returns the center ordinate along the specified dimension.
|
double |
getMinimum(int dimension)
Returns the minimal ordinate along the specified dimension.
|
double |
getMinZ()
Returns the
Envelopes minimum z-value. min z > max z indicates that this is a
null Envelope. |
double |
getSpan(int dimension)
Returns the envelope length along the specified dimension.
|
DirectPosition |
getUpperCorner()
A coordinate position consisting of all the maximal ordinates for each dimension for all
points within the
Envelope. |
double |
getVolume()
Gets the volume of this envelope.
|
int |
hashCode()
Returns a hash value for this envelope.
|
void |
include(BoundingBox3D bbox)
Include the provided bounding box, expanding as necessary.
|
void |
include(double x,
double y)
Include the provided coordinates, expanding as necessary.
|
void |
include(double x,
double y,
double z)
Include the provided coordinates, expanding as necessary.
|
void |
init()
Initialize to a null
Envelope. |
void |
init(BoundingBox bounds)
Sets this envelope to the specified bounding box.
|
void |
init(Coordinate p)
Initialize an
Envelope to a region defined by a single Coordinate. |
void |
init(Coordinate p1,
Coordinate p2)
Initialize an
Envelope to a region defined by two Coordinates. |
void |
init(double x1,
double x2,
double y1,
double y2,
double z1,
double z2)
Initialize an
Envelope for a region defined by maximum and minimum values. |
void |
init(Envelope env) |
void |
init(ReferencedEnvelope3D env)
Initialize an
Envelope from an existing 3D Envelope. |
ReferencedEnvelope3D |
intersection(ReferencedEnvelope3D env)
Computes the intersection of two
Envelopes. |
boolean |
intersects(BoundingBox3D bbox)
Check if this bounding box intersects the provided bounds.
|
boolean |
intersects(Coordinate p)
Check if the point
p overlaps (lies inside) the region of this Envelope
. |
static boolean |
intersects(Coordinate p1,
Coordinate p2,
Coordinate q)
Test the point q to see whether it intersects the Envelope defined by p1-p2
|
static boolean |
intersects(Coordinate p1,
Coordinate p2,
Coordinate q1,
Coordinate q2)
Test the envelope defined by p1-p2 for intersection with the envelope defined by q1-q2
|
boolean |
intersects(double x,
double y,
double z)
Check if the point
(x, y) overlaps (lies inside) the region of this
Envelope. |
boolean |
intersects(ReferencedEnvelope3D other)
Check if the region defined by
other overlaps (intersects) the region of this
Envelope. |
boolean |
isEmpty()
Returns
true if lengths along all dimension are zero. |
double |
maxExtent()
Gets the maximum extent of this envelope across both dimensions.
|
double |
minExtent()
Gets the minimum extent of this envelope across all three dimensions.
|
boolean |
overlaps(Coordinate p)
Deprecated.
Use #intersects instead.
|
boolean |
overlaps(double x,
double y,
double z)
Deprecated.
Use #intersects instead.
|
boolean |
overlaps(ReferencedEnvelope3D other)
Deprecated.
Use #intersects instead. In the future, #overlaps may be changed to be a true
overlap check; that is, whether the intersection is two-dimensional.
|
void |
setBounds(BoundingBox3D bbox)
Initialize the bounding box with another bounding box.
|
void |
setToNull()
Makes this
Envelope a "null" envelope, that is, the envelope of the empty
geometry. |
BoundingBox |
toBounds(CoordinateReferenceSystem targetCRS)
Returns a new bounding box which contains the transformed shape of this bounding box.
|
ReferencedEnvelope |
transform(CoordinateReferenceSystem targetCRS,
boolean lenient)
Transforms the referenced envelope to the specified coordinate reference system.
|
ReferencedEnvelope |
transform(CoordinateReferenceSystem targetCRS,
boolean lenient,
int numPointsForTransformation)
Transforms the referenced envelope to the specified coordinate reference system using the
specified amount of points.
|
void |
translate(double transX,
double transY,
double transZ)
Translates this envelope by given amounts in the X and Y direction.
|
boundsEquals2D, checkCoordinateReferenceSystemDimension, contains, create, create, create, create, create, create, crs, ensureCompatibleReferenceSystem, ensureCompatibleReferenceSystem, expandToInclude, getCenter, getCoordinateReferenceSystem, getLength, include, intersection, intersects, maxX, maxY, minX, minY, reference, reference, reference, setBounds, toStringcompareTo, contains, contains, covers, covers, distance, expandBy, expandToInclude, getArea, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, init, intersects, intersects, intersects, isNull, overlaps, overlaps, translatecontains, contains, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, include, intersects, setBoundsgetCoordinateReferenceSystempublic static ReferencedEnvelope3D EVERYTHING
public ReferencedEnvelope3D()
public ReferencedEnvelope3D(CoordinateReferenceSystem crs) throws MismatchedDimensionException
crs - The coordinate reference system.MismatchedDimensionException - if the CRS dimension is not valid.public ReferencedEnvelope3D(double x1,
double x2,
double y1,
double y2,
double z1,
double z2,
CoordinateReferenceSystem crs)
throws MismatchedDimensionException
x1 - The first x-value.x2 - The second x-value.y1 - The first y-value.y2 - The second y-value.z1 - The first y-value.z2 - The second y-value.crs - The coordinate reference system.MismatchedDimensionException - if the CRS dimension is not valid.public ReferencedEnvelope3D(ReferencedEnvelope3D envelope) throws MismatchedDimensionException
envelope - The envelope to initialize fromMismatchedDimensionException - if the CRS dimension is not valid.public ReferencedEnvelope3D(BoundingBox3D bbox) throws MismatchedDimensionException
NOTE: if the bounding box is empty, the resulting ReferencedEnvelope will not be. In case
this is needed use ReferencedEnvelope.create(bbox, bbox.getCoordinateReferenceSystem())
bbox - The bounding box to initialize from.MismatchedDimensionException - if the CRS dimension is not valid.public ReferencedEnvelope3D(Envelope envelope,
CoordinateReferenceSystem crs)
throws MismatchedDimensionException
envelope - The envelope to initialize from.crs - The coordinate reference system.MismatchedDimensionExceptionif - the CRS dimension is not valid.MismatchedDimensionExceptionpublic ReferencedEnvelope3D(Envelope envelope) throws MismatchedDimensionException
NOTE: if the envelope is empty, the resulting ReferencedEnvelope will not be. In case this
is needed use ReferencedEnvelope.create(envelope, envelope.getCoordinateReferenceSystem())
envelope - The envelope to initialize from.MismatchedDimensionException - if the CRS dimension is not valid.public ReferencedEnvelope3D(ReferencedEnvelope3D envelope, CoordinateReferenceSystem crs) throws MismatchedDimensionException
envelope - The envelope to initialize from.crs - The coordinate reference system.MismatchedDimensionExceptionif - the CRS dimension is not valid.MismatchedDimensionExceptionpublic static boolean intersects(Coordinate p1,
Coordinate p2,
Coordinate q)
p1 - one extremal point of the envelopep2 - another extremal point of the envelopeq - the point to test for intersectiontrue if q intersects the envelope p1-p2public static boolean intersects(Coordinate p1,
Coordinate p2,
Coordinate q1,
Coordinate q2)
p1 - one extremal point of the envelope Pp2 - another extremal point of the envelope Pq1 - one extremal point of the envelope Qq2 - another extremal point of the envelope Qtrue if Q intersects Ppublic void init()
Envelope.init in class Envelopepublic void init(double x1,
double x2,
double y1,
double y2,
double z1,
double z2)
Envelope for a region defined by maximum and minimum values.x1 - the first x-valuex2 - the second x-valuey1 - the first y-valuey2 - the second y-valuez1 - the first z-valuez2 - the second z-valuepublic void init(Coordinate p1,
Coordinate p2)
Envelope to a region defined by two Coordinates.init in class Envelopep1 - the first Coordinatep2 - the second Coordinatepublic void init(Coordinate p)
Envelope to a region defined by a single Coordinate.init in class Envelopep - the coordinatepublic void init(Envelope env)
init in class Envelopepublic void init(ReferencedEnvelope3D env)
Envelope from an existing 3D Envelope.env - the 3D Envelope to initialize frompublic void setToNull()
Envelope a "null" envelope, that is, the envelope of the empty
geometry.setToNull in class Envelopepublic double getDepth()
Envelopepublic double getMinZ()
Envelopes minimum z-value. min z > max z indicates that this is a
null Envelope.getMinZ in interface BoundingBox3Dpublic double getMaxZ()
Envelopes maximum z-value. min z > max z indicates that this is a
null Envelope.getMaxZ in interface BoundingBox3Dpublic double getVolume()
public double minExtent()
minExtent in class Envelopepublic double maxExtent()
maxExtent in class Envelopepublic void expandToInclude(Coordinate p)
Envelope so that it contains the given Coordinate. Has no
effect if the point is already on or within the envelope.expandToInclude in class Envelopep - the Coordinate to expand to includepublic void expandBy(double distance)
expandBy in class Envelopedistance - the distance to expand the envelopepublic void expandBy(double deltaX,
double deltaY,
double deltaZ)
deltaX - the distance to expand the envelope along the the X axisdeltaY - the distance to expand the envelope along the the Y axispublic void expandToInclude(double x,
double y,
double z)
Envelope so that it contains the given point. Has no effect if the
point is already on or within the envelope.x - the value to lower the minimum x to or to raise the maximum x toy - the value to lower the minimum y to or to raise the maximum y toz - the value to lower the minimum z to or to raise the maximum z topublic void expandToInclude(DirectPosition pt)
ReferencedEnvelopeexpandToInclude in class ReferencedEnvelopepublic void translate(double transX,
double transY,
double transZ)
transX - the amount to translate along the X axistransY - the amount to translate along the Y axistransZ - the amount to translate along the Z axispublic Coordinate centre()
centre in class Envelopenull if the envelope is nullpublic boolean intersects(ReferencedEnvelope3D other)
other overlaps (intersects) the region of this
Envelope.other - the Envelope which this Envelope is being checked for
overlappingtrue if the Envelopes overlappublic boolean overlaps(ReferencedEnvelope3D other)
public boolean intersects(Coordinate p)
p overlaps (lies inside) the region of this Envelope
.intersects in class Envelopep - the Coordinate to be testedtrue if the point overlaps this Envelopepublic boolean overlaps(Coordinate p)
overlaps in class Envelopepublic boolean intersects(double x,
double y,
double z)
(x, y) overlaps (lies inside) the region of this
Envelope.x - the x-ordinate of the pointy - the y-ordinate of the pointz - the z-ordinate of the pointtrue if the point overlaps this Envelopepublic boolean overlaps(double x,
double y,
double z)
public boolean contains(Coordinate p)
Note that this is not the same definition as the SFS contains, which would exclude the envelope boundary.
contains in class Envelopep - the point which this Envelope is being checked for containingtrue if the point lies in the interior or on the boundary of this
Envelope.covers(Coordinate)public boolean contains(double x,
double y,
double z)
Note that this is not the same definition as the SFS contains, which would exclude the envelope boundary.
contains in interface BoundingBox3Dx - the x-coordinate of the point which this Envelope is being checked for
containingy - the y-coordinate of the point which this Envelope is being checked for
containingz - The second ordinate value.true if (x, y) lies in the interior or on the boundary of
this Envelope.Envelope.covers(double, double)public boolean covers(double x,
double y,
double z)
x - the x-coordinate of the point which this Envelope is being checked for
containingy - the y-coordinate of the point which this Envelope is being checked for
containingtrue if (x, y) lies in the interior or on the boundary of
this Envelope.public boolean covers(Coordinate p)
covers in class Envelopep - the point which this Envelope is being checked for containingtrue if the point lies in the interior or on the boundary of this
Envelope.public boolean covers(ReferencedEnvelope3D other)
Envelope other lies wholely inside this Envelope
(inclusive of the boundary).other - the Envelope to checkEnvelope covers the otherpublic double distance(ReferencedEnvelope3D env)
Envelope. The distance between
overlapping Envelopes is 0. Otherwise, the distance is the Euclidean distance between the
closest points.public void init(BoundingBox bounds)
init in class ReferencedEnvelopepublic int getDimension()
getDimension in interface EnvelopegetDimension in class ReferencedEnvelopepublic double getMinimum(int dimension)
getMinimum in interface EnvelopegetMinimum in class ReferencedEnvelopedimension - The dimension for which to obtain the ordinate value.RectangularShape.getMinX(),
RectangularShape.getMinY()public double getMaximum(int dimension)
getMaximum in interface EnvelopegetMaximum in class ReferencedEnvelopedimension - The dimension for which to obtain the ordinate value.RectangularShape.getMaxX(),
RectangularShape.getMaxY()public double getMedian(int dimension)
getMedian in interface EnvelopegetMedian in class ReferencedEnvelopedimension - The dimension for which to obtain the ordinate value.RectangularShape.getCenterX(),
RectangularShape.getCenterY()public double getSpan(int dimension)
getSpan in interface EnvelopegetSpan in class ReferencedEnvelopedimension - The dimension for which to obtain the ordinate value.RectangularShape.getWidth(),
RectangularShape.getHeight()public DirectPosition getLowerCorner()
Envelope.getLowerCorner in interface EnvelopegetLowerCorner in class ReferencedEnvelopepublic DirectPosition getUpperCorner()
Envelope.getUpperCorner in interface EnvelopegetUpperCorner in class ReferencedEnvelopepublic boolean isEmpty()
true if lengths along all dimension are zero.isEmpty in interface BoundingBoxisEmpty in class ReferencedEnvelopetrue if this bounding box is empty.public boolean contains(DirectPosition pos)
true if the provided location is contained by this bounding box.contains in interface BoundingBoxcontains in class ReferencedEnvelopepos - The direct position to test for inclusion.true if the given position is inside this bounds.public boolean contains(BoundingBox3D bbox)
true if the provided bounds are contained by this bounding box.public boolean intersects(BoundingBox3D bbox)
public ReferencedEnvelope3D intersection(ReferencedEnvelope3D env)
Envelopes.env - the envelope to intersect withpublic void include(BoundingBox3D bbox)
public void expandToInclude(ReferencedEnvelope3D other)
Envelope so that it contains the other Envelope. Has
no effect if other is wholly on or within the envelope.other - the Envelope to expand to includepublic void include(double x,
double y,
double z)
include in interface BoundingBox3Dx - The first ordinate value.y - The second ordinate value.z - The third ordinate value.public void setBounds(BoundingBox3D bbox)
public BoundingBox toBounds(CoordinateReferenceSystem targetCRS) throws TransformException
transform method.toBounds in interface BoundingBoxtoBounds in interface BoundingBox3DtoBounds in class ReferencedEnvelopetargetCRS - 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.public ReferencedEnvelope transform(CoordinateReferenceSystem targetCRS, boolean lenient) throws TransformException, FactoryException
This method can handle the case where the envelope contains the North or South pole, or when it cross the ±180� longitude.
transform in class ReferencedEnvelopetargetCRS - The target coordinate reference system.lenient - true if datum shift should be applied even if there is insuffisient
information. Otherwise (if false), an exception is thrown in such case.FactoryException - if the math transform can't be determined.TransformException - if at least one coordinate can't be transformed.CRS.transform(CoordinateOperation, org.opengis.geometry.Envelope)public ReferencedEnvelope transform(CoordinateReferenceSystem targetCRS, boolean lenient, int numPointsForTransformation) throws TransformException, FactoryException
This method can handle the case where the envelope contains the North or South pole, or when it cross the ±180� longitude.
transform in class ReferencedEnvelopetargetCRS - The target coordinate reference system.lenient - true if datum shift should be applied even if there is insuffisient
information. Otherwise (if false), an exception is thrown in such case.numPointsForTransformation - The number of points to use for sampling the envelope.FactoryException - if the math transform can't be determined.TransformException - if at least one coordinate can't be transformed.CRS.transform(CoordinateOperation, org.opengis.geometry.Envelope)public int hashCode()
hashCode in class ReferencedEnvelopepublic boolean equals(Object other)
equals in class ReferencedEnvelopepublic boolean boundsEquals3D(Envelope other, double eps)
Note: in this test:
other - other envelopeeps - a small tolerance factor (e.g. 1.0e-6d) which will be scaled relative to this
envlope's width and heightpublic void include(double x,
double y)
ReferencedEnvelopeinclude in interface BoundingBoxinclude in class ReferencedEnvelopex - The first ordinate value.y - The second ordinate value.Copyright © 1996–2019 Geotools. All rights reserved.