Package pygeodesy :: Module nvectorBase :: Class LatLonNvectorBase
[frames] | no frames]

Class LatLonNvectorBase

   object --+            
            |            
 named._Named --+        
                |        
 named._NamedBase --+    
                    |    
latlonBase.LatLonBase --+
                        |
                       LatLonNvectorBase
Known Subclasses:

(INTERNAL) Base class for n-vector-based ellipsoidal and spherical LatLon classes.

Instance Methods
 
intersections2(self, radius1, other, radius2, **kwds)
Not implemented, throws a NotImplementedError always.
 
others(self, *other, **name_other_up)
Refined class comparison.
 
toNvector(self, Nvector=<class 'pygeodesy.nvectorBase.NvectorBase'>, **Nvector_kwds)
Convert this point to Nvector components, including height.
 
triangulate(self, bearing1, other, bearing2, height=None)
Locate a point given this and an other point and a bearing at this and the other point.
 
trilaterate(self, distance1, point2, distance2, point3, distance3, radius=6371008.77141, height=None, useZ=False)
Locate a point at given distances from this and two other points.
 
trilaterate5(self, distance1, point2, distance2, point3, distance3, area=False, eps=1.0, radius=6371008.77141, wrap=False)
Not implemented for area=True or wrap=True and falls back to method trilaterate otherwise.

Inherited from latlonBase.LatLonBase: PointsIter, __eq__, __init__, __ne__, __str__, _distanceTo_, antipode, bounds, boundsOf, chordTo, circin6, circum3, circum4_, compassAngle, compassAngleTo, cosineAndoyerLambertTo, cosineForsytheAndoyerLambertTo, cosineLawTo, destinationXyz, equals, equals3, equirectangularTo, euclideanTo, flatLocalTo, flatPolarTo, hartzell, haversineTo, height4, heightStr, hubenyTo, isantipode, isantipodeTo, isequalTo, isequalTo3, latlon2, latlon2round, latlon_, nearestOn6, philam2, points, points2, radii11, thomasTo, to2ab, to3llh, to3xyz, toCartesian, toEcef, toLocal, toLtp, toStr, toVector, toVector3d, vincentysTo

Inherited from named._NamedBase: __repr__, toRepr

Inherited from named._Named: _DOT_, attrs, classof, copy, dup, rename, toStr2

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

Properties

Inherited from latlonBase.LatLonBase: Ecef, datum, height, isEllipsoidal, isSpherical, lam, lat, latlon, latlonheight, lon, phi, philam, philamheight, xyz, xyzh

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

Inherited from object: __class__

Method Details

others (self, *other, **name_other_up)

 

Refined class comparison.

Arguments:
  • other - The other instance (LatLonNvectorBase).
  • name_other_up - Overriding name=other and up=1 keyword arguments.
Returns:
The other if compatible.
Raises:
  • TypeError - Incompatible other type.
Overrides: named._NamedBase.others

toNvector (self, Nvector=<class 'pygeodesy.nvectorBase.NvectorBase'>, **Nvector_kwds)

 

Convert this point to Nvector components, including height.

Arguments:
  • Nvector_kwds - Optional, additional Nvector keyword arguments, ignored if Nvector is None.
Returns:
An Nvector or a Vector4Tuple(x, y, z, h) if Nvector is None.
Raises:
  • TypeError - Invalid Nvector or Nvector_kwds argument.
Overrides: latlonBase.LatLonBase.toNvector

triangulate (self, bearing1, other, bearing2, height=None)

 

Locate a point given this and an other point and a bearing at this and the other point.

Arguments:
  • bearing1 - Bearing at this point (compass degrees360).
  • other - The other point (LatLon).
  • bearing2 - Bearing at the other point (compass degrees360).
  • height - Optional height at the triangulated point, overriding the mean height (meter).
Returns:
Triangulated point (LatLon).
Raises:
  • TypeError - Invalid other point.
  • Valuerror - Points coincide.

Example:

>>> p = LatLon("47°18.228'N","002°34.326'W")  # Basse Castouillet
>>> q = LatLon("47°18.664'N","002°31.717'W")  # Basse Hergo
>>> t = p.triangulate(7, q, 295)  # 47.323667°N, 002.568501°W'

trilaterate (self, distance1, point2, distance2, point3, distance3, radius=6371008.77141, height=None, useZ=False)

 

Locate a point at given distances from this and two other points.

Arguments:
  • distance1 - Distance to this point (meter, same units as radius).
  • point2 - Second reference point (LatLon).
  • distance2 - Distance to point2 (meter, same units as radius).
  • point3 - Third reference point (LatLon).
  • distance3 - Distance to point3 (meter, same units as radius).
  • radius - Mean earth radius (meter).
  • height - Optional height at trilaterated point, overriding the mean height (meter, same units as radius).
  • useZ - Include Z component iff non-NaN, non-zero (bool).
Returns:
Trilaterated point (LatLon).
Raises:
  • IntersectionError - No intersection, trilateration failed.
  • TypeError - Invalid point2 or point3.
  • ValueError - Some points coincide or invalid distance1, distance2, distance3 or radius.

See Also: Trilateration, Veness' JavaScript Trilateration and method LatLon.trilaterate2 of other, non-Nvector LatLon classes.

trilaterate5 (self, distance1, point2, distance2, point3, distance3, area=False, eps=1.0, radius=6371008.77141, wrap=False)

 

Not implemented for area=True or wrap=True and falls back to method trilaterate otherwise.

Returns:
A Trilaterate5Tuple(min, minPoint, max, maxPoint, n) with a single trilaterated intersection minPoint is maxPoint, min is max the nearest intersection margin and count n = 1.
Raises:
  • IntersectionError - No intersection, trilateration failed.
  • NotImplementedError - Keyword argument area=True or wrap=True not (yet) supported.
  • TypeError - Invalid point2 or point3.
  • ValueError - Coincident points or invalid distance1, distance2, distance3 or radius.