Считайте, что поезд движется к месту назначения. У него будут промежуточные остановки между ними. Таким образом, расстояние до пункта назначения будет равно расстоянию = (промежуточная остановка 1, промежуточная остановка 1) + (промежуточная остановка 2). У меня есть столбец, который действует как флаг, чтобы сказать, достиг ли он этой конкретной остановки. Если flag = true для промежуточного останова 1 , то расстояние будет рассчитываться из (текущего останова, опосредованного местоположением 2) + (промежуточный останов 2, пункт назначения). Количество промежуточных остановок будет варьироваться для разных поездок. Я написал код от источника до места назначения, но я не понимаю, как это сделать для этого сложного процесса. Я новичок в python, и я попробовал приведенный ниже код
def haversine(lon1, lat1, lon2, lat2, earth_radius=6367):
lon1, lat1, lon2, lat2 = map(np.radians, [lon1, lat1, lon2, lat2])
dlon = lon2 - lon1
dlat = lat2 - lat1
a = np.sin(dlat/2.0)**2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon/2.0)**2
c = 2 * np.arcsin(np.sqrt(a))
km = earth_radius * c
return km
, как я могу включить выше logi c? ![enter image description here](https://i.stack.imgur.com/zlrc1.png)