Esempio n. 1
0
 def _set_location(self, ltype, value):
     """Check supplied location data for validity, and update."""
     if self._angle == 'degrees':
         if isinstance(value, (tuple, list)):
             value = utils.to_dd(*value)
         setattr(self, '_%s' % ltype, float(value))
         setattr(self, '_rad_%s' % ltype, math.radians(float(value)))
     elif self._angle == 'radians':
         setattr(self, '_rad_%s' % ltype, float(value))
         setattr(self, '_%s' % ltype, math.degrees(float(value)))
     else:
         raise ValueError('Unknown angle type %r' % self._angle)
     if ltype == 'latitude' and not -90 <= self._latitude <= 90:
         raise ValueError('Invalid latitude value %r' % value)
     elif ltype == 'longitude' and not -180 <= self._longitude <= 180:
         raise ValueError('Invalid longitude value %r' % value)
Esempio n. 2
0
def test_to_dd(angle, result):
    assert '%.3f' % to_dd(*angle) == result
Esempio n. 3
0
def test_to_dd():
    expect('%.3f' % to_dd(52, 0, 54)) == '52.015'
    expect('%.3f' % to_dd(0, -13, -15)) == '-0.221'
    expect('%.3f' % to_dd(0, -13.25)) == '-0.221'