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

Class LatLon

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

An n-vector-based ellipsoidal LatLon point.


Example:

>>> from ellipsoidalNvector import LatLon
>>> p = LatLon(52.205, 0.119)  # height=0, datum=Datums.WGS84

Instance Methods
 
deltaTo(self, other)
Calculates NED delta from this point to an other point.
 
destinationNed(self, delta)
Calculates destination point using supplied delta from this point.
 
equals(self, other, eps=None)
Compares this point with an other point.
 
intermediateTo(self, other, fraction, height=None)
Returns the point at given fraction between this and an other point.
 
toCartesian(self)
Convert this (geodetic) point to (geocentric x/y/z) Cartesian coordinates.
 
toNvector(self)
Convert this point to an Nvector normal to the earth's surface.

Inherited from nvector.LatLonNvectorBase: others, to4xyzh

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

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

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

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

Properties

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: datum, isellipsoidal, isspherical

Inherited from bases.LatLonHeightBase: height, lat, lon

Inherited from object: __class__

Method Details

deltaTo(self, other)

 

Calculates NED delta from this point to an other point.

The delta is returned as a North-East-Down (NED) vector.

Note, this is a linear delta, unrelated to a geodesic on the ellipsoid. The points need not be defined on the same datum.

Parameters:
  • other - The other point (LatLon).
Returns:
Delta of this point (Ned).
Raises:
  • TypeError - The other point is not LatLon.
  • ValueError - If ellipsoids are incompatible.

Example:

>>> a = LatLon(49.66618, 3.45063)
>>> b = LatLon(48.88667, 2.37472)
>>> delta = a.deltaTo(b)  # [N:-86126, E:-78900, D:1069]
>>> d = delta.length  # 116807.681 m
>>> b = delta.bearing  # 222.493°
>>> e = delta.elevation  # -0.5245°

destinationNed(self, delta)

 

Calculates destination point using supplied delta from this point.

Parameters:
  • delta - Delta from this to the other point in the local tangent plane (LTP) of this point (Ned).
Returns:
Destination point (Cartesian).
Raises:
  • TypeError - The delta is not Ned.

Example:

>>> a = LatLon(49.66618, 3.45063)
>>> delta = toNed(116807.681, 222.493, -0.5245)  # [N:-86126, E:-78900, D:1069]
>>> b = a.destinationNed(delta)  # 48.88667°N, 002.37472°E

JS name: destinationPoint.

equals(self, other, eps=None)

 

Compares this point with an other point.

Parameters:
  • other - The other point (LatLon).
  • eps - Optional margin (float).
Returns:
True if points are identical, including datum and height (bool).
Raises:
  • TypeError - The other point is not LatLon.
Overrides: bases.LatLonHeightBase.equals

Example:

>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(52.205, 0.119)
>>> e = p.equals(q)  # True

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

 

Returns the point at given fraction between this and an other point.

Parameters:
  • other - The other point (LatLon).
  • fraction - Fraction between both points ranging from 0 = this point to 1 = other point (float).
  • height - Optional height, overriding the fractional height (meter).
Returns:
Intermediate point (LatLon).
Raises:
  • TypeError - The other point is not LatLon.

Example:

>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(48.857, 2.351)
>>> p = p.intermediateTo(q, 0.25)  # 51.3721°N, 000.7073°E

JS name: intermediatePointTo.

toCartesian(self)

 

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

Returns:
Cartesian instance (Cartesian x/y/z in meter from the earth center).

toNvector(self)

 

Convert this point to an Nvector normal to the earth's surface.

Returns:
N-vector representing this point (Nvector).

Example:

>>> p = LatLon(45, 45)
>>> n = p.toNvector()
>>> n.toStr()  # [0.50000, 0.50000, 0.70710]