Package pygeodesy :: Module sphericalNvector :: Class Nvector
[frames] | no frames]

Class Nvector

  object --+                
           |                
named._Named --+            
               |            
named._NamedBase --+        
                   |        
   vector3d.Vector3d --+    
                       |    
 nvectorBase.NvectorBase --+
                           |
                          Nvector

An n-vector is a position representation using a (unit) vector normal to the earth's surface. Unlike lat-/longitude points, n-vectors have no singularities or discontinuities.

For many applications, n-vectors are more convenient to work with than other position representations like lat-/longitude, earth-centred earth-fixed (ECEF) vectors, UTM coordinates, etc.

On a spherical model earth, an n-vector is equivalent to an earth-centred earth-fixed (ECEF) vector.

Note commonality with ellipsoidalNvector.Nvector.

Instance Methods
 
toCartesian(self, **kwds)
Convert this n-vector to Nvector-based cartesian (ECEF) coordinates.
 
toLatLon(self, **kwds)
Convert this n-vector to an Nvector-based geodetic point.
 
greatCircle(self, bearing)
Compute the n-vector normal to great circle obtained by heading on given compass bearing from this point as its n-vector.

Inherited from nvectorBase.NvectorBase: __init__, to3abh, to3llh, to4xyzh, toStr, toVector3d, unit

Inherited from vector3d.Vector3d: __abs__, __add__, __cmp__, __div__, __eq__, __ge__, __gt__, __le__, __lt__, __matmul__, __mul__, __ne__, __neg__, __pos__, __radd__, __rmatmul__, __rsub__, __sub__, __truediv__, angleTo, cross, dividedBy, dot, equals, isequalTo, minus, negate, others, parse, plus, rotate, rotateAround, sum, times, to2ab, to2ll, to3xyz

Inherited from named._NamedBase: __repr__, __str__, toStr2

Inherited from named._Named: classof, copy

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

Properties

Inherited from nvectorBase.NvectorBase: Ecef, H, datum, h

Inherited from vector3d.Vector3d: crosserrors, length, x, y, z

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

Inherited from object: __class__

Method Details

toCartesian(self, **kwds)

 

Convert this n-vector to Nvector-based cartesian (ECEF) coordinates.

Parameters:
  • kwds - Optional, additional Cartesian keyword arguments, ignored if Cartesian=None. For example, use Cartesian=... to override the Cartesian (sub-)class or specify
Returns:
The Cartesian point (Cartesian) or if Cartesian=None, an Ecef9Tuple(x, y, z, lat, lon, height, C, M, datum) with C and M if available.
Raises:
  • TypeError - Invalid Cartesian, datum or kwds.
Overrides: nvectorBase.NvectorBase.toCartesian

toLatLon(self, **kwds)

 

Convert this n-vector to an Nvector-based geodetic point.

Parameters:
  • kwds - Optional, additional LatLon keyword arguments, ignored if LatLon=None. For example, use LatLon=... to override the LatLon (sub-)class or specify LatLon=None.
Returns:
The LatLon point (LatLon) or if LatLon=None or a LatLon3Tuple(lat, lon, height) if LatLon is None.
Raises:
  • TypeError - Invalid LatLon or kwds.
Overrides: nvectorBase.NvectorBase.toLatLon

greatCircle(self, bearing)

 

Compute the n-vector normal to great circle obtained by heading on given compass bearing from this point as its n-vector.

Direction of vector is such that initial bearing vector b = c × p.

Parameters:
  • bearing - Initial compass bearing (degrees).
Returns:
N-vector representing great circle (Nvector).
Raises:
  • Valuerror - Polar coincidence.

Example:

>>> n = LatLon(53.3206, -1.7297).toNvector()
>>> gc = n.greatCircle(96.0)  # [-0.794, 0.129, 0.594]