def toCartesian(self, **kwds): # PYCHOK Cartesian=Cartesian '''Convert this n-vector to C{Nvector}-based cartesian (ECEF) coordinates. @keyword kwds: Optional, additional B{C{Cartesian}} keyword arguments, ignored if C{B{Cartesian}=None}. Specify C{Cartesian=...} to override this L{Cartesian} class or set C{B{Cartesian}=None}. @return: The B{C{Cartesian}} point (L{Cartesian}) or if C{B{Cartesian}=None}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C, M, datum)} with C{C} and C{M} if available. @raise TypeError: Invalid B{C{Cartesian}}, B{C{datum}} or B{C{kwds}}. @example: >>> v = Nvector(0.5, 0.5, 0.7071) >>> c = v.toCartesian() # [3194434, 3194434, 4487327] >>> p = c.toLatLon() # 45.0°N, 45.0°E ''' kwds = _2kwds(kwds, h=self.h, Cartesian=Cartesian, datum=self.datum) return NvectorBase.toCartesian(self, **kwds) # class or .classof
def toNvector(self, **kwds): # PYCHOK signature '''Convert this point to C{Nvector} components, I{including height}. @keyword kwds: Optional, additional B{C{Nvector}} keyword arguments, ignored if C{B{Nvector}=None}. Specify C{Nvector=...} to override this C{Nvector} class or set C{B{Nvector}=None}. @return: The B{C{Nvector}} components (C{Nvector}) or a L{Vector4Tuple}C{(x, y, z, h)} if C{B{Nvector}=None}. @raise TypeError: Invalid B{C{Nvector}} or B{C{kwds}}. ''' kwds = _2kwds(kwds, Nvector=NvectorBase) return LatLonBase.toNvector(self, **kwds)
def toCartesian(self, **kwds): # PYCHOK Cartesian=Cartesian, datum=None '''Convert this point to an C{Nvector}-based geodetic point. @keyword kwds: Optional, additional B{C{LatLon}} keyword arguments, ignored if C{B{LatLon}=None}. Specify C{LatLon=...} to override this L{LatLon} class or set C{B{LatLon}=None}. @return: The B{C{LatLon}} point (L{LatLon}) or when C{B{LatLon}=None}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C, M, datum)} with C{C} and C{M} if available. @raise TypeError: Invalid B{C{LatLon}} or B{C{kwds}}. ''' kwds = _2kwds(kwds, Cartesian=Cartesian, datum=self.datum) return LatLonEllipsoidalBase.toCartesian(self, **kwds)
def toLatLon(self, **kwds): # PYCHOK height=None, LatLon=LatLon '''Convert this n-vector to an C{Nvector}-based geodetic point. @keyword kwds: Optional, additional B{C{LatLon}} keyword arguments, ignored if C{B{LatLon}=None}. For example, use C{LatLon=...} to override the L{LatLon} (sub-)class or specify C{B{LatLon}=None}. @return: The B{C{LatLon}} point (L{LatLon}) or if C{B{LatLon}=None} or a L{LatLon3Tuple}C{(lat, lon, height)} if B{C{LatLon}} is C{None}. @raise TypeError: Invalid B{C{LatLon}} or B{C{kwds}}. ''' kwds = _2kwds(kwds, height=self.h, LatLon=LatLon) return NvectorBase.toLatLon(self, **kwds) # class or .classof
def toCartesian(self, **kwds): # PYCHOK Cartesian=Cartesian '''Convert this point to C{Nvector}-based cartesian (ECEF) coordinates. @keyword kwds: Optional, additional B{C{Cartesian}} keyword arguments, ignored if C{B{Cartesian}=None}. For example, use C{Cartesian=...} to override the L{Cartesian} (sub-)class or specify @return: The B{C{Cartesian}} point (L{Cartesian}) or if C{B{Cartesian}=None}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C, M, datum)} with C{C} and C{M} if available. @raise TypeError: Invalid B{C{Cartesian}} or B{C{attrs}}. ''' kwds = _2kwds(kwds, Cartesian=Cartesian, datum=self.datum) return LatLonSphericalBase.toCartesian(self, **kwds)
def toLatLon(self, **kwds): # PYCHOK LatLon=LatLon '''Convert this cartesian to an C{Nvector}-based geodetic point. @keyword kwds: Optional, additional B{C{LatLon}} keyword arguments, ignored if C{B{LatLon}=None}. For example, use C{LatLon=...} to override the L{LatLon} (sub-)class or specify C{B{LatLon}=None}. @return: The B{C{LatLon}} point (L{LatLon}) or if C{B{LatLon}=None}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C, M, datum)} with C{C} and C{M} if available. @raise TypeError: Invalid B{C{LatLon}} or B{C{kwds}}. ''' kwds = _2kwds(kwds, LatLon=LatLon, datum=self.datum) return CartesianSphericalBase.toLatLon(self, **kwds)
def toNvector(self, **kwds): # PYCHOK Datums.WGS84 '''Convert this cartesian to L{Nvector} components, I{including height}. @keyword kwds: Optional, additional B{C{Nvector}} keyword arguments, ignored if C{B{Nvector}=None}. For example, use C{Nvector=...} to override the L{Nvector} (sub-)class or specify @return: The B{C{Nvector}} components (L{Nvector}) or a L{Vector4Tuple}C{(x, y, z, h)} if C{B{Nvector}=None}. @raise TypeError: Invalid B{C{Nvector}} or B{C{kwds}}. ''' # ll = CartesianBase.toLatLon(self, LatLon=LatLon, # datum=datum or self.datum) # kwds = _2kwds(kwds, Nvector=Nvector) # return ll.toNvector(**kwds) kwds = _2kwds(kwds, Nvector=Nvector, datum=self.datum) return CartesianSphericalBase.toNvector(self, **kwds)
def toLatLon(self, **kwds): # PYCHOK height=None, LatLon=LatLon '''Convert this n-vector to an C{Nvector}-based geodetic point. @keyword kwds: Optional, additional B{C{LatLon}} keyword arguments, ignored if C{B{LatLon}=None}. Specify C{LatLon=...} to override this L{LatLon} class or set C{B{LatLon}=None}. @return: The B{C{LatLon}} point (L{LatLon}) or a L{LatLon3Tuple}C{(lat, lon, height)} if C{B{LatLon}=None}. @raise TypeError: Invalid B{C{LatLon}} or B{C{kwds}}. @example: >>> v = Nvector(0.5, 0.5, 0.7071) >>> p = v.toLatLon() # 45.0°N, 45.0°E ''' kwds = _2kwds(kwds, height=self.h, LatLon=LatLon, datum=self.datum) return NvectorBase.toLatLon(self, **kwds) # class or .classof
def toNvector(self, **kwds): # PYCHOK Datums.WGS84 '''Convert this cartesian to L{Nvector} components, I{including height}. @keyword kwds: Optional, additional B{C{Nvector}} keyword arguments, ignored if C{B{Nvector}=None}. Specify C{Nvector=...} to override this L{Nvector} class or set C{B{Nvector}=None}. @return: The B{C{Nvector}} components (L{Nvector}) or a L{Vector4Tuple}C{(x, y, z, h)} if C{B{Nvector}=None}. @raise TypeError: Invalid B{C{Nvector}} or B{C{kwds}}. @example: >>> from ellipsoidalNvector import LatLon >>> c = Cartesian(3980581, 97, 4966825) >>> n = c.toNvector() # (0.62282, 0.000002, 0.78237, +0.24) ''' kwds = _2kwds(kwds, Nvector=Nvector, datum=self.datum) return CartesianEllipsoidalBase.toNvector(self, **kwds)
def toNvector(self, **kwds): # PYCHOK signature '''Convert this point to L{Nvector} components, I{including height}. @keyword kwds: Optional, additional B{C{Nvector}} keyword arguments, ignored if C{B{Nvector}=None}. Specify C{Nvector=...} to override this L{Nvector} class or set C{B{Nvector}=None}. @return: The B{C{Nvector}} components (L{Nvector}) or a L{Vector4Tuple}C{(x, y, z, h)} if C{B{Nvector}=None}. @raise TypeError: Invalid B{C{Nvector}} or B{C{kwds}}. @example: >>> p = LatLon(45, 45) >>> n = p.toNvector() >>> n.toStr() # [0.50, 0.50, 0.70710] ''' kwds = _2kwds(kwds, Nvector=Nvector, datum=self.datum) return LatLonNvectorBase.toNvector(self, **kwds)