首页 > 解决方案 > Python将度分秒转换为十进制

问题描述

我有一些以度、分和秒表示的坐标;

喜欢

'544441N,0253123E'
'544309N,0253808E' 
'543759N,0254153E'
'543516N,0253209E'
'543703N,0252603E' 
'544441N,0253123E'

我需要用 python 将它们转换为 lat-long 形式。

标签: pythoncoordinates

解决方案


这是做你想做的吗?

def dms(s):
    r = []
    for d in s.split(','):
        dec = int(d[-3:-1]) / 3600 + int(d[-5:-3]) / 60 + int(d[:-5])
        r.append(f'{dec:.4f}{d[-1]}')
    return r


print(dms('544441N,0253123E'))

请注意,这不是作为可靠的解决方案提出的,因为如果输入采用意外格式,它将失败


推荐阅读