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, **unused) 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, **Cartesian_datum_kwds) Convert this point to an `Nvector`-based geodetic point. |
toNvector(self, **Nvector_datum_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`, `intersections2`, `parse`, `to3xyz`, `toEtm`, `toLcc`, `toOsgr`, `toUps`, `toUtm`, `toUtmUps`, `toWm` Inherited from `latlonBase.LatLonBase`: `__eq__`, `__ne__`, `__str__`, `_distanceTo_`, `bounds`, `boundsOf`, `compassAngle`, `compassAngleTo`, `cosineAndoyerLambertTo`, `cosineForsytheAndoyerLambertTo`, `cosineLawTo`, `equals3`, `equirectangularTo`, `euclideanTo`, `flatLocalTo`, `flatPolarTo`, `haversineTo`, `heightStr`, `hubenyTo`, `isantipode`, `isantipodeTo`, `isequalTo3`, `latlon2`, `latlon2round`, `latlon_`, `philam2`, `points`, `points2`, `thomasTo`, `to2ab`, `to3llh`, `toEcef`, `toStr`, `toVector`, `toVector3d`, `vincentysTo` Inherited from `named._NamedBase`: `__repr__`, `toRepr` Inherited from `named._Named`: `_dot_`, `attrs`, `classof`, `copy`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Properties
Inherited from `ellipsoidalBase.LatLonEllipsoidalBase`: `convergence`, `datum`, `epoch`, `iteration`, `reframe`, `scale` Inherited from `latlonBase.LatLonBase`: `Ecef`, `height`, `isEllipsoidal`, `isSpherical`, `lam`, `lat`, `latlon`, `latlonheight`, `lon`, `phi`, `philam`, `philamheight`, `xyz`, `xyzh` 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. Arguments: `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. Arguments: `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, **unused) |
Approximate the distance from this to an other point. Arguments: `other` - The other point (LatLon). `radius` - Mean earth radius (`meter`). Returns: Distance (`meter`, same units as `radius`). Raises: `TypeError` - The `other` point is not LatLon. `ValueError` - Invalid `radius`. 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. Arguments: `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. `ValueError` - Invalid `eps`. 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. Arguments: `other` - The other point (LatLon). `fraction` - Fraction between both points ranging from 0, meaning this to 1, the 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, **Cartesian_datum_kwds) |
Convert this point to an `Nvector`-based geodetic point. Arguments: `Cartesian_datum_kwds` - Optional Cartesian, `datum` and other keyword arguments, ignored if `Cartesian=None`. Use `Cartesian=...` to override this Cartesian class or specify `Cartesian=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` or other `Cartesian_datum_kwds`. Overrides: latlonBase.LatLonBase.toCartesian

### toNvector (self, **Nvector_datum_kwds) |
Convert this point to Nvector components, including height. Arguments: `Nvector_datum_kwds` - Optional Nvector, `datum` or other keyword arguments, ignored if `Nvector=None`. Use `Nvector=...` to override this Nvector class or specify `Nvector=None`. Returns: The `n-vector` components (Nvector) or a Vector4Tuple`(x, y, z, h)` if `Nvector` is `None`. Raises: `TypeError` - Invalid `Nvector`, `datum` or other `Nvector_datum_kwds`. Overrides: latlonBase.LatLonBase.toNvector Example:
    >>> p = LatLon(45, 45)
    >>> n = p.toNvector()
    >>> n.toStr()  # [0.50, 0.50, 0.70710]