python 脚本将以DMS(度数分钟秒)格式给出的坐标转换为DD(度数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 脚本将以DMS(度数分钟秒)格式给出的坐标转换为DD(度数)相关的知识,希望对你有一定的参考价值。

def dms2dd(value):
    """
    Transforms DMS given coordintes to DD.
    Type in DMS format (Like: N53 12 12.12)
    """

    value0 = value[0]
    value1 = value.replace(" ", "")

    value11 = float(value1[1:3])
    value12 = float(value1[3:5])
    value13 = float(value1[5:])

    lat0 = value11
    lat1 = (value12/60)
    lat2 = (value13/3600)

    value21 = float(value1[1:4])
    value22 = float(value1[4:6])
    value23 = float(value1[6:])

    lon1 = value21
    lon2 = (value22 / 60)
    lon3 = (value23 / 3600)

    direction = 1

    if value0 == 'N' or value0 == 'S' or value0 == 'n' or value0 == 's':
        if value0 == 'N' or value0 =='n':
            direction *= 1
        elif value0 == 'S' or value0 =='s':
            direction *= -1
        else:
            direction = 0
        result = direction * (lat0 + lat1 + lat2)
        return result
    elif value0 == 'W' or value0 == 'E' or value0 =='w' or value0 == 'e':
        if value0 == 'e' or value0 == 'E':
            direction *= 1
        elif value0 == 'w' or value0 =='W':
            direction *= -1
        else:
            direction = 0
        result = direction*(lon1 + lon2 + lon3)
        return result




以上是关于python 脚本将以DMS(度数分钟秒)格式给出的坐标转换为DD(度数)的主要内容,如果未能解决你的问题,请参考以下文章

如何使脚本转换为度数、秒数、分钟数的弧度? [复制]

在 python django 中将秒转换为分钟

从秒开始的 jQuery 倒计时(分:秒)

Python实现ParseDuration-支持解析字符串格式的时间单位,例如将小时或者分钟数转换为秒

Oracle 到 Aurora - DMS - 失败

将秒转换为天、小时、分钟、秒格式 (C++)