public class EllipsoidRhumbLine extends EllipsoidSurfaceCurve
Constructor and Description |
---|
EllipsoidRhumbLine(Ellipsoid ellipsoid,
Cartographic initial,
Cartographic _final)
Initializes a rhumb line (a line of constant heading) on the ellipsoid connecting the two provided planetodetic points.
|
EllipsoidRhumbLine(Ellipsoid ellipsoid,
Cartographic initial,
double heading,
double distance)
Initializes a rhumb line (a line of constant heading) on the ellipsoid starting at the provided planetodetic point which
has the indicated heading at that point and ends at a point located at the provided
distance from the starting point.
|
Modifier and Type | Method and Description |
---|---|
CartographicExtent |
computeCartographicExtent()
Computes the cartographic bounding box which completely contains the surface curve.
|
Cartographic |
findClosestPointOnCurve(Cartographic point,
double[] distance)
Finds the closest point on the curve from the input point.
|
Ellipsoid |
getEllipsoid()
Gets the ellipsoid on which the rhumb line lies.
|
Cartographic |
getFinalPoint()
Gets the final planetodetic point on the path.
|
double |
getHeading()
Gets the heading of the rhumb line.
|
Cartographic |
getInitialPoint()
Gets the initial planetodetic point on the path.
|
double |
getSurfaceDistance()
Gets the total distance along the rhumb line to the location of the final point.
|
Cartographic |
interpolateUsingFraction(double fraction)
Provides the location of a point at the indicated portion along the rhumb line.
|
Cartographic |
interpolateUsingSurfaceDistance(double surfaceDistance)
Provides the location of a point at the indicated distance along the rhumb line.
|
Motion1<Cartesian> |
surfaceMotion(double distance,
double groundSpeed,
double groundAcceleration)
Converts the motion given in terms of motion on the rhumb line curve to motion of the surface point.
|
computeHashCode, computeIntersection, equals, equalsType, findClosestPointOnCurve, getDiscretePoints, hashCode
public EllipsoidRhumbLine(@Nonnull Ellipsoid ellipsoid, @Nonnull Cartographic initial, @Nonnull Cartographic _final)
ellipsoid
- The ellipsoid on which the rhumb line lies.initial
- The initial planetodetic point on the path. The InitialPoint
(get
) will be on the ellipsoid surface at this location._final
- The final planetodetic point on the path. The FinalPoint
(get
) will be on the ellipsoid surface at this location.ArgumentNullException
- Thrown when ellipsoid
is null
.UnsupportedCaseException
- The scalene case of a rhumb line is not currently modeled and will be in a future release.public EllipsoidRhumbLine(@Nonnull Ellipsoid ellipsoid, @Nonnull Cartographic initial, double heading, double distance)
ellipsoid
- The ellipsoid on which the rhumb line lies.initial
- The initial planetodetic point on the path. The InitialPoint
(get
) will be on the ellipsoid surface at this location.heading
- The heading at the initial point.distance
- The distance along the rhumb line to the location of the final point.ArgumentNullException
- Thrown when ellipsoid
is null
.UnsupportedCaseException
- The scalene case of a rhumb line is not currently modeled and will be in a future release.@Nonnull public Ellipsoid getEllipsoid()
getEllipsoid
in class EllipsoidSurfaceCurve
@Nonnull public Cartographic getInitialPoint()
getInitialPoint
in class EllipsoidSurfaceCurve
@Nonnull public Cartographic getFinalPoint()
getFinalPoint
in class EllipsoidSurfaceCurve
public final double getHeading()
public double getSurfaceDistance()
getSurfaceDistance
in class EllipsoidSurfaceCurve
public CartographicExtent computeCartographicExtent()
computeCartographicExtent
in class EllipsoidSurfaceCurve
@Nonnull public Cartographic findClosestPointOnCurve(@Nonnull Cartographic point, @Nonnull double[] distance)
The default implementation is a golden section search on the curve. The built-in types (geodesic, rhumb, and complex) have their own precise algorithms.
findClosestPointOnCurve
in class EllipsoidSurfaceCurve
point
- The input point. The point will be on the ellipsoid surface at this location.distance
- The surface distance between the point
and the point on the curve.@Nonnull public Cartographic interpolateUsingFraction(double fraction)
interpolateUsingFraction
in class EllipsoidSurfaceCurve
fraction
- The portion of the distance between the initial and final points.@Nonnull public Cartographic interpolateUsingSurfaceDistance(double surfaceDistance)
interpolateUsingSurfaceDistance
in class EllipsoidSurfaceCurve
surfaceDistance
- The distance from the initial point to the point of interest along the rhumb line.@Nonnull public final Motion1<Cartesian> surfaceMotion(double distance, double groundSpeed, double groundAcceleration)
distance
- The distance from the initial point to the point of interest along the rhumb line.groundSpeed
- The velocity on the rhumb line.groundAcceleration
- The acceleration on the rhumb line.