我有一组很长的坐标和纬度代表的路径。
coordinates = [
[60, 58],
[63, 67],
[69, 82],
[74, 75],
[85, 73]
...
];
我怎么能计算米的路径距离
您的评论,你可以找到通过经度和纬度给出两点之间的地球表面上的距离说。比方说,你有能做到这一点,可以用earth_distance(pt1, pt2)
调用的函数。您可以使用Python来添加所有与连续点之间的距离
total_distance = sum(earth_distance(pt1, pt2)
for pt1, pt2 in zip(coordinates, coordinates[1:]))
该公式使用内置zip
函数来获取对点,切片[1:]
意味着对点在你的coordinates
列表连续点,你earth_distance
函数来计算两个点之间的距离,并sum
把他们都加到一起。这是解决你的问题一个Python的方式。
这里是一个方式,是更类似于其他语言将如何做到这一点,但仍然在Python。
total_distance = 0
pt2 = coordinates[0]
for ndx in range(1, len(coordinates)-1):
pt1 = pt2
pt2 = coordinates[ndx]
total_distance += earth_distance(pt1, pt2)
或这个:
total_distance = 0
for ndx in range(1, len(coordinates)-1):
pt1 = coordinates[ndx - 1]
pt2 = coordinates[ndx]
total_distance += earth_distance(pt1, pt2)