Python将小数添加到经度值

时间:2016-11-17 20:01:03

标签: python decimal latitude-longitude

我有数千个NAD83纬度经度值,其中经度值以负值开头,如-747559718

此特定坐标小数需要在4之后才能在我正在使用的映射应用程序中正确使用。它应该是-74.7559718

有时经度值为-123092886,小数应该在3.之后应该是-123.092886

我正在通过JSON文件读取这些坐标,由于某种原因它们没有小数。我正在寻找一个纯python解决方案,在正确的位置插入小数。

数字长度为9或10位

我知道我可以做一些事情,比如我在变量中有经度值

 s = longitude
 s[:3] + '.' + s[3:]

1 个答案:

答案 0 :(得分:1)

我已经发现了我的问题:我所有的lat长坐标都在同期美国,我知道,作为一名地理空间分析师,NAD83投影中的任何经度值都在同期美国,从1位开始,在第3位后面会有一个小数位。并且美国的其他经度值要么以7,8或9开头,要么这些值在第二个数字后总是有一个小数。我不确定这个解决方案是否适用于世界其他地方,但它可以在这里完成

这是我的解决方案,其中z是包含经度值的变量:

if str(z)[1:2] == '1':
    longitude = str(z)[0:4]+'.'+str(z)[4::]
else:
    longitude = str(z)[0:3]+'.'+str(z)[3::]

<强>更新

更好的答案:

longitude = z * 0.0000001

这也适用于纬度值