Как Вы преобразовываете Десятичные градусы в Мелкие Секунды Градусов В Python? Существует ли Формула, уже записанная?
Всего пара * 60
умножений и пара int
усечений, например:
>>> decdegrees = 31.125
>>> degrees = int(decdegrees)
>>> temp = 60 * (decdegrees - degrees)
>>> minutes = int(temp)
>>> seconds = 60 * (temp - minutes)
>>> print degrees, minutes, seconds
31 7 30.0
>>>
Это именно то, для чего был изобретен divmod
:
>>> def decdeg2dms(dd):
... mnt,sec = divmod(dd*3600,60)
... deg,mnt = divmod(mnt,60)
... return deg,mnt,sec
>>> dd = 45 + 30.0/60 + 1.0/3600
>>> print dd
45.5002777778
>>> decdeg2dms(dd)
(45.0, 30.0, 1.0)
Используйте fmod
и округление, чтобы разделить градусы и дроби. Умножьте дробь на 60 и повторите, чтобы получить минуты и остаток. Затем умножьте эту последнюю часть на 60 еще раз, чтобы получить количество секунд.