Package pygeodesy :: Module ellipsoidalVincenty :: Class LatLon
[frames] | no frames]

Class LatLon

                   object --+            
                            |            
                   bases.Base --+        
                                |        
           bases.LatLonHeightBase --+    
                                    |    
ellipsoidalBase.LatLonEllipsoidalBase --+
                                        |
                                       LatLon

Using the formulae devised by Thaddeus Vincenty (1975) with an ellipsoidal model of the earth to compute the geodesic distance and bearings between two given points or the destination point given an start point and initial bearing.

Set the earth model to be used with the keyword argument datum. The default is Datums.WGS84, which is the most globally accurate. For other models, see the Datums in module datum.

Note: This implementation of the Vincenty methods may not converge for some valid points, raising a VincentyError. In that case, a result may be obtained by increasing the epsilon and/or the iteration limit, see properties LatLon.epsilon and LatLon.iterations.

Instance Methods
 
copy(self)
Copies this point.
 
destination(self, distance, bearing, height=None)
Returns the destination point after having travelled for the given distance from this point along a geodesic given by an initial bearing, using Vincenty's direct method.
 
destination2(self, distance, bearing, height=None)
Returns 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 Vincenty's direct method.
 
distanceTo(self, other)
Computes the distance between this and an other point along a geodesic, using Vincenty's inverse method.
 
distanceTo3(self, other)
Computes the distance and the initial and final bearing along a geodesic between this and an other point, using Vincenty's inverse method.
 
finalBearingOn(self, distance, bearing)
Returns the final bearing (reverse azimuth) after having travelled for the given distance along a geodesic given by an initial bearing from this point, using Vincenty's direct method.
 
finalBearingTo(self, other)
Returns the final bearing (reverse azimuth) after having travelled along a geodesic from this point to an other point, using Vincenty's inverse method.
 
initialBearingTo(self, other)
Returns the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using Vincenty's inverse method.
 
bearingTo(self, other)
Returns the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using Vincenty's inverse method.
 
toCartesian(self)
Converts this (geodetic) point to (geocentric) x/y/z Cartesian coordinates.

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: __init__, convertDatum, ellipsoid, ellipsoids, parse, to3xyz, toOsgr, toUtm

Inherited from bases.LatLonHeightBase: __eq__, __ne__, __str__, bounds, equals, isclockwise, points, to2ab, to3llh, toStr

Inherited from bases.Base: __repr__, classname, others, toStr2, topsub

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

Properties
  epsilon
Gets the convergence epsilon (scalar).
  iterations
Gets the iteration limit (int).

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: datum, isellipsoidal, isspherical

Inherited from bases.LatLonHeightBase: height, lat, lon

Inherited from object: __class__

Method Details

copy(self)

 

Copies this point.

Returns:
Copy of this point (LatLon).
Overrides: bases.LatLonHeightBase.copy

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

 

Returns the destination point after having travelled for the given distance from this point along a geodesic given by an initial bearing, using Vincenty's direct method. See method destination2 for more details.

Parameters:
  • distance - Distance in meters (scalar).
  • bearing - Initial bearing in compass degrees (scalar).
  • height - Optional height, overriding the default height (meter).
Returns:
The destination point (LatLon).
Raises:

Example:

>>> p = LatLon(-37.95103, 144.42487)
>>> d = p.destination(54972.271, 306.86816)  # 37.6528°S, 143.9265°E

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

 

Returns 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 Vincenty's direct method.

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

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

The destination point's height and datum are set to this point's height and datum.

Parameters:
  • distance - Distance in meters (scalar).
  • bearing - Initial bearing in compass degrees (scalar).
  • height - Optional height, overriding the default height (meter).
Returns:
2-Tuple (destination, final bearing) in (LatLon, degrees360).
Raises:

Example:

>>> p = LatLon(-37.95103, 144.42487)
>>> b = 306.86816
>>> d, f = p.destination2(54972.271, b)  # 37.652818°S, 143.926498°E, 307.1736

distanceTo(self, other)

 

Computes the distance between this and an other point along a geodesic, using Vincenty's inverse method. See method distanceTo3 for more details.

Parameters:
  • other - The other point (LatLon).
Returns:
Distance in meters (scalar).
Raises:

Example:

>>> p = LatLon(50.06632, -5.71475)
>>> q = LatLon(58.64402, -3.07009)
>>> d = p.distanceTo(q)  # 969,954.166 m

distanceTo3(self, other)

 

Computes the distance and the initial and final bearing along a geodesic between this and an other point, using Vincenty's inverse method.

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

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

Parameters:
  • other - Destination point (LatLon).
Returns:
3-Tuple (distance, initial bearing, final bearing) in (meter, degrees360, degree360).
Raises:

finalBearingOn(self, distance, bearing)

 

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

Parameters:
  • distance - Distance in meter (scalar).
  • bearing - Initial bearing (compass degrees).
Returns:
Final bearing from North (degrees360).
Raises:

Example:

>>> p = LatLon(-37.95103, 144.42487)
>>> b = 306.86816
>>> f = p.finalBearingOn(54972.271, b)  # 307.1736

finalBearingTo(self, other)

 

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

Parameters:
  • other - The other point (LatLon).
Returns:
Final bearing in compass degrees (degrees360).
Raises:

Example:

>>> p = new LatLon(50.06632, -5.71475)
>>> q = new LatLon(58.64402, -3.07009)
>>> f = p.finalBearingTo(q)  # 11.2972°
>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(48.857, 2.351)
>>> f = p.finalBearingTo(q)  # 157.9

initialBearingTo(self, other)

 

Returns the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using Vincenty's inverse method. See method distanceTo3 for more details.

Parameters:
  • other - The other point (LatLon).
Returns:
Initial bearing in compass degrees (degrees360).
Raises:

Example:

>>> p = LatLon(50.06632, -5.71475)
>>> q = LatLon(58.64402, -3.07009)
>>> b = p.initialBearingTo(q)  # 9.141877°
>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(48.857, 2.351)
>>> b = p.initialBearingTo(q)  # 156.11064°

JS name: bearingTo.

bearingTo(self, other)

 

Returns the initial bearing (forward azimuth) to travel along a geodesic from this point to an other point, using Vincenty's inverse method. See method distanceTo3 for more details.

Parameters:
  • other - The other point (LatLon).
Returns:
Initial bearing in compass degrees (degrees360).
Raises:

Example:

>>> p = LatLon(50.06632, -5.71475)
>>> q = LatLon(58.64402, -3.07009)
>>> b = p.initialBearingTo(q)  # 9.141877°
>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(48.857, 2.351)
>>> b = p.initialBearingTo(q)  # 156.11064°

JS name: bearingTo.

toCartesian(self)

 

Converts this (geodetic) point to (geocentric) x/y/z Cartesian coordinates.

Returns:
Ellipsoidal (geocentric) Cartesian point (Cartesian).

Property Details

epsilon

Gets the convergence epsilon (scalar).

Get Method:
epsilon(self, eps=None) - Gets the convergence epsilon (scalar).
Set Method:
epsilon(self, eps) - Sets the convergence epsilon.

iterations

Gets the iteration limit (int).

Get Method:
iterations(self) - Gets the iteration limit (int).
Set Method:
iterations(self, limit) - Sets the iteration limit.