public class GeoPath extends GeoBaseExtendedShape implements GeoDistanceShape
Modifier and Type | Class and Description |
---|---|
static class |
GeoPath.PathSegment
This is the precalculated data for a path segment.
|
static class |
GeoPath.SegmentEndpoint
This is precalculated data for segment endpoint.
|
Modifier and Type | Field and Description |
---|---|
double |
chordDistance |
double |
cutoffAngle |
double |
cutoffOffset |
GeoPoint[] |
edgePoints |
double |
originDistance |
List<GeoPath.SegmentEndpoint> |
points |
List<GeoPath.PathSegment> |
segments |
NORTH_POLE, SOUTH_POLE
Constructor and Description |
---|
GeoPath(double cutoffAngle) |
Modifier and Type | Method and Description |
---|---|
void |
addPoint(double lat,
double lon) |
double |
computeArcDistance(GeoPoint point)
Compute a true, accurate, great-circle distance.
|
double |
computeLinearDistance(double x,
double y,
double z)
Compute a linear distance to the point.
|
double |
computeLinearDistance(GeoPoint point)
Compute a linear distance to the point.
|
double |
computeNormalDistance(double x,
double y,
double z)
Compute an estimate of "distance" to the GeoPoint.
|
double |
computeNormalDistance(GeoPoint point)
Compute an estimate of "distance" to the GeoPoint.
|
double |
computeSquaredLinearDistance(double x,
double y,
double z)
Compute a squared linear distance to the vector.
|
double |
computeSquaredLinearDistance(GeoPoint point)
Compute a squared linear distance to the vector.
|
double |
computeSquaredNormalDistance(double x,
double y,
double z)
Compute a squared estimate of the "distance" to the
GeoPoint.
|
double |
computeSquaredNormalDistance(GeoPoint point)
Compute a squared estimate of the "distance" to the
GeoPoint.
|
void |
done() |
boolean |
equals(Object o)
Equals
|
Bounds |
getBounds(Bounds bounds)
Compute longitude/latitude bounds for the shape.
|
GeoPoint[] |
getEdgePoints()
Return a sample point that is on the edge of the shape.
|
int |
hashCode() |
boolean |
intersects(Plane plane,
GeoPoint[] notablePoints,
Membership... bounds)
Assess whether a plane, within the provided bounds, intersects
with the shape.
|
boolean |
isWithin(double x,
double y,
double z)
Check if a point is within this shape.
|
boolean |
isWithin(Vector point)
Check if a point is within this shape.
|
String |
toString() |
public final double cutoffAngle
public final double cutoffOffset
public final double originDistance
public final double chordDistance
public final List<GeoPath.SegmentEndpoint> points
public final List<GeoPath.PathSegment> segments
public GeoPoint[] edgePoints
public void addPoint(double lat, double lon)
public void done()
public double computeNormalDistance(GeoPoint point)
computeNormalDistance
in interface GeoDistance
point
- is the point to compute the distance to.public double computeNormalDistance(double x, double y, double z)
computeNormalDistance
in interface GeoDistance
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).public double computeSquaredNormalDistance(GeoPoint point)
computeSquaredNormalDistance
in interface GeoDistance
point
- is the point to compute the distance to.public double computeSquaredNormalDistance(double x, double y, double z)
computeSquaredNormalDistance
in interface GeoDistance
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).public double computeLinearDistance(GeoPoint point)
computeLinearDistance
in interface GeoDistance
point
- is the point to compute the distance to.public double computeLinearDistance(double x, double y, double z)
computeLinearDistance
in interface GeoDistance
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).public double computeSquaredLinearDistance(GeoPoint point)
computeSquaredLinearDistance
in interface GeoDistance
point
- is the point to compute the distance to.public double computeSquaredLinearDistance(double x, double y, double z)
computeSquaredLinearDistance
in interface GeoDistance
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).public double computeArcDistance(GeoPoint point)
computeArcDistance
in interface GeoDistance
point
- is the point.public boolean isWithin(Vector point)
GeoBaseExtendedShape
isWithin
in interface Membership
isWithin
in class GeoBaseExtendedShape
point
- is the point to check.public boolean isWithin(double x, double y, double z)
GeoBaseExtendedShape
isWithin
in interface Membership
isWithin
in class GeoBaseExtendedShape
x
- is x coordinate of point to check.y
- is y coordinate of point to check.z
- is z coordinate of point to check.public GeoPoint[] getEdgePoints()
GeoBaseExtendedShape
getEdgePoints
in interface GeoShape
getEdgePoints
in class GeoBaseExtendedShape
public boolean intersects(Plane plane, GeoPoint[] notablePoints, Membership... bounds)
GeoBaseExtendedShape
intersects
in interface GeoShape
intersects
in class GeoBaseExtendedShape
plane
- is the plane to assess for intersection with the shape's edges or
bounding curves.notablePoints
- represents the intersections of the plane with the supplied
bounds. These are used to disambiguate when two planes are identical and it needs
to be determined whether any points exist that fulfill all the bounds.bounds
- are a set of bounds that define an area that an
intersection must be within in order to qualify (provided by a GeoArea).public Bounds getBounds(Bounds bounds)
getBounds
in interface GeoShape
getBounds
in class GeoBaseExtendedShape
bounds
- is the optional input bounds object. If this is null,
a bounds object will be created. Otherwise, the input object will be modified.Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.