Class TLcdEllipsoidUtil
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
calculateCircleTangentLine
(ILcdPoint aPoint, ILcdPoint aCenter, double aRadius, boolean aClockwise, ILcdEllipsoid aEllipsoid, double aAbsoluteTolerance, ILcd2DEditablePoint aTangentialPointSFCT) Find the point where a line through the given point aPoint is tangential to the given circle.static double
closestPointOnGeodesic
(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT) Finds the shortest distance from pointaP3
to the geodesic line segmentaP1-aP2
to within an accuracy ofmax( aAbsoluteTolerance, aRelativeTolerance * distance(aP1,aP2) )
.static double
closestPointOnShape
(ILcdPoint aPoint, ILcdShape aShape, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aResultSFCT) Finds the shortest distance from the given point to the given shape.static ILcdComplexPolygon
computeBufferContour2D
(ILcdGeoBuffer aBuffer, ILcdEllipsoid aEllipsoid) Calculates the contour of anILcdGeoBuffer
in the geodetic space.static ILcdComplexPolygon
computeBufferContour2D
(ILcdGeoBuffer aBuffer, ILcdEllipsoid aEllipsoid, int aBufferCapsPrecision) Calculates the contour of anILcdGeoBuffer
in the geodetic space.static double
conformalSphericalLatitudeMollweide
(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for conformal spherical latitude of a given geodetic latitude.static double
conformalSphericalLatitudeMollweide
(ILcdEllipsoid aEllipsoid, double aLatitude, double aCosLat, double aSinLat) Mollweide solution for conformal spherical latitude of a given geodetic latitude.static boolean
contains2D
(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aPoint) Checks if the pointaPoint
lies on the geodesic betweenaP1
andaP2
.static boolean
contains2DLS
(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4) Checks if the geodesicaP1-aP2
contains the geodesicaP3-aP4
.static double
geodesicArea
(ILcdPoint[] aPts, int aN, ILcdEllipsoid aEllipsoid) Geodesic surface area of a polygon on the ellipsoid.static double
geodesicArea
(ILcdShape aShape, ILcdEllipsoid aEllipsoid) Calculates the geodesic area of a shape.static double
geodesicDistance3D
(ILcdPoint aPoint1, ILcdPoint aPoint2, ILcdEllipsoid aEllipsoid) Calculates the distance to go from point p1 to point p2.static void
geodesicDistanceAndForwardAzimuth
(ILcdPoint aLonLatPoint1, ILcdPoint aLonLatPoint2, ILcdEllipsoid aEllipsoid, double[] aResultSFCT) Calculates the geodesic distance between the two points and the forward azimuth (in radians).static int
intersection2DLineSegments
(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, double aAbsoluteTolerance, ILcd2DEditablePoint aResult1SFCT, ILcd2DEditablePoint aResult2SFCT) Calculates the intersection of two geodesic line segments defined by the given points.static void
intersection2DLSSFCT
(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLResultSFCT) Deprecated.static int
intersectionCircleCircle
(ILcdPoint aC1, double aRadius1, ILcdPoint aC2, double aRadius2, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aResult1SFCT, ILcd2DEditablePoint aResult2SFCT) Calculates the intersection points between 2 circles which are defined on a given ellipsoid.static void
intersectionGeodesicGeodesic
(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLResultSFCT) Calculates the intersection point of two great circle lines (geodesics) defined by the given points.static boolean
intersects2DLS
(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4) Checks whether two geodesic line segments intersect.static double
inverseConformalSphericalLatitudeMollweide
(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude.static double
inverseConformalSphericalLatitudeMollweideDirect
(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude.static double
inverseConformalSphericalLatitudeMollweideDirect
(ILcdEllipsoid aEllipsoid, double aLatitude, double aCosLat, double aSinLat) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude.static int
orientation2D
(ILcdPoint[] aPoints, int aNumberOfPoints, ILcdEllipsoid aEllipsoid) Calculates the orientation of an array of points on an ellipsoid.static int
orientation2D
(ILcdPointList aPointList, ILcdEllipsoid aEllipsoid) Calculates the orientation of a point list on the ellipsoid.
-
Constructor Details
-
TLcdEllipsoidUtil
public TLcdEllipsoidUtil()
-
-
Method Details
-
geodesicDistanceAndForwardAzimuth
public static void geodesicDistanceAndForwardAzimuth(ILcdPoint aLonLatPoint1, ILcdPoint aLonLatPoint2, ILcdEllipsoid aEllipsoid, double[] aResultSFCT) Calculates the geodesic distance between the two points and the forward azimuth (in radians).- Parameters:
aLonLatPoint1
- start point of the geodesic.aLonLatPoint2
- end point of the geodesic.aEllipsoid
- ellipsoid on which the geodesic is defined.aResultSFCT
- contains the result of the calculation as a side effect. The geodesic distance is at index 0 and the forward azimuth (radians) is at index 1 . The length of the array is required to be at least of length 2 .
-
contains2D
public static boolean contains2D(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aPoint) Checks if the pointaPoint
lies on the geodesic betweenaP1
andaP2
.- Parameters:
aEllipsoid
- ellipsoid on which the geodesic is defined.aP1
- start point of the geodesic.aP2
- end point of the geodesic.aPoint
- point to be checked.- Returns:
- true if the point is on the geodesic, false otherwise.
-
contains2DLS
public static boolean contains2DLS(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4) Checks if the geodesicaP1-aP2
contains the geodesicaP3-aP4
.- Parameters:
aEllipsoid
- ellipsoid on which the geodesics are defined.aP1
- start point of the first geodesic.aP2
- end point of the first geodesic.aP3
- start point of the second geodesic.aP4
- end point of the second geodesic.- Returns:
- true if the first geodesic contains the second, false otherwise.
-
intersects2DLS
public static boolean intersects2DLS(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4) Checks whether two geodesic line segments intersect. Any intersection will always lie on both segments (i.e. between aP1 and aP2, and between aP3 and aP4). Refer tointersectionGeodesicGeodesic(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, com.luciad.shape.shape2D.ILcd2DEditablePoint)
for checking the intersection of entire geodesics.- Parameters:
aP1
- start point of the first line segment.aP2
- end point of the first line segment.aP3
- start point of the second line segment.aP4
- end point of the second line segment.- Returns:
true
if the segments intersect each other,false
otherwise.
-
conformalSphericalLatitudeMollweide
public static double conformalSphericalLatitudeMollweide(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for conformal spherical latitude of a given geodetic latitude. Solution taken from Bugayevskiy and Snyder, Map Projections, a reference manual , 1995, pp. 33-35.- Parameters:
aEllipsoid
- ellipsoid considered.aLatitude
- latitude, in degrees.- Returns:
- conformal spherical latitude for the given geodetic latitude.
-
conformalSphericalLatitudeMollweide
public static double conformalSphericalLatitudeMollweide(ILcdEllipsoid aEllipsoid, double aLatitude, double aCosLat, double aSinLat) Mollweide solution for conformal spherical latitude of a given geodetic latitude. Solution taken from Bugayevskiy and Snyder, Map Projections, a reference manual , 1995, pp. 33-35.- Parameters:
aEllipsoid
- ellipsoid considered.aLatitude
- latitude, in degrees.aCosLat
- the cosine of the latitude.aSinLat
- the sine of the latitude.- Returns:
- conformal spherical latitude for the given geodetic latitude.
-
inverseConformalSphericalLatitudeMollweide
public static double inverseConformalSphericalLatitudeMollweide(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude. Iterative procedure. Solution taken from Bugayevskiy and Snyder, Map Projections, a reference manual , 1995, pp. 33-35.- Parameters:
aEllipsoid
- ellipsoid considered.aLatitude
- latitude, in degrees.- Returns:
- inverse conformal spherical latitude.
-
inverseConformalSphericalLatitudeMollweideDirect
public static double inverseConformalSphericalLatitudeMollweideDirect(ILcdEllipsoid aEllipsoid, double aLatitude) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude. Direct solution because of series expansion to avoid iterative procedure.- Parameters:
aEllipsoid
- ellipsoid considered.aLatitude
- latitude, in degrees.- Returns:
- inverse conformal spherical latitude.
- See Also:
-
inverseConformalSphericalLatitudeMollweideDirect
public static double inverseConformalSphericalLatitudeMollweideDirect(ILcdEllipsoid aEllipsoid, double aLatitude, double aCosLat, double aSinLat) Mollweide solution for inverse conformal spherical latitude of a geodetic latitude. Direct solution because of series expansion to avoid iterative procedure.- Parameters:
aEllipsoid
- ellipsoid considered.aLatitude
- latitude, in degrees.aCosLat
- the cosine of the latitude.aSinLat
- the sine of the latitude.- Returns:
- inverse conformal spherical latitude.
-
closestPointOnShape
public static double closestPointOnShape(ILcdPoint aPoint, ILcdShape aShape, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aResultSFCT) Finds the shortest distance from the given point to the given shape. The corresponding point on the shape is returned in the side effect parameter.This methods supports
rhumb
andgeodesic
ILcdPolyline
andILcdPolygon
instances.- Parameters:
aPoint
- the starting pointaShape
- the shape for which to find the point closest to aPointaEllipsoid
- the ellipsoid on which to perform the calculationaResultSFCT
- side-effect parameter for the resulting point- Returns:
- the shortest distance (meters)
- Throws:
IllegalArgumentException
- if the provided shape is not supported
-
closestPointOnGeodesic
public static double closestPointOnGeodesic(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT) Finds the shortest distance from pointaP3
to the geodesic line segmentaP1-aP2
to within an accuracy ofmax( aAbsoluteTolerance, aRelativeTolerance * distance(aP1,aP2) )
. The corresponding point on the geodesic line segment is returned in the side effect parameteraResultSFCT
.- Parameters:
aP1
- start point of the geodesic line segment.aP2
- end point of the geodesic line segment.aP3
- point from which the shortest distance to the line segment is sought.aEllipsoid
- ellipsoid on which to perform the calculation.aRelativeTolerance
- relative tolerance.aAbsoluteTolerance
- absolute tolerance.aResultSFCT
- contains the point on the geodesic line segment that is the shortest from pointaP3
.- Returns:
- the distance from point
aP3
to the geodesic line segmentaP1-aP2
(meters).
-
intersection2DLineSegments
public static int intersection2DLineSegments(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, double aAbsoluteTolerance, ILcd2DEditablePoint aResult1SFCT, ILcd2DEditablePoint aResult2SFCT) Calculates the intersection of two geodesic line segments defined by the given points. Any intersection will always lie on both segments (i.e. between aP1 and aP2, and between aP3 and aP4).The method has two
ILcd2DEditablePoint
objects as side effect parameters containing the result. They are filled in depending on the return value of the method.Refer to
intersectionGeodesicGeodesic(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, com.luciad.shape.shape2D.ILcd2DEditablePoint)
for checking the intersection of entire geodesics.- Parameters:
aP1
- the start point of the first geodesic.aP2
- the end point of the first geodesic.aP3
- the start point of the second geodesic.aP4
- the end point of the second geodesic.aEllipsoid
- the ellipsoid on which the points are defined.aAbsoluteTolerance
- the tolerance allowed on the result.aResult1SFCT
- the intersection point (or an end point of the interval of overlapping points).aResult2SFCT
- if there is an interval of overlapping points, this contains one of the end points.- Returns:
- 0: no intersection between the two geodesics
- 1: the geodetics have one intersection point
- -1: the two geodetics share an interval of points
-
intersection2DLSSFCT
@Deprecated public static void intersection2DLSSFCT(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLResultSFCT) throws IllegalArgumentException Deprecated.the name of this method contradicts the actual behavior, useintersectionGeodesicGeodesic(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, com.luciad.shape.shape2D.ILcd2DEditablePoint)
Calculates the intersection point of two great circle lines (geodesics) defined by the given points. Seeintersection2DLineSegments(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, double, com.luciad.shape.shape2D.ILcd2DEditablePoint, com.luciad.shape.shape2D.ILcd2DEditablePoint)
for calculating the intersection of line segments.Since great circle planes that do no coincide always have two intersection points, the most appropriate is chosen. If one of the two possibilities is on one of the line segments that one is chosen. Otherwise, the one closest to one of the end points is chosen.
- Parameters:
aP1
- a point on the first geodesic.aP2
- another point on the first geodesic. Should not coincide with aP1.aP3
- a point on the second geodesic.aP4
- another point on the second geodesic. Should not coincide with aP3.aEllipsoid
- the ellipsoidaLLResultSFCT
- the intersection point as side effect.- Throws:
IllegalArgumentException
- if no intersection point can be found or chosen.
-
intersectionGeodesicGeodesic
public static void intersectionGeodesicGeodesic(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aP3, ILcdPoint aP4, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLResultSFCT) throws IllegalArgumentException Calculates the intersection point of two great circle lines (geodesics) defined by the given points. Seeintersection2DLineSegments(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, double, com.luciad.shape.shape2D.ILcd2DEditablePoint, com.luciad.shape.shape2D.ILcd2DEditablePoint)
for calculating the intersection of line segments.Since great circle planes that do no coincide always have two intersection points, the most appropriate is chosen. If one of the two possibilities is on one of the line segments that one is chosen. Otherwise, the one closest to one of the end points is chosen.
- Parameters:
aP1
- a point on the first geodesic.aP2
- another point on the first geodesic. Should not coincide with aP1.aP3
- a point on the second geodesic.aP4
- another point on the second geodesic. Should not coincide with aP3.aEllipsoid
- the ellipsoidaLLResultSFCT
- the intersection point as side effect.- Throws:
IllegalArgumentException
- if no intersection point can be found or chosen.- Since:
- 2021.0
-
computeBufferContour2D
public static ILcdComplexPolygon computeBufferContour2D(ILcdGeoBuffer aBuffer, ILcdEllipsoid aEllipsoid) Calculates the contour of anILcdGeoBuffer
in the geodetic space. This method directly calls thecomputeBufferContour2D(ILcdGeoBuffer, ILcdEllipsoid, int)
method. See the javadoc of that method from more information. This method uses a buffer caps precision of 8.- Parameters:
aBuffer
- the buffer for which the contour must be calculated.aEllipsoid
- the ellipsoid on which to perform the calculations.- Returns:
- the contour of the buffer.
-
computeBufferContour2D
public static ILcdComplexPolygon computeBufferContour2D(ILcdGeoBuffer aBuffer, ILcdEllipsoid aEllipsoid, int aBufferCapsPrecision) Calculates the contour of anILcdGeoBuffer
in the geodetic space. OnlyILcdGeoBuffer
objects with a base shape of the typeILcdPolyline
,ILcdPolygon
,ILcdComplexPolygon
orILcdPoint
are supported. By definition, the contour of the buffer is constructed by creating a closed polygon around the axis, in which each point lies at a distance equal to the width from the axis - except for the end points, which can have a custom style (seeILcdGeoBuffer.getEndCapStyle()
). The contour is modeled as a complex polygon (i.e., a composite polygon consisting of one or more polygons that each define an edge of the contour). In the simplest form, the contour is represented by a single polygon. In cases where the buffer intersects with itself, holes are formed and multiple polygons are used to define the contour. It is possible to control the number of points that are inserted for (rounded) caps or joins using theaBufferCapsPrecision
parameter. This can for example be used to improve rendering performance when you show a large amount of buffers on the view. The calculated contour should preferably not be used in combination with layers that use a geodetic pen with straightLineMode enabled (seeTLcdGeodeticPen.isStraightLineMode()
) because the contour is always calculated in geodetic space, the rendering of the axis could intersect with the contour if it is drawn in cartesian mode.- Parameters:
aBuffer
- the buffer for which the contour must be calculated.aEllipsoid
- the ellipsoid on which to perform the calculations.aBufferCapsPrecision
- the precision represents the amount of edges per quarter-circle used for discretization of caps and joins. The value must be larger than 0, and is typically 8. When passing a value of 1, the cap or join will consist of only 1 edge. Using larger values will lead to rounder, smoother results. Recommended values are in the range of 1 to 12.- Returns:
- the contour of the buffer.
- Throws:
IllegalArgumentException
- when aBufferCapsPrecision is smaller than 1- Since:
- 2022.1
-
geodesicArea
Geodesic surface area of a polygon on the ellipsoid.Constraints: (
aN
> 2) and (aPts.length >= aN
).This is an approximation based on the spherical formulae using a Gaussian radius.
- Parameters:
aPts
- array ofILcdPoint
objects.aN
-aPts[0..aN-1]
defines the polygon on the sphere.aEllipsoid
- an ellipsoid- Returns:
- the surface area in meter2. Positive for counterclockwise polygons, negative otherwise.
-
geodesicArea
Calculates the geodesic area of a shape.Following shapes are supported:
ILcdPolygon
that doesn't self-intersectILcdComplexPolygon
that is geometrically valid: no individual polygon can be self-intersecting, and no two polygons may intersect. Nested polygons are allowed.ILcdSurface
with external and internal rings as polygons. The surface must also be geometrically valid.ILcdShapeList
containing supported shapes.
This method does not fully check the validity of the arguments, since it is computationally too expensive to do so. Passing an unsupported shape may result in an
IllegalArgumentException
being thrown, or may result in an undefined return value.- Parameters:
aShape
- a shape adhering to the requirements aboveaEllipsoid
- ellipsoid on which to calculate the surface area- Returns:
- the surface area in meter2, always positive
- Since:
- 2022.0
- See Also:
-
orientation2D
Calculates the orientation of an array of points on an ellipsoid.Constraints: (
aNumberOfPoints
> 2) and (aPoints.length >= aNumberOfPoints
).- Parameters:
aPoints
- array ofILcdPoint
objects (first point is not repeated).aNumberOfPoints
- the number of points of the array to take into account.aEllipsoid
- an ellipsoid.- Returns:
- the orientation of the polygon. Possible return values are ILcdPolygon#CLOCKWISE and ILcdPolygon#COUNTERCLOCKWISE.
-
orientation2D
Calculates the orientation of a point list on the ellipsoid.Constraints: (
aPointList.length > 2
).- Parameters:
aPointList
- the point list to compute the orientation of. Note that this implies interpreting the point list as a polygon. The last point of the point list does not need to be equal to the first point.aEllipsoid
- an ellipsoid.- Returns:
- the orientation of the polygon which would be described by the point list.
Possible return values are
ILcdPolygon.CLOCKWISE
andILcdPolygon.COUNTERCLOCKWISE
.
-
intersectionCircleCircle
public static int intersectionCircleCircle(ILcdPoint aC1, double aRadius1, ILcdPoint aC2, double aRadius2, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aResult1SFCT, ILcd2DEditablePoint aResult2SFCT) Calculates the intersection points between 2 circles which are defined on a given ellipsoid. If no intersections are found, none of the given points are adjusted. If only 1 intersection is found only the first point is adjusted. When 2 intersections are found, both points are adjusted.- Parameters:
aC1
- Center point of the first circleaRadius1
- Radius of the first circleaC2
- Center point of the second circleaRadius2
- Radius of the second circleaEllipsoid
- The ellipsoid on which the circles are locatedaResult1SFCT
- The first intersectionaResult2SFCT
- The second intersection- Returns:
- The number of intersections found.
-
calculateCircleTangentLine
public static void calculateCircleTangentLine(ILcdPoint aPoint, ILcdPoint aCenter, double aRadius, boolean aClockwise, ILcdEllipsoid aEllipsoid, double aAbsoluteTolerance, ILcd2DEditablePoint aTangentialPointSFCT) throws IllegalArgumentException Find the point where a line through the given point aPoint is tangential to the given circle. This point is uniquely defined because we only look in a 90-degree range, starting from the direction from the center of the circle to the given point. On which side of this direction to look is defined by theaClockwise
parameter.- Parameters:
aPoint
- Given point outside of circle.aCenter
- Center of given circle.aRadius
- Radius of the given circle.aClockwise
- Look in clockwise direction starting from direction to aPointaEllipsoid
- the ellipsoid on which calculations are performed.aAbsoluteTolerance
- the allowed tolerance for the result. This tolerance is used to compare azimuths, so it should be specified in radians. The value may be 0.0 to cause the method to find a solution as accurate as possible. Note that in this case, it is possible that no solution is found. It is advised to always specify a tolerance, for example 1e-10.aTangentialPointSFCT
- The resulting point, if found.- Throws:
IllegalArgumentException
- if there is no circle center such that the touching points would be on the respective line segments.
-
geodesicDistance3D
public static double geodesicDistance3D(ILcdPoint aPoint1, ILcdPoint aPoint2, ILcdEllipsoid aEllipsoid) Calculates the distance to go from point p1 to point p2. UnlikeILcdEllipsoid#geodesicDistance
, which ignores the height of the points, the distance calculations of this method take the heights of the given points into account.- Parameters:
aPoint1
- the start (geodetic) pointaPoint2
- the end (geodetic) pointaEllipsoid
- the ellipsoid on which to perform the distance calculation- Returns:
- the 3D distance of the line segment formed by aPoint1 and aPoint2
- Since:
- 2022.1
-
intersectionGeodesicGeodesic(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint, com.luciad.geodesy.ILcdEllipsoid, com.luciad.shape.shape2D.ILcd2DEditablePoint)