Exemplo n.º 1
0
def _indexable_to_locationinfo(idxable) -> LocationInfo:
    return LocationInfo(
        name=idxable[0],
        region=idxable[1],
        timezone=idxable[2],
        latitude=dms_to_float(idxable[3], 90.0),
        longitude=dms_to_float(idxable[4], 180.0),
    )
Exemplo n.º 2
0
 def longitude(self, longitude: Union[float, str]) -> None:
     self._location_info = dataclasses.replace(self._location_info,
                                               longitude=dms_to_float(
                                                   longitude, 180.0))
Exemplo n.º 3
0
 def test_not_a_float(self):
     with raises(ValueError):
         dms_to_float("x", 90.0)
Exemplo n.º 4
0
 def test_latlng_outside_limit(self):
     assert dms_to_float("180°50'w", 180.0) == -180
Exemplo n.º 5
0
 def test_west_lowercase(self):
     assert dms_to_float("171°50'w", 180.0) == approx(-171.8333333, abs=0.00001)
Exemplo n.º 6
0
 def test_float(self):
     assert dms_to_float("0.2", 90.0) == 0.2
Exemplo n.º 7
0
 def test_west(self):
     assert dms_to_float("171°50'W", 180.0) == approx(-171.8333333, abs=0.00001)
Exemplo n.º 8
0
 def test_south(self):
     assert dms_to_float("37°58'S", 90.0) == approx(-37.966666, abs=0.00001)
Exemplo n.º 9
0
 def test_east(self):
     assert dms_to_float("54°22'E", 180.0) == approx(54.366666, abs=0.00001)
Exemplo n.º 10
0
 def test_whole_number_of_degrees(self):
     assert dms_to_float("24°", 90.0) == 24.0
Exemplo n.º 11
0
 def test_north(self):
     assert dms_to_float("24°28'N", 90) == approx(24.466666)