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

# Class Nvector

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

An n-vector is a position representation using a (unit) vector normal to the earth ellipsoid. 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.

Note commonality with pygeodesy.sphericalNvector.Nvector.

Instance Methods
__init__(self, x_xyz, y=None, z=None, h=0, datum=None, ll=None, **name) New n-vector normal to the earth's surface. |
toCartesian(self, **Cartesian_and_kwds) Convert this n-vector to `Nvector`-based cartesian (ECEF) coordinates. |
toLatLon(self, **LatLon_and_kwds) Convert this n-vector to an `Nvector`-based geodetic point. |
unit(self, ll=None) Normalize this vector to unit length. |
Inherited from `nvectorBase.NvectorBase`: `hStr`, `to2ab`, `to2ll`, `to3abh`, `to3llh`, `to4xyzh`, `toStr`, `toVector3d` Inherited from `vector3d.Vector3d`: `bearing`, `circin6`, `circum3`, `circum4_`, `iscolinearWith`, `meeus2`, `nearestOn`, `nearestOn6`, `parse`, `radii11`, `soddy4`, `trilaterate2d2`, `trilaterate3d2` Inherited from `vector3dBase.Vector3dBase`: `__abs__`, `__add__`, `__bool__`, `__ceil__`, `__cmp__`, `__div__`, `__divmod__`, `__eq__`, `__float__`, `__floor__`, `__floordiv__`, `__ge__`, `__gt__`, `__hash__`, `__iadd__`, `__idiv__`, `__ifloordiv__`, `__imatmul__`, `__imod__`, `__imul__`, `__int__`, `__ipow__`, `__isub__`, `__itruediv__`, `__le__`, `__long__`, `__lt__`, `__matmul__`, `__mod__`, `__mul__`, `__ne__`, `__neg__`, `__nonzero__`, `__pos__`, `__pow__`, `__radd__`, `__rdiv__`, `__rdivmod__`, `__rfloordiv__`, `__rmatmul__`, `__rmod__`, `__rmul__`, `__round__`, `__rpow__`, `__rsub__`, `__rtruediv__`, `__sub__`, `__truediv__`, `__trunc__`, `angleTo`, `apply`, `bools`, `cmp`, `cross`, `dividedBy`, `dot`, `equals`, `equirectangular`, `fabs`, `floats`, `intermediateTo`, `ints`, `isconjugateTo`, `isequalTo`, `minus`, `minus_`, `negate`, `others`, `plus`, `plus_`, `rotate`, `rotateAround`, `sum`, `times`, `times_`, `to3xyz` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `toRepr` Inherited from `named._Named`: `__format__`, `attrs`, `classof`, `copy`, `dup`, `methodname`, `rename`, `renamed`, `toStr2` Inherited from `object`: `__delattr__`, `__getattribute__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Properties
| datum
| ellipsoidalNvector
Inherited from `nvectorBase.NvectorBase`: `Ecef`, `H`, `h`, `isEllipsoidal`, `isSpherical`, `lam`, `lat`, `latlon`, `latlonheight`, `latlonheightdatum`, `lon`, `phi`, `philam`, `philamheight`, `philamheightdatum`, `sphericalNvector`, `xyzh` Inherited from `vector3dBase.Vector3dBase`: `crosserrors`, `euclid`, `homogeneous`, `length`, `length2`, `x`, `x2y2z2`, `xyz`, `xyz3`, `y`, `z` Inherited from `named._Named`: `classname`, `classnaming`, `iteration`, `name`, `named`, `named2`, `named3`, `named4`, `sizeof` Inherited from `object`: `__class__`

Method Details

### __init__ (self, x_xyz, y=None, z=None, h=0, datum=None, ll=None, **name) (Constructor) |
New n-vector normal to the earth's surface. Arguments: `x_xyz` - X component of vector (`scalar`) or (3-D) vector (`Nvector`, Vector3d, Vector3Tuple or Vector4Tuple). `y` - Y component of vector (`scalar`), ignored if `x_xyz` is not `scalar`, otherwise same units as `x_xyz`. `z` - Z component of vector (`scalar`), ignored if `x_xyz` is not `scalar`, otherwise same units as `x_xyz`. `h` - Optional height above model surface (`meter`). `datum` - Optional datum this n-vector is defined in (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple). `ll` - Optional, original latlon (`LatLon`). `name` - Optional `name=NN` (`str`). Raises: `TypeError` - If `datum` is not a Datum. Overrides: object.__init__

### toCartesian (self, **Cartesian_and_kwds) |
Convert this n-vector to `Nvector`-based cartesian (ECEF) coordinates. Arguments: `Cartesian_and_kwds` - Optional Cartesian, `h`, `datum` and other keyword arguments. Use `Cartesian=...` to override this Cartesian class or specify `Cartesian is None`. Returns: The cartesian point (Cartesian) or if `Cartesian is None`, an Ecef9Tuple`(x, y, z, lat, lon, height, C, M, datum)` with `C` and `M` if available. Raises: `TypeError` - Invalid `Cartesian_and_kwds`. Overrides: nvectorBase.NvectorBase.toCartesian

### toLatLon (self, **LatLon_and_kwds) |
Convert this n-vector to an `Nvector`-based geodetic point. Arguments: `LatLon_and_kwds` - Optional LatLon, `height`, `datum` and other keyword arguments. Use `LatLon=...` to override this LatLon class or specify `LatLon is None`. Returns: The geodetic point (LatLon) or if `LatLon is None`, an Ecef9Tuple`(x, y, z, lat, lon, height, C, M, datum)` with `C` and `M` if available. Raises: `TypeError` - Invalid `LatLon_and_kwds`. Overrides: nvectorBase.NvectorBase.toLatLon

### unit (self, ll=None) |
Normalize this vector to unit length. Arguments: `ll` - Optional, original latlon (`LatLon`). Returns: Normalised vector (`Nvector`). Overrides: vector3dBase.Vector3dBase.unit

Property Details

### datum Get method: _fget(inst) - Get and cache/memoize the `property` value. Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### ellipsoidalNvector Get method: ellipsoidalNvector(self) - Get this `Nvector`'s ellipsoidal class. Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.