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

Class LatLonEllipsoidalBaseDI

               object --+                
                        |                
             named._Named --+            
                            |            
             named._NamedBase --+        
                                |        
                   object --+   |        
                            |   |        
            named._NamedLocal --+        
                                |        
            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.
 
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 (line) given by an initial bearing at this point.
 
distanceTo(self, other, wrap=False, **unused)
Compute the distance between this and an other point along a geodesic.
 
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.
 
finalBearingTo(self, other, wrap=False)
Compute the final bearing (reverse azimuth) after having travelled along a geodesic from this point to an other point.
 
initialBearingTo(self, other, wrap=False)
Compute the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point.
 
intermediateTo(self, other, fraction, height=None, wrap=False)
Return the point at given fraction along the geodesic between this and an other point.
 
intersecant2(self, circle, start, end, 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 a bearing from North.
 
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, start, end, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)
Compute the intersection of a geodesic from this point perpendicular to a geodesic (line) given as two points or as a point and a bearing from North.

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, toNormal, toNvector, toStr, toVector, toVector3d, toWm, vincentysTo

Inherited from named._NamedBase: __repr__, others, toRepr

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

Inherited from named._NamedLocal: toAer, toEnu, toLocal, toLtp, toNed, toXyz

Inherited from object: __delattr__, __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: clipid, height, isEllipsoidal, isSpherical, isnormal, lam, lat, latlon, latlonheight, lon, phi, philam, philamheight, sphericalLatLon, xyz, xyz3, xyzh

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

Inherited from named._NamedLocal: Ecef

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 (this LatLon).
  • wrap - If True, wrap or normalize and unroll the other point (bool).
Returns:
A Bearing2Tuple(initial, final).
Raises:
  • TypeError - If other not this LatLon class.
  • 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. See method destination2 for further details.

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 (line) given by an initial bearing at this point.

The distance must be in the same units as this point's datum's ellipsoid's 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, clockwise from North.

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. See method distanceTo3 for more details.

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

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's ellipsoid's 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, clockwise 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 - If other not this LatLon class.
  • ValueError - 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. 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. 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 - If other not this LatLon class.
  • ValueError - This and the other point's Datum ellipsoids are incompatible.

initialBearingTo (self, other, wrap=False)

 

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

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

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

 

Return the point at given fraction along the geodesic between this and an other point.

Arguments:
  • other - The other point (this 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 - If other not this LatLon class.
  • UnitError - Invalid fraction or height.
  • ValueError - This and the other point's Datum ellipsoids are incompatible.
Overrides: ellipsoidalBase.LatLonEllipsoidalBase.intermediateTo

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

intersecant2 (self, circle, start, end, 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 a bearing from North.

Arguments:
  • circle - Radius of the circle centered at this location (meter, conventionally) or a point on the circle (this LatLon).
  • start - Start point of the geodesic (line) (this LatLon).
  • end - End point of the geodesic (line) (this LatLon) or the initial bearing at the start point (compass degrees360).
  • exact - Exact geodesic... to use (bool or Geodesic...), see method geodesic_.
  • height - Optional height for the intersection points (meter, conventionally) or None for interpolated heights.
  • wrap - If True, wrap or normalize and unroll the circle, start and/or end (bool).
  • tol - Convergence tolerance (scalar).
Returns:
2-Tuple of the intersection points (representing a geodesic chord), each an instance of this LatLon class. 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 - Invalid circle, start or end.
  • UnitError - Invalid circle, end, 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, each point's height is taken into account to compute distances.
  • wrap - If True, wrap or normalize and unroll the points (bool).
  • equidistant - An azimuthal equidistant projection (class or function pygeodesy.equidistant) or None for the preferred Equidistant.
  • tol - Convergence tolerance (meter, conventionally).
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 class.
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, start, end, exact=False, height=None, wrap=False, tol=1.4901161193847656e-08)

 

Compute the intersection of a geodesic from this point perpendicular to a geodesic (line) given as two points or as a point and a bearing from North.

Arguments:
  • start - Start point of the geodesic (line) (this LatLon).
  • end - End point of the geodesic (line) (this LatLon) or the initial bearing at the start point (compass degrees360).
  • 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 start and/or end point (bool).
  • tol - Convergence tolerance (meter).
Returns:
The intersection point, an instance of this LatLon class.
Raises:
  • TypeError - If start or end not this LatLon class.
  • UnitError - Invalid end, 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.