谷歌地图以十进制表示法为我提供了位置的纬度和经度,如下所示:
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)
如果您需要 JavaScript 中的其他地理相关功能,您可以使用以下库
http://www.movable-type.co.uk/scripts/latlong.html
它提供以下功能:
可以解决问题的 Python 库:
我认为这将帮助您解决问题:
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)