Якщо є два моменти, з яких я хочу створити прямий LineString
об’єкт:
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
Посібник Shapely дляLineString
держав:
Послідовність
Point
екземплярів не є дійсним параметром конструктора. ALineString
описується пунктами, але не складається з екземплярів Point.
Отже, якщо у мене є два моменти, A
і B
чи є коротший / кращий / простіший спосіб створення лінії, AB
ніж мої поточні "найкращі" здогадки ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... що виглядає досить складно. Чи є простіший спосіб?
Оновлення
З випущеним сьогодні Shapely 1.3.2, наведене вище твердження з посібника вже не є правильним. Тож відтепер
AB = LineString([A, B])
працює !
shapely.__version__
погоджується) та вставлення коду дослівно, я отримую ValueError від linestring.pyc # 228 про тему "Введення[<...Point object at 0x..>, <...Point object at 0x...>]
неправильної форми для LineString". Я щось пропустив?