Package pygeodesy :: Module ellipsoidalBaseDI :: Class LatLonEllipsoidalBaseDI
[frames] | no frames]

Class LatLonEllipsoidalBaseDI

               object --+                
                        |                
             named._Named --+            
                            |            
             named._NamedBase --+        
                                |        
            latlonBase.LatLonBase --+    
                                    |    
ellipsoidalBase.LatLonEllipsoidalBase --+
                                        |
                                       LatLonEllipsoidalBaseDI
Known Subclasses:

(INTERNAL) Base class for ellipsoidal*.LatLon classes with overloaded Direct and Inverse methods.

Instance Methods
 
bearingTo2(self, other, wrap=False)
Compute the initial and final bearing (forward and reverse azimuth) from this to an other point, using this Inverse method.
 
destination(self, distance, bearing, height=None)
Compute the destination point after having travelled for the given distance from this point along a geodesic given by an initial bearing, using this Direct method.
 
destination2(self, distance, bearing, height=None)
Compute the destination point and the final bearing (reverse azimuth) after having travelled for the given distance from this point along a geodesic given by an initial bearing, using this Direct method.
 
distanceTo(self, other, wrap=False, **unused)
Compute the distance between this and an other point along a geodesic, using this Inverse method.
 
distanceTo3(self, other, wrap=False)
Compute the distance, the initial and final bearing along a geodesic between this and an other point, using this Inverse method.
 
finalBearingOn(self, distance, bearing)
Compute the final bearing (reverse azimuth) after having travelled for the given distance along a geodesic given by an initial bearing from this point, using this Direct method.
 
finalBearingTo(self, other, wrap=False)
Compute the final bearing (reverse azimuth) after having travelled along a geodesic from this point to an other point, using this Inverse method.
 
initialBearingTo(self, other, wrap=False)
Compute the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using this Inverse method.
 
intermediateTo(self, other, fraction, height=None, wrap=False)
Return the point at given fraction along the geodesic between this and an other point, using this Direct and Inverse methods.
 
intersecant2(self, circle, point, other, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)
Compute the intersections of a circle and a geodesic (line) given as two points or as a point and bearing.
 
nearestOn8(self, points, closed=False, height=None, wrap=False, equidistant=None, tol=0.001)
Iteratively locate the point on a path or polygon closest to this point.
 
plumbTo(self, point, other, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)
Compute the perpendicular intersection of a geodesic (line) with a geodesic from this point.

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: __init__, antipode, convertDatum, convertRefFrame, distanceTo2, elevation2, ellipsoid, ellipsoids, geoidHeight2, intersection3, intersections2, isenclosedBy, midpointTo, nearestOn, parse, to3xyz, toCartesian, toCss, toDatum, toEtm, toLcc, toMgrs, toOsgr, toRefFrame, toTransform, toUps, toUtm, toUtmUps, triangulate, trilaterate5

Inherited from latlonBase.LatLonBase: PointsIter, __eq__, __ne__, __str__, bounds, boundsOf, chordTo, circin6, circum3, circum4_, compassAngle, compassAngleTo, cosineAndoyerLambertTo, cosineForsytheAndoyerLambertTo, cosineLawTo, destinationXyz, equals, equals3, equirectangularTo, euclideanTo, flatLocalTo, flatPolarTo, hartzell, haversineTo, height4, heightStr, hubenyTo, isantipode, isantipodeTo, isequalTo, isequalTo3, latlon2, latlon2round, latlon_, nearestOn6, nearestTo, normal, philam2, points, points2, radii11, rhumbAzimuthTo, rhumbDestination, rhumbDistanceTo, rhumbIntersecant2, rhumbLine, rhumbMidpointTo, thomasTo, to2ab, to3llh, toEcef, toLocal, toLtp, toNormal, toNvector, toStr, toVector, toVector3d, toWm, vincentysTo

Inherited from named._NamedBase: __repr__, others, toRepr

Inherited from named._Named: __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, toStr2

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties
  geodesic
N/A, invalid (None always).

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: Equidistant, convergence, datum, ellipsoidalLatLon, epoch, gamma, iteration, reframe, scale

Inherited from latlonBase.LatLonBase: Ecef, clipid, height, isEllipsoidal, isSpherical, isnormal, lam, lat, latlon, latlonheight, lon, phi, philam, philamheight, sphericalLatLon, xyz, xyzh

Inherited from named._Named: classname, classnaming, name, named, named2, named3, named4, sizeof

Inherited from object: __class__

Method Details

bearingTo2 (self, other, wrap=False)

 

Compute the initial and final bearing (forward and reverse azimuth) from this to an other point, using this Inverse method. See methods initialBearingTo and finalBearingTo for more details.

Arguments:
  • other - The other point (LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
A Bearing2Tuple(initial, final).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.

destination (self, distance, bearing, height=None)

 

Compute the destination point after having travelled for the given distance from this point along a geodesic given by an initial bearing, using this Direct method. See method destination2 for more details.

Arguments:
  • distance - Distance (meter).
  • bearing - Initial bearing in (compass degrees360).
  • height - Optional height, overriding the default height (meter, same units as distance).
Returns:
The destination point (LatLon).

destination2 (self, distance, bearing, height=None)

 

Compute the destination point and the final bearing (reverse azimuth) after having travelled for the given distance from this point along a geodesic given by an initial bearing, using this Direct method.

The distance must be in the same units as this point's datum axes, conventionally meter. The distance is measured on the surface of the ellipsoid, ignoring this point's height.

The initial and final bearing (forward and reverse azimuth) are in compass degrees360.

The destination point's height and datum are set to this point's height and datum, unless the former is overridden.

Arguments:
  • distance - Distance (meter).
  • bearing - Initial bearing (compass degrees360).
  • height - Optional height, overriding the default height (meter, same units as distance).
Returns:
A Destination2Tuple(destination, final).

distanceTo (self, other, wrap=False, **unused)

 

Compute the distance between this and an other point along a geodesic, using this Inverse method. See method distanceTo3 for more details.

Arguments:
  • other - The other point (LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
Distance (meter).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.

distanceTo3 (self, other, wrap=False)

 

Compute the distance, the initial and final bearing along a geodesic between this and an other point, using this Inverse method.

The distance is in the same units as this point's datum axes, conventionally meter. The distance is measured on the surface of the ellipsoid, ignoring this point's height.

The initial and final bearing (forward and reverse azimuth) are in compass degrees360 from North.

Arguments:
  • other - Destination point (LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
A Distance3Tuple(distance, initial, final).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.

finalBearingOn (self, distance, bearing)

 

Compute the final bearing (reverse azimuth) after having travelled for the given distance along a geodesic given by an initial bearing from this point, using this Direct method. See method destination2 for more details.

Arguments:
  • distance - Distance (meter).
  • bearing - Initial bearing (compass degrees360).
Returns:
Final bearing (compass degrees360).

finalBearingTo (self, other, wrap=False)

 

Compute the final bearing (reverse azimuth) after having travelled along a geodesic from this point to an other point, using this Inverse method. See method distanceTo3 for more details.

Arguments:
  • other - The other point (LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
Final bearing (compass degrees360).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.

initialBearingTo (self, other, wrap=False)

 

Compute the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using this Inverse method. See method distanceTo3 for more details.

Arguments:
  • other - The other point (LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
Initial bearing (compass degrees360).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.

intermediateTo (self, other, fraction, height=None, wrap=False)

 

Return the point at given fraction along the geodesic between this and an other point, using this Direct and Inverse methods.

Arguments:
  • other - The other point (LatLon).
  • fraction - Fraction between both points (scalar, 0.0 at this and 1.0 at the other point.
  • height - Optional height, overriding the fractional height (meter).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
Intermediate point (LatLon).
Raises:
  • TypeError - The other point is not LatLon.
  • UnitError - Invalid fraction or height.
  • ValueError - If this and the other point's Datum ellipsoids are not compatible.
Overrides: ellipsoidalBase.LatLonEllipsoidalBase.intermediateTo

See Also: Methods distanceTo3, destination, midpointTo and rhumbMidpointTo.

intersecant2 (self, circle, point, other, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)

 

Compute the intersections of a circle and a geodesic (line) given as two points or as a point and bearing.

Arguments:
  • circle - Radius of the circle centered at this location (meter, conventionally) or a point on the circle (this LatLon).
  • point - A location on the geodesic (this LatLon).
  • other - An other point on the geodesic (this LatLon) or the (forward) bearing at the point (compass degrees).
  • exact - Exact geodesic... to use (bool or Geodesic...), see method Ellipsoid.geodesic_.
  • height - Optional height for the intersection points (meter, conventionally) or None for interpolated heights.
  • wrap - If True, wrap or normalize and unroll the point, circle and/or other (bool).
  • tol - Convergence tolerance (scalar).
Returns:
2-Tuple of the intersection points (representing a geodesic chord), each an instance of this LatLon. Both points are the same instance if the geodesic (line) is tangential to the circle.
Raises:
  • IntersectionError - The circle and geodesic do not intersect.
  • TypeError - If point is not this LatLon or circle or other invalid.
  • UnitError - Invalid circle, other, exact or height.
Overrides: latlonBase.LatLonBase.intersecant2

See Also: Method rhumbIntersecant2.

nearestOn8 (self, points, closed=False, height=None, wrap=False, equidistant=None, tol=0.001)

 

Iteratively locate the point on a path or polygon closest to this point.

Arguments:
  • points - The path or polygon points (LatLon[]).
  • closed - Optionally, close the polygon (bool).
  • height - Optional height, overriding the height of this and all other points (meter, conventionally). If height is None, the height of each point is taken into account for distances.
  • wrap - If True, wrap or normalize and unroll the points (bool).
Returns:
A NearestOn8Tuple(closest, distance, fi, j, start, end, initial, final) with distance in meter, conventionally and with the closest, the start the end point each an instance of this LatLon.
Raises:
  • PointsError - Insufficient number of points.
  • TypeError - Some points or equidistant invalid.
  • ValueError - Some points' datum or ellipsoid incompatible or no convergence for the given tol.

See Also: Function pygeodesy.nearestOn6 and method nearestOn6.

plumbTo (self, point, other, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)

 

Compute the perpendicular intersection of a geodesic (line) with a geodesic from this point.

Arguments:
  • point - A location (LatLon) on the geodesic (line).
  • other - An other point (LatLon) on the geodesic (line) or the (forward) bearing at the point (compass degrees).
  • exact - Exact geodesic... to use (bool or Geodesic...), see method Ellipsoid.geodesic_.
  • height - Optional height for the intersection point (meter, conventionally) or None for an interpolated height.
  • wrap - If True, wrap or normalize and unroll the point and/or other (bool).
  • tol - Convergence tolerance (scalar).
Returns:
The intersection point, an instance of this LatLon.
Raises:
  • TypeError - If point or other not this LatLon.
  • UnitError - Invalid other, exact or height.

Property Details

geodesic

N/A, invalid (None always).

Get method:
geodesic(self) - N/A, invalid (None always).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.