使用Python For Loop保存多个坐标的输出距离

2024-09-28 19:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找如何保存输出的解决方案,Python的结果是循环搜索从多个坐标到一个位置的距离。使用的脚本如下:

import gpxpy.geo
import numpy as np

# Reference Point
lat1 = 8.1
lon1 = 108.9

# Range Points for Distance Determination Subject to Reference Point
lat2 = [3.120,5.933,1.490]
lon2 = [113.025,116.048,110.353]

dist = []
for i in range(len(lat2)):
    dist = gpxpy.geo.haversine_distance(lat1, lon1, lat2[i], lon2[i])/1000
    print dist

data=np.zeros((np.size(lon2),3))
#
data[:,0]=lat2
data[:,1]=lon2
data[:,2]=dist

np.savetxt('distant.dat',data,fmt='%9.3f')

我从生成的文件中得到的当前结果如下:

3.120   113.025   752.406
5.933   116.048   752.406
1.490   110.353   752.406

实际结果应该迭代,在第三列中有几个值,如下所示:

3.120   113.025   717.551
5.933   116.048   824.794
1.490   110.353   752.406

Tags: import距离fordatadistnp解决方案point
1条回答
网友
1楼 · 发布于 2024-09-28 19:32:04

for循环中,dist不是列表。将回路替换为:

dist = [
    gpxpy.geo.haversine_distance(lat1, lon1, lat2[i], lon2[i]) / 1000
    for i in range(len(lat2))]

相关问题 更多 >