28 lines
530 B
Python
28 lines
530 B
Python
# -*- coding: utf-8 -*-
|
|
import re
|
|
|
|
def dms2dd(degrees, minutes, seconds, direction):
|
|
dd = float(degrees) + float(minutes)/60 + float(seconds)/(60*60);
|
|
|
|
return dd;
|
|
|
|
def dd2dms(deg):
|
|
d = int(deg)
|
|
md = abs(deg - d) * 60
|
|
m = int(md)
|
|
sd = (md - m) * 60
|
|
return [d, m, sd]
|
|
|
|
def parse_dms(dms):
|
|
parts = re.split('[^\d\w]+', dms)
|
|
lat = dms2dd(parts[0], parts[1], parts[2], parts[3])
|
|
|
|
if 'W' in dms or 'S' in dms:
|
|
lat = lat * -1
|
|
|
|
return (lat)
|
|
|
|
|
|
#dd = parse_dms("5°38'38.5 W")
|
|
#print(dd)
|