谷歌地图以十进制表示给出了一个位置的纬度和经度,如下所示:
38.203655,-76.113281
如何将这些转换为坐标(度、分、秒)?
谷歌地图以十进制表示给出了一个位置的纬度和经度,如下所示:
38.203655,-76.113281
如何将这些转换为坐标(度、分、秒)?
38.203655是一个十进制度数值。每一度有60分,每一分有60秒(1度 == 60分 == 3600秒)。
因此,获取这个值的小数部分,即0.203655,并将其乘以60得到分钟部分,即12.2193,它是12分钟,然后对分钟的小数部分重复此操作,即0.2193 = 13.158000秒。
Python示例:
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
return [d, m, sd]
print deg_to_dms(38.203655)
print deg_to_dms(-76.113281)
http://www.movable-type.co.uk/scripts/latlong.html
它提供了以下功能:
我认为这将有助于您解决问题:
def deg_min_sec(self,degrees=0.0):
if type(degrees) != 'float':
try:
degrees = float(degrees)
except:
print '\nERROR: Could not convert %s to float.' % (type(degrees))
return 0
minutes = degrees % 1.0 * 60
seconds = minutes % 1.0 * 60
return (degrees, minutes, seconds)