Exemple #1
0
    def test_out_of_bounds(self):
        lat, lon = destination(-100.0, -186.0, 60.0, 100000.0)
        assert round(lat, 7) == 80.4166734
        assert round(lon, 7) == -181.3373112

        lat, lon = destination(-100.0, -186.0, 60.0, 200000.0)
        assert round(lat, 7) == 80.7657146
        assert round(lon, 7) == -176.2908896
Exemple #2
0
    def test_closeby(self):
        lat, lon = destination(44.0337065, -79.4908184, -0.00071533, 137.0099)
        assert round(lat, 7) == 44.0349396
        assert round(lon, 7) == -79.4908184

        lat, lon = destination(-37.95103, 144.42487, 306.86816, 54972.271)
        assert round(lat, 7) == -37.6528177
        assert round(lon, 7) == 143.9264977
Exemple #3
0
    def test_antipodal(self):
        lat, lon = destination(90.0, 0.0, 180.0, 20003931.4586)
        assert round(lat, 7) == -90.0
        assert round(lon, 7) == 0.0

        lat, lon = destination(0.0, 0.0, 89.0, 19902751.0326)
        assert round(lat, 7) == 0.0106671
        assert round(lon, 7) == 178.789547

        lat, lon = destination(0.0, 0.0, 89.7, 19950277.9698)
        assert round(lat, 7) == 0.0009494
        assert round(lon, 7) == 179.2163987
Exemple #4
0
    def test_negative(self):
        lat, lon = destination(1.0, 1.0, 0.0, 1000)
        assert round(lat, 7) == 1.0090437
        assert round(lon, 7) == 1.0

        lat, lon = destination(1.0, 1.0, 0.0, -1000)
        assert round(lat, 7) == 0.9909563
        assert round(lon, 7) == 1.0

        lat, lon = destination(1.0, 1.0, 90.0, 1000)
        assert round(lat, 7) == 1.0
        assert round(lon, 7) == 1.0089845

        lat, lon = destination(1.0, 1.0, 90.0, -1000)
        assert round(lat, 7) == 1.0
        assert round(lon, 7) == 0.9910155
Exemple #5
0
 def displace(self, lat, lon, bearing=0.0, distance=0.0):
     distance = (self.max_radius + 10.0) * distance
     return destination(lat, lon, bearing, distance)