我正在寻找如何保存输出的解决方案,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
答案 0 :(得分:1)
在for
循环中,dist
不是列表。用以下代码替换循环:
dist = [
gpxpy.geo.haversine_distance(lat1, lon1, lat2[i], lon2[i]) / 1000
for i in range(len(lat2))]