python - Python将度分秒转换为十进制
问题描述
我有一些以度、分和秒表示的坐标;
喜欢
'544441N,0253123E'
'544309N,0253808E'
'543759N,0254153E'
'543516N,0253209E'
'543703N,0252603E'
'544441N,0253123E'
我需要用 python 将它们转换为 lat-long 形式。
解决方案
这是做你想做的吗?
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'))
请注意,这不是作为可靠的解决方案提出的,因为如果输入采用意外格式,它将失败
推荐阅读
- r - 如何计算一列中的值与另一列中的值不匹配的比例?
- maya - Maya Python - Playblast - 保存在特定文件夹中
- x86 - Hypervisor 如何处理从非 VM 实例的主机进程执行的敏感指令?
- r - R如何将列中的所有数据转换为单个字符串?
- python - 为什么我在使用 .json() 时会出错?
- javascript - 请求失败时订阅另一个 observable
- javascript - $(document).on('click') 在某些移动设备上不起作用?
- spring - SpringBoot Thymeleaf - 如何在对象字段的数据表中具有动态链接?
- javascript - Google Drive 如何在没有 Websocket 或服务器发送事件的情况下实时重新加载?
- c - POSIX 系统上 regex.h 标头的不同实现背后的算法类型