Se hanno due punti, da cui voglio creare un LineString
oggetto dritto :
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
Il manuale di Shapely per gliLineString
stati:
Una sequenza di
Point
istanze non è un parametro costruttore valido. ALineString
è descritto da punti, ma non è composto da istanze Point.
Quindi se ho due punti A
e B
c'è un modo più breve / migliore / più semplice per creare una linea AB
rispetto alla mia ipotesi "migliore" attuale ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... che sembra piuttosto complicato. C'è un modo più semplice?
Aggiornare
Con Shapely 1.3.2 rilasciato oggi, l'affermazione di cui sopra dal manuale non è più corretta. Quindi d'ora in poi,
AB = LineString([A, B])
funziona !
shapely.__version__
concorda) e incollando il tuo codice alla lettera, ricevo un ValueError da linestring.pyc # 228 su "L'input[<...Point object at 0x..>, <...Point object at 0x...>]
è la forma sbagliata per un LineString". Ho perso qualcosa?