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

Class LatLon

               object --+                
                        |                
             named._Named --+            
                            |            
             named._NamedBase --+        
                                |        
            latlonBase.LatLonBase --+    
                                    |    
        nvectorBase.LatLonNvectorBase --+
                                        |
               object --+               |
                        |               |
             named._Named --+           |
                            |           |
             named._NamedBase --+       |
                                |       |
            latlonBase.LatLonBase --+   |
                                    |   |
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)
Calculate the NED delta from this to an other point.
 
destinationNed(self, delta)
Calculate the destination point using the supplied NED delta from this point.
 
distanceTo(self, other, radius=None)
Approximate the distance from this to an other point.
 
equals(self, other, eps=None)
DEPRECATED, use method isequalTo.
 
isequalTo(self, other, eps=None)
Compare this point with an other point.
 
intermediateTo(self, other, fraction, height=None)
Return the point at given fraction between this and an other point.
 
toCartesian(self, **kwds)
Convert this point to an Nvector-based geodetic point.
 
toNvector(self, **kwds)
Convert this point to Nvector components, including height.

Inherited from nvectorBase.LatLonNvectorBase: others

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: __init__, antipode, convertDatum, convertRefFrame, distanceTo2, elevation2, ellipsoid, ellipsoids, geoidHeight2, parse, to3xyz, toEtm, toLcc, toOsgr, toUps, toUtm, toUtmUps, toWm

Inherited from latlonBase.LatLonBase: __eq__, __ne__, __str__, bounds, boundsOf, compassAngle, compassAngleTo, equals3, equirectangularTo, euclideanTo, haversineTo, isantipode, isantipodeTo, isequalTo3, latlon2, latlon2round, latlon_, philam2, points, points2, to2ab, to3llh, toEcef, toStr, toVector, toVector3d, vincentysTo

Inherited from named._NamedBase: __repr__, toStr2

Inherited from named._Named: classof, copy

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

Properties

Inherited from ellipsoidalBase.LatLonEllipsoidalBase: convergence, datum, epoch, isEllipsoidal, isSpherical, iteration, reframe, scale

Inherited from latlonBase.LatLonBase: Ecef, height, lat, latlon, latlonheight, lon, philam, philamheight

Inherited from named._Named: classname, classnaming, name, named, named2

Inherited from object: __class__

Method Details

deltaTo(self, other)

 

Calculate the NED delta from this 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)

 

Calculate the destination point using the supplied NED 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 - If {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.

distanceTo(self, other, radius=None)

 

Approximate the distance from this to an other point.

Parameters:
  • other - The other point (LatLon).
  • radius - Optional, mean earth radius (meter).
Returns:
Distance (meter, same units as radius).
Raises:
  • TypeError - The other point is not LatLon.

Example:

>>> p = LatLon(52.205, 0.119)
>>> q = LatLon(48.857, 2.351);
>>> d = p.distanceTo(q)  # 404300

equals(self, other, eps=None)

 

DEPRECATED, use method isequalTo.

Overrides: latlonBase.LatLonBase.equals

isequalTo(self, other, eps=None)

 

Compare this point with an other point.

Parameters:
  • other - The other point (LatLon).
  • eps - Optional margin (float).
Returns:
True if points are identical, including datum, ignoring height, False otherwise.
Raises:
  • TypeError - The other point is not LatLon.
Overrides: latlonBase.LatLonBase.isequalTo

See Also: Use method isequalTo3 to include height.

Example:

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

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

 

Return 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, **kwds)

 

Convert this point to an Nvector-based geodetic point.

Parameters:
  • kwds - Optional, additional LatLon keyword arguments, ignored if LatLon=None. Specify LatLon=... to override this LatLon class or set LatLon=None.
Returns:
The LatLon point (LatLon) or when LatLon=None, an Ecef9Tuple(x, y, z, lat, lon, height, C, M, datum) with C and M if available.
Raises:
  • TypeError - Invalid LatLon or kwds.
Overrides: latlonBase.LatLonBase.toCartesian

toNvector(self, **kwds)

 

Convert this point to Nvector components, including height.

Parameters:
  • kwds - Optional, additional Nvector keyword arguments, ignored if Nvector=None. Specify Nvector=... to override this Nvector class or set Nvector=None.
Returns:
The Nvector components (Nvector) or a Vector4Tuple(x, y, z, h) if Nvector=None.
Raises:
  • TypeError - Invalid Nvector or kwds.
Overrides: latlonBase.LatLonBase.toNvector

Example:

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