add deg.py
This commit is contained in:
parent
9810896325
commit
c891d8b2d3
22
misc/deg.py
Normal file
22
misc/deg.py
Normal file
@ -0,0 +1,22 @@
|
||||
from decimal import Decimal as Dec
|
||||
|
||||
Deg = namedtuple('Deg', ['hh', 'mm', 'ss'])
|
||||
|
||||
def guess(inp):
|
||||
if isinstance(inp, Dec):
|
||||
return inp
|
||||
|
||||
if '-' in instr:
|
||||
deg, mm, ss = instr.split('-')
|
||||
ddeg, dmm, dss = Dec(deg), Dec(mm), Dec(ss)
|
||||
return deg + dmm/60 + dss/3600
|
||||
else:
|
||||
return Dec(instr)
|
||||
|
||||
def hms(deg):
|
||||
assert isinstance(deg, Dec)
|
||||
pdeg, pmm = divmod(deg, 1)
|
||||
pmm = pmm * Dec(60)
|
||||
pmm, pss = divmod(pmm, 1)
|
||||
pss = pss * Dec(60)
|
||||
return Deg(pdeg, pmm, pss)
|
Loading…
Reference in New Issue
Block a user