Как найти ближайшую точку LineString с координатой в python - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть следующий код ...

import osmnx as ox
latitude = 51.217220
longitude = 4.418535

p = ox.Point(latitude, longitude)
line = ox.LineString([(4.4203843 , 51.2154117), (4.420431, 51.2159018), (4.4204697, 51.2163913), (4.4204833, 51.2166588),  (4.4204243, 51.2168076), (4.4203641, 51.2169564), (4.4203409, 51.2170063), (4.4202929 ,51.2171074), (4.4202355 ,51.2171806), (4.420205, 51.2172067), (4.4201654, 51.2172246), (4.4201077 ,51.2172411), (4.4200562 ,51.2172511), (4.4194807 ,51.217338), (4.4190475 ,51.2174025), (4.4179023 ,51.2175729), (4.4178548 ,51.21758), (4.4177154 ,51.2176008)])
np = nearest_points(line, p)[0]
print(np)

Однако вывод становится

POINT (4.4203843 51.2154117)

И это явно не самая близкая точка, на мой взгляд, из этой LineString. Что я делаю не так?

...