public abstract class GeoBaseDistanceShape extends GeoBaseMembershipShape implements GeoDistanceShape
Modifier and Type | Field and Description |
---|---|
protected static int |
ALL_INSIDE
All edgepoints inside shape
|
protected static int |
NONE_INSIDE
No edgepoints inside shape
|
protected static int |
SOME_INSIDE
Some edgepoints inside shape
|
planetModel
Constructor and Description |
---|
GeoBaseDistanceShape(PlanetModel planetModel)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
computeDeltaDistance(DistanceStyle distanceStyle,
double x,
double y,
double z)
Compute the shape's delta distance given a point.
|
double |
computeDeltaDistance(DistanceStyle distanceStyle,
GeoPoint point)
Compute the shape's delta distance given a point.
|
double |
computeDistance(DistanceStyle distanceStyle,
double x,
double y,
double z)
Compute this shape's internal "distance" to the GeoPoint.
|
double |
computeDistance(DistanceStyle distanceStyle,
GeoPoint point)
Compute this shape's internal "distance" to the GeoPoint.
|
protected double |
deltaDistance(DistanceStyle distanceStyle,
double x,
double y,
double z)
Called by a
computeDeltaDistance method if X/Y/Z is within this shape. |
protected abstract double |
distance(DistanceStyle distanceStyle,
double x,
double y,
double z)
Called by a
computeDistance method if X/Y/Z is within this shape. |
protected abstract void |
distanceBounds(Bounds bounds,
DistanceStyle distanceStyle,
double distanceValue)
Called by a
getDistanceBounds method if distanceValue is not Double.POSITIVE_INFINITY. |
void |
getDistanceBounds(Bounds bounds,
DistanceStyle distanceStyle,
double distanceValue)
Compute a bound based on a provided distance measure.
|
int |
getRelationship(GeoShape geoShape)
Find the spatial relationship between a shape and the current geo area.
|
protected int |
isGeoAreaShapeInsideShape(GeoShape geoshape)
Determine the relationship between the GeoAreaShape's edgepoints and the
provided shape.
|
protected int |
isShapeInsideGeoAreaShape(GeoShape geoShape)
Determine the relationship between the GeoAreShape and the
shape's edgepoints.
|
boolean |
isWithin(Vector point)
Check if a point is within this shape.
|
computeOutsideDistance, computeOutsideDistance, outsideDistance
getBounds
equals, getPlanetModel, hashCode, write
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
intersects
getEdgePoints, intersects
getPlanetModel
readBitSet, readBoolean, readByteArray, readClass, readDouble, readHeterogeneousArray, readHomogeneousArray, readInt, readLong, readObject, readObject, readObject, readObject, readPlanetObject, readPointArray, readPolygonArray, readString, write, writeBitSet, writeBoolean, writeByteArray, writeClass, writeDouble, writeHeterogeneousArray, writeHeterogeneousArray, writeHomogeneousArray, writeHomogeneousArray, writeInt, writeLong, writeObject, writePlanetObject, writePointArray, writePointArray, writePolygonArray, writePolygonArray, writeString
computeOutsideDistance, computeOutsideDistance
isWithin
getRelationship
protected static final int ALL_INSIDE
protected static final int SOME_INSIDE
protected static final int NONE_INSIDE
public GeoBaseDistanceShape(PlanetModel planetModel)
planetModel
- is the planet model to use.public boolean isWithin(Vector point)
Membership
isWithin
in interface Membership
isWithin
in class GeoBaseMembershipShape
point
- is the point to check.public double computeDistance(DistanceStyle distanceStyle, GeoPoint point)
GeoDistance
computeDistance
in interface GeoDistance
distanceStyle
- is the distance style.point
- is the point to compute the distance to.public double computeDistance(DistanceStyle distanceStyle, double x, double y, double z)
GeoDistance
computeDistance
in interface GeoDistance
distanceStyle
- is the distance style.x
- is the point's unit x coordinate (using U.S. convention).y
- is the point's unit y coordinate (using U.S. convention).z
- is the point's unit z coordinate (using U.S. convention).protected abstract double distance(DistanceStyle distanceStyle, double x, double y, double z)
computeDistance
method if X/Y/Z is within this shape.public double computeDeltaDistance(DistanceStyle distanceStyle, GeoPoint point)
GeoDistance
computeDeltaDistance
in interface GeoDistance
distanceStyle
- is the distance style.point
- is the point to compute the distance to.public double computeDeltaDistance(DistanceStyle distanceStyle, double x, double y, double z)
GeoDistance
computeDeltaDistance
in interface GeoDistance
distanceStyle
- is the distance style.x
- is the point's unit x coordinate (using U.S. convention).y
- is the point's unit y coordinate (using U.S. convention).z
- is the point's unit z coordinate (using U.S. convention).protected double deltaDistance(DistanceStyle distanceStyle, double x, double y, double z)
computeDeltaDistance
method if X/Y/Z is within this shape.public void getDistanceBounds(Bounds bounds, DistanceStyle distanceStyle, double distanceValue)
GeoDistanceShape
getDistanceBounds
in interface GeoDistanceShape
bounds
- is the bounds object to update.distanceStyle
- describes the type of distance metric provided.distanceValue
- is the distance metric to use. It is presumed that the distance metric
was produced with the same distance style as is provided to this method.protected abstract void distanceBounds(Bounds bounds, DistanceStyle distanceStyle, double distanceValue)
getDistanceBounds
method if distanceValue is not Double.POSITIVE_INFINITY.protected int isShapeInsideGeoAreaShape(GeoShape geoShape)
geoShape
- is the shape.protected int isGeoAreaShapeInsideShape(GeoShape geoshape)
geoshape
- is the shape.public int getRelationship(GeoShape geoShape)
GeoArea
getRelationship
in interface GeoArea
geoShape
- is the shape to consider.Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.