经纬度为分钟和秒?

发布于 2024-08-17 08:17:58 字数 99 浏览 9 评论 0原文

Google 地图以十进制表示法为我提供某个位置的纬度和经度,如下所示:

38.203655,-76.113281

如何将它们转换为坐标(度、分、秒)

Google Maps gives me the Lat and Long of a location in decimal notation like this:

38.203655,-76.113281

How do I convert those to Coords (Degrees, Minutes , Seconds)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

祁梦 2024-08-24 08:17:58

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)

38.203655 is a decimal value of degrees. There are 60 minutes is a degree and 60 seconds in a minute (1degree == 60min == 3600s).

So take the fractional part of the value, i.e. 0.203655, and multiply it with 60 to get minutes, i.e. 12.2193, which is 12 minutes, and then repeat for the fractional part of minutes, i.e. 0.2193 = 13.158000 seconds.

Example in 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)
别念他 2024-08-24 08:17:58

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

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

它提供以下功能:

  • DMS 从/到十进制纬度/经度转换
  • 距离计算
  • 方位角计算
  • 交点计算

In case you need other geo-related functionality in JavaScript, you may use the following library

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

it provides the following functionality:

  • DMS from/to decimal latitude/longitude conversions
  • Distance calculations
  • Bearing calculation
  • Intersection point calcualtion
探春 2024-08-24 08:17:58

实现这一点的Python库:

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

Python library that does the trick:

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

病毒体 2024-08-24 08:17:58

我认为这将帮助您解决问题:

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)

I think this will help you with the solution :

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文