def test_directional(self): first, second = smath.line(30, 270), smath.line(40, 90) dist = smath.angular_distance(first, second, bidirectional=True) assert np.allclose(dist, 70) dist = smath.angular_distance(first, second, bidirectional=False) assert np.allclose(dist, 110)
def test_shapes(self): points = np.zeros(10), np.zeros(10) dist = smath.angular_distance(points, [0, np.pi / 2]) assert np.allclose(dist, np.pi / 2) dist = smath.angular_distance([0, np.pi / 2], points) assert np.allclose(dist, np.pi / 2) dist = smath.angular_distance(points, points) assert np.allclose(dist, 0)
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