예제 #1
0
 def _update(self, updated):
     '''(INTERNAL) Clear caches id updated.
     '''
     if updated:  # reset caches
         if self._Nv:
             self._Nv._fromll = None
             self._Nv = None
         LatLonNvectorBase._update(self, updated)
         LatLonSphericalBase._update(self, updated)
예제 #2
0
 def _update(self, updated, *attrs):
     '''(INTERNAL) Zap cached attributes if updated.
     '''
     if updated:  # reset caches
         if self._Nv:
             self._Nv._fromll = None
             self._Nv = None
         LatLonNvectorBase._update(self, updated, *attrs)
         LatLonSphericalBase._update(self, updated, *attrs)
예제 #3
0
    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)
예제 #4
0
    def toCartesian(self, **Cartesian_datum_kwds):  # PYCHOK Cartesian=Cartesian, datum=None
        '''Convert this point to C{Karney}-based cartesian (ECEF)
           coordinates.

           @kwarg Cartesian_datum_kwds: Optional L{Cartesian}, B{C{datum}}
                                        and other keyword arguments, ignored
                                        if B{C{Cartesian=None}}.  Use
                                        B{C{Cartesian=...}} to override
                                        this L{Cartesian} class or specify
                                        B{C{Cartesian=None}}.

           @return: The cartesian point (L{Cartesian}) or if B{C{Cartesian}}
                    is C{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_datum_kwds}}.
        '''
        kwds = _xkwds(Cartesian_datum_kwds, Cartesian=Cartesian, datum=self.datum)
        return LatLonSphericalBase.toCartesian(self, **kwds)
예제 #5
0
 def _update(self, updated, *attrs):  # PYCHOK args
     '''(INTERNAL) Zap cached attributes if updated.
     '''
     if updated:  # reset caches
         LatLonNvectorBase._update(self, updated, _Nv=self._Nv)  # special case
         LatLonSphericalBase._update(self, updated, *attrs)
예제 #6
0
 def _update(self, updated):
     '''(INTERNAL) Clear caches if updated.
     '''
     if updated:  # reset caches
         self._v3d = None
         LatLonSphericalBase._update(self, updated)