Click or drag to resize

EllipsoidGeodesic Class

A minimum length path conforming to the surface of an ellipsoid and connecting two planetodetic surface points.

This class utilizes the direct and indirect formulations for defining geodesics on an ellipsoid as discussed in "Geodesics on an ellipsoid of revolution.", C. F. Karney, 7 February 2011. The algorithms have been adapted from GeographicLib version 1.44 to optimize performance for the .NET and Java frameworks.

Inheritance Hierarchy

Namespace:  AGI.Foundation.Geometry.Shapes
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 23.2.417.0 (23.2.417.0)
public class EllipsoidGeodesic : EllipsoidSurfaceCurve

The EllipsoidGeodesic type exposes the following members.

Public methodEllipsoidGeodesic(Ellipsoid, Cartographic, Cartographic)
Initializes a geodesic on the ellipsoid connecting the two provided planetodetic points.
Public methodEllipsoidGeodesic(Ellipsoid, Cartographic, Double, Double)
Initializes a geodesic on the ellipsoid starting at the provided point and which has the indicated heading at that point and ends at a point located at the provided distance from the starting point.
Public propertyEllipsoid
Gets the ellipsoid on which the geodesic lies.
(Overrides EllipsoidSurfaceCurveEllipsoid.)
Public propertyFinalHeading
Gets the heading at the final point.
Public propertyFinalPoint
Gets the final planetodetic point on the path.
(Overrides EllipsoidSurfaceCurveFinalPoint.)
Public propertyInitialHeading
Gets the heading at the initial point.
Public propertyInitialPoint
Gets the initial planetodetic point on the path.
(Overrides EllipsoidSurfaceCurveInitialPoint.)
Public propertySurfaceDistance
Gets the total distance along the geodesic to the location of the final point.
(Overrides EllipsoidSurfaceCurveSurfaceDistance.)
Public methodComputeCartographicExtent
Computes the cartographic bounding box which contains the surface curve. This includes looking for the minimum and maximum latitudes which may lie above or below the initial and final points due to oblateness in the Ellipsoid.
(Overrides EllipsoidSurfaceCurveComputeCartographicExtent.)
Protected methodComputeHashCode
Computes the hash code for this curve.
(Inherited from EllipsoidSurfaceCurve.)
Public methodComputeIntersection
Computes the nearest intersection (if any) between two EllipsoidSurfaceCurves.
(Inherited from EllipsoidSurfaceCurve.)
Public methodEquals(EllipsoidSurfaceCurve)
Indicates whether the current object is equal to another object of the same type.
(Inherited from EllipsoidSurfaceCurve.)
Public methodEquals(Object)
Indicates whether another object is exactly equal to this instance.
(Inherited from EllipsoidSurfaceCurve.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindClosestPointOnCurve(Cartographic)
Finds the closest point on the curve from the input point.
(Inherited from EllipsoidSurfaceCurve.)
Public methodFindClosestPointOnCurve(Cartographic, Double)
Finds the closest point on the curve from the input point.
(Overrides EllipsoidSurfaceCurveFindClosestPointOnCurve(Cartographic, Double).)
Public methodGetDiscretePoints
Get a set of points which represent the curve discretely based on a given granularity.
(Inherited from EllipsoidSurfaceCurve.)
Public methodGetHashCode
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from EllipsoidSurfaceCurve.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHeading
Provides the heading at a location on the geodesic.
Public methodHeadingMotion
Provides the heading and rate of change of heading at a location on the geodesic.
Public methodInterpolateUsingFraction
Provides the location of a point at the indicated portion along the geodesic.
(Overrides EllipsoidSurfaceCurveInterpolateUsingFraction(Double).)
Public methodInterpolateUsingSurfaceDistance
Provides the location of a point at the indicated distance along the geodesic.
(Overrides EllipsoidSurfaceCurveInterpolateUsingSurfaceDistance(Double).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSurfaceMotion(Double)
Converts the motion given in terms of motion on the geodesic curve to motion of the surface point.
Public methodSurfaceMotion(Double, Double, Double)
Converts the motion given in terms of motion on the geodesic curve to motion of the surface point.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
See Also