Вы сказали в комментарии, что вы можете найти расстояние над поверхностью земли между двумя точками, заданными долготой и широтой.Допустим, у вас есть функция, которая может сделать это и которая может быть вызвана с помощью 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.
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)