def toLatLon(self, datum=Datums.WGS84, LatLon=LatLon): # PYCHOK XXX '''Convert this (geocentric) Cartesian (x/y/z) point to an (ellipsoidal) geodetic point on the specified datum. @keyword datum: Optional datum to use (L{Datum}). @keyword LatLon: Optional ellipsoidal (sub-)class to return the point (L{LatLon}) or C{None}. @return: The ellipsoidal geodetic point (L{LatLon}) or 3-tuple (C{degrees90}, C{degrees180}, height) if I{LatLon} is C{None}. ''' return CartesianBase._toLLhd(self, LatLon, datum)
def toLatLon(self, datum=Datums.WGS84, LatLon=LatLon, **pairs): # PYCHOK XXX '''Convert this (geocentric) cartesian (x/y/z) point to an (ellipsoidal) geodetic point on the specified datum. @keyword datum: Optional datum to use (L{Datum}). @keyword LatLon: Optional ellipsoidal (sub-)class to return the point (L{LatLon}) or C{None}. @keyword pairs: Optional C{name=value} pairs to be set at the B{C{LatLon}} instance. @return: The ellipsoidal geodetic point (B{C{LatLon}}) or a L{LatLon3Tuple}C{(lat, lon, height)} if B{C{LatLon}} is C{None}. ''' return CartesianBase._to3LLh(self, datum, LatLon, **pairs)
def _update(self, updated): '''(INTERNAL) Clear caches if updated. ''' if updated: # reset caches self._Nv = None CartesianBase._update(self, updated)