拉长到几分钟和几秒钟?

时间:2010-01-13 13:03:48

标签: latitude-longitude degrees seconds

Google地图以十进制表示法为我提供了Lat和Long的位置,如下所示:

38.203655,-76.113281

如何将它们转换为Coords(度,分,秒)

4 个答案:

答案 0 :(得分:16)

38.203655是度数的十进制值。有60分钟是学位,60分钟是一分钟(1degree == 60min == 3600s)。

因此取值的小数部分,即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)

答案 1 :(得分:0)

如果您在JavaScript中需要其他与​​地理相关的功能,则可以使用以下库

http://www.movable-type.co.uk/scripts/latlong.html

它提供以下功能:

  • DMS从/到小数纬度/经度转换
  • 距离计算
  • 轴承计算
  • 交叉点计算

答案 2 :(得分:0)

Python库可以解决这个问题:

https://pypi.python.org/pypi/LatLon/1.0.2

答案 3 :(得分:0)

我认为这将为您提供解决方案:

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)