from haversine import haversine
d = [(52.472665, -1.8977818),
(52.47455886, -1.90080653),
(52.4515712, -1.9327772),
(52.45028622, -1.93212766),(53.45028622, -1.93212766)]
data = []
for i in range(len(d)-1):
data.append(haversine(d[i], d[i+1], miles=True))
print data
输出-
^{pr2}$
编辑-
如果您想获得d中所有组合(所有可能的非重复位置对)之间的距离,则-
from haversine import haversine
from itertools import combinations
d = [(52.472665, -1.8977818),
(52.47455886, -1.90080653),
(52.4515712, -1.9327772),
(52.45028622, -1.93212766),(52.45028622, -1.93212766)]
data = []
for pair in combinations(d,2):
data.append(haversine(pair[0], pair[1], miles=True))
print data
如果要计算两个位置之间的距离(一个接一个,如^{所示)并向前看,可以尝试如下
range
。在输出-
^{pr2}$编辑- 如果您想获得
d
中所有组合(所有可能的非重复位置对)之间的距离,则-输出-
我不确定您想从
haversine
模块中使用什么函数,但是要比较坐标列表中的两个连续项,可以使用列表理解和坐标切片zip
:这将比较},},}等等。。。。在
p1
与{p2
与{p3
与{如果我没弄错,你需要做的就是迭代
zip(daycoords1, daycoords1[1:])
并进行计算。演示:如果有很多坐标,请考虑
itertools.izip
以提高内存效率。在相关问题 更多 >
编程相关推荐