Пример #1
0
 def distance(self, p1, p2):
     '''Return the L{equirectangular_} distance in C{radians squared}.
     '''
     d, _ = unrollPI(p1.b, p2.b, wrap=self._wrap)
     if self._adjust:
         d *= _scaler(p1.a, p2.a)
     return d**2 + (p2.a - p1.a)**2  # like equirectangular_ d2
Пример #2
0
 def distance(self, p1, p2):
     '''Return the L{equirectangular_} distance in C{radians squared}.
     '''
     d, _ = unrollPI(p1.lam, p2.lam, wrap=self._wrap)
     if self._adjust:
         d *= _scaler(p1.phi, p2.phi)
     return hypot2(d, p2.phi - p1.phi)  # like equirectangular_ d2
Пример #3
0
 def _distances(self, x, y):  # (x, y) radians
     for xk, yk in zip(self._xs, self._ys):
         d, _ = unrollPI(xk, x, wrap=self._wrap)
         if self._adjust:
             d *= _scaler(yk, y)
         yield d**2 + (yk - y)**2  # like equirectangular_ distance2