def test_Vicenty(self): method = "vicenty" for ps, expect in self.ps: with self.subTest(ps=ps, expect=expect, method=method): distance = great_circle_distance(*ps, method=method) distance_r = great_circle_distance(*ps[::-1], method=method) self.assertTrue(isclose(distance, distance_r)) if (ps[0] == ps[1]).all(): self.assertTrue(np.isclose(distance, 0.0)) if expect is not None: self.assertTrue(isclose(distance, expect))
def test_degrees(self): for ps, expect in self.ps: for degrees in [True, False]: with self.subTest(ps=ps, expect=expect, degrees=degrees): if not degrees: ps = np.deg2rad( ps) # convert to radians to give sensible output distance = great_circle_distance(*ps, degrees=degrees) distance_r = great_circle_distance(*ps[::-1], degrees=degrees) self.assertTrue(isclose(distance, distance_r)) if (ps[0] == ps[1]).all(): self.assertTrue(np.isclose(distance, 0.0)) if expect is not None: self.assertTrue(isclose(distance, expect))
def test_default(self): for ps, expect in self.ps: with self.subTest(ps=ps, expect=expect): distance = great_circle_distance(*ps) distance_r = great_circle_distance(*ps[::-1]) self.assertTrue(isclose(distance, distance_r)) if (ps[0] == ps[1]).all(): self.assertTrue(np.isclose(distance, 0.0)) """
def test_absolute(self): for ps, expect in self.ps: for absolute in [True, False]: with self.subTest(ps=ps, expect=expect, absolute=absolute): distance = great_circle_distance(*ps, absolute=absolute) distance_r = great_circle_distance(*ps[::-1], absolute=absolute) self.assertTrue(isclose(distance, distance_r)) if (ps[0] == ps[1]).all(): self.assertTrue(np.isclose(distance, 0.0))