#python #python-3.x #shapely
#python #python-3.x #shapely
Вопрос:
Я пытаюсь создать скрипт, который идентифицирует ближайшую точку на линии к точке. Я провел много исследований и остановился на модуле shapely, чтобы завершить это.
Я использую пример кода
from shapely.geometry import Point, LineString
from shapely.ops import nearest_points
line = LineString([(0, 0), (1, 1), (2, 2)])
point = Point(0.3, 0.7)
np = nearest_points(line, point)[0]
Я хочу напечатать np, чтобы получить свой ответ, и все, что я получаю в своем ядре, — это изображение точки. Может кто-нибудь сказать мне, чего мне не хватает, чтобы распечатать координату. Примеры, которые я вижу, печатают координаты.
Я использую anaconda с spyder. Мне приходится использовать anaconda из-за базовой программы, которую я должен использовать на работе.
Ответ №1:
Согласно официальной документации, это даст вам координаты точек:
p1,p2 = nearest_points(line, point)
print(p1.wkt,p2.wkt)
Следовательно, решение было бы:
from shapely.geometry import Point, LineString
from shapely.ops import nearest_points
line = LineString([(0, 0), (1, 1), (2, 2)])
p1,p2 = nearest_points(line, point)
print(p1.wkt,p2.wkt)