def test_antipode_distance(self): for lon in range(0, 370, 10): for lat in range(-90, 100, 10): point1 = np.radians([lon, lat]) point2 = smath.antipode(*point1) dist = smath.angular_distance(point1, point2) msg = 'Failed at {}, {}'.format(lon, lat) assert np.allclose(dist, np.pi), msg
def test_cos_distance(self): for lon in range(0, 370, 10): for lat in range(-90, 100, 10): lon1, lat1 = np.radians([lon, lat]) lon2, lat2 = smath.antipode(lon1, lat1) xyz1 = smath.sph2cart(lon1, lat1) xyz2 = smath.sph2cart(lon2, lat2) mag = np.linalg.norm(np.cross(xyz1, xyz2)) assert np.allclose(0, mag)
def test_roundtrip(self): for strike in range(0, 370, 10): for dip in range(0, 100, 10): lon, lat = smath.pole(strike, dip) lon2, lat2 = smath.antipode(*smath.antipode(lon, lat)) compare_lonlat(lon, lat, lon2, lat2)
def test_multiple(self): (inlon, outlon), (inlat, outlat) = np.array(self.data).T compare_lonlat(outlon, outlat, *smath.antipode(inlon, inlat))
def test_basic(self): for indata, outdata in self.data: x, y = smath.antipode(*indata) compare_lonlat(x, y, *outdata)
def test_multiple(self): (inlon, outlon), (inlat, outlat) = np.array(self.data).T assert np.allclose(smath.antipode(inlon, inlat), (outlon, outlat))
def test_basic(self): for indata, outdata in self.data: (x, ), (y, ) = smath.antipode(*indata) assert np.allclose((x, y), outdata)
def test_basic(self): for indata, outdata in self.data: (x,), (y,) = smath.antipode(*indata) assert np.allclose((x, y), outdata)