【发布时间】:2020-06-08 13:19:40
【问题描述】:
本着这个问题的精神:Converting pandas data frame with degree minute second (DMS) coordinates to decimal degrees 我想将格式为例如 18-23-34W 的经度转换为小数,即 -18.392778。我想用减号、- 和大写来分隔。
链接中的功能我一直在尝试,适应我的需要:
def dms2dd(s):
degrees, minutes, seconds, direction = re.split('[A-Z-]+', s)
dd = float(degrees) + float(minutes) / 60 + float(seconds) / (60 * 60)
if direction in ('S', 'W'):
dd *= -1
return dd
问题似乎出在degrees, minutes, seconds, direction = re.split('[A-Z-]+', s) 中的正则表达式上。我得到了转换,但没有得到-1的乘法,这是应该的。谢谢。
【问题讨论】: