Сравнить набор координат для ближайшей точки - PullRequest
0 голосов
/ 18 октября 2019

Панды начинающий здесь. У меня есть набор координат позиций кораблей и набор координат отрезков, которые составляют маршрут корабля. Я хотел бы знать, какая точка на маршруте является самой близкой к кораблю. Затем я использую эту точку для вычисления общего расстояния от местоположения корабля до следующей точки и от следующей до конца набора. Есть похожий вопрос, но это немного другие проблемы: похожие вопросы здесь и здесь .

SHIP LAT    SHIP LNG
40.77110    14.0301
40.77110    14.0501

ROUTE 1 LAT   ROUTE 1 LNG
40.74556      13.93871
40.74477      13.94019
40.75093      13.94584
40.76589      13.99974
40.77114      14.01122
40.77109      14.0301
40.76585      14.02673

Я достиг того, что хочу, без использования панды иизо всех сил пытаться применить к кадру данных.

for segment in segments:
        proximity = min(haversine(lng,lat, point[0], point[1]) for point in segment)
        print('proximity point')
        print(proximity)
        for point in segment:
            if haversine(lng,lat, point[0], point[1]) == proximity:
                closest_point = point
            point_index = segment.index(point)
        print('closest point')
        print(point_index)
        total_distance = proximity
        i = point_index
        last_index = len(segment)-1
        while i < last_index:
            seg_distance =  haversine(segment[i][0], segment[i][1], segment[i+1][0], segment[i+1][1])
            print('segment distance')
            print(seg_distance)
            total_distance += seg_distance
            i += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...