Package pygeodesy :: Module ltp :: Class LqRD
[frames] | no frames]

Class LqRD

  object --+                
           |                
named._Named --+            
               |            
named._NamedBase --+        
                   |        
      LocalCartesian --+    
                       |    
                     Ltp --+
                           |
                          LqRD

A local tangent plan (LTP) for conversion between GRS80 (ETRS89) geodetic and local Netherlands' quasi-RijksDriehoeksmeting (RD) coordinates.

This quasi-RD transformer does not implement any RD NAP specification and does not provide Netherlands' Normaal Amsterdams Peil (NAP) quasi-geodetic-height.

The LqRD.forward x and y results differ 3 meter near the center up to 600 meter at the corners of the RD region with RDx and RDy values from formal RD NAP 2018 implementations like pyrdnap.

The LqRD.forward z values represent perpendicular distances to this local tangent plane (LTP). Other heights in LqRD are GRS80 (ETRS89) heights above (or below) the ellipsoid's surface. None are NAP quasi-geodetic-heights.

Instance Methods
 
__init__(self, latlonh0=Amersfoort(lat=52.156161, lon=5.387639, height=0.0, datum=Datu..., **other_Ltp_kwds)
New ECEF-based GRS80 (ETRS89) LqRD converter, centered at Amersfoort, NL.
 
forward(self, lat_latlonh, lon=None, height=0, **M_name)
Convert geodetic (lat, lon, height) to local quasi-RD (x, y, z).
 
reverse(self, x_xyz, y=None, z=None, **M_name)
Convert local quasi-RD (x, y, z) to geodetic (lat, lon, height).

Inherited from LocalCartesian: __eq__, reset, toStr

Inherited from named._NamedBase: __repr__, __str__, others, toRepr

Inherited from named._Named: __format__, __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, renamed, toStr2

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

Class Variables
  Amersfoort = Amersfoort(lat=52.156161, lon=5.387639, height=0....
Properties
  height0_ETRS
Get Amersfoort's GRS80 (ETRS89) height (Meter).
  region
Get the RD region as Bounds4Tuple(latS, lonW, latN, lonE), all GRS80 (ETRS89) degrees.
  x0
Class property with a .name attribute.
  y0
Class property with a .name attribute.

Inherited from Ltp: ecef

Inherited from LocalCartesian: M, datum, ellipsoid, height0, lat0, latlonheight0, lon0, lon00

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

Inherited from object: __class__

Method Details

__init__ (self, latlonh0=Amersfoort(lat=52.156161, lon=5.387639, height=0.0, datum=Datu..., **other_Ltp_kwds)
(Constructor)

 

New ECEF-based GRS80 (ETRS89) LqRD converter, centered at Amersfoort, NL.

Arguments:
  • latlonh0 - The geodetic origin and height, overriding Amersfoort.
  • other_Ltp_kwds - Optional, other Ltp.__init__ keyword arguments.
Raises:
  • TypeError - Invalid ecef.
Overrides: object.__init__

See Also: Class Ltp for more information.

forward (self, lat_latlonh, lon=None, height=0, **M_name)

 

Convert geodetic (lat, lon, height) to local quasi-RD (x, y, z).

Arguments:
  • latlonh - Either a LatLon, Ltp, Ecef9Tuple or scalar (geodetic) latitude (degrees).
  • lon - Optional scalar (geodetic) longitude (degrees) iff latlonh is scalar, ignored otherwise.
  • height - Optional height (meter, conventionally) perpendicular to and above (or below) the ellipsoid's surface, iff latlonh is scalar, ignored otherwise.
  • M - Optionally, return the concatenated rotation EcefMatrix, iff available (bool).
  • name - Optional name=NN (str).
Returns:
A Local9Tuple(x, y, z, lat, lon, height, ltp, ecef, M).
Raises:
  • LocalError - If latlonh not scalar, LatLon, Ltp, Ecef9Tuple or invalid or if lon not scalar for scalar latlonh or invalid or if height invalid.
Overrides: LocalCartesian.forward

See Also: Method LocalCartesian.forward for more information.

reverse (self, x_xyz, y=None, z=None, **M_name)

 

Convert local quasi-RD (x, y, z) to geodetic (lat, lon, height).

Arguments:
  • xyz - A local (XyzLocal, Enu, Ned, Aer, Local9Tuple) or local x coordinate (scalar).
  • y - Local y coordinate (meter), iff xyz is scalar, ignored otherwise.
  • z - Local z coordinate (meter), iff xyz is scalar, ignored otherwise.
  • M - Optionally, return the concatenated rotation EcefMatrix, iff available (bool).
  • lon00_name - Optional name=NN (str) and keyword argument lon00=lon0 for the arbitrary polar longitude (degrees), overriding see the property lon00=lon0 value. The polar longitude (degrees) is returned with polar latitudes abs(lat0) == 90 for local x=0 and y=0 locations.
Returns:
A Local9Tuple(x, y, z, lat, lon, height, ltp, ecef, M).
Raises:
  • LocalError - Invalid xyz or scalar x or y and/or z not scalar for scalar xyz.
Overrides: LocalCartesian.reverse

See Also: Method LocalCartesian.reverse for more information.


Class Variable Details

Amersfoort

Value:
Amersfoort(lat=52.156161, lon=5.387639, height=0.0, datum=Datum(name='\
GRS80', ellipsoid=Ellipsoids.GRS80, transform=Transforms.WGS84))

Property Details

height0_ETRS

Get Amersfoort's GRS80 (ETRS89) height (Meter).

Get method:
_fget(inst) - Get the property value once and overwrite self, this property instance in the (super-)class of self where this property is define as a property_ROver.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(*unused) - Silently ignored, always.

region

Get the RD region as Bounds4Tuple(latS, lonW, latN, lonE), all GRS80 (ETRS89) degrees.

Get method:
_fget(inst) - Get the property value once and overwrite self, this property instance in the (super-)class of self where this property is define as a property_ROver.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(*unused) - Silently ignored, always.

x0

Class property with a .name attribute.

Get method:
x0(self)
Set method:
x0(self, meter)

y0

Class property with a .name attribute.

Get method:
y0(self)
Set method:
y0(self, meter)