Se hanno due punti, da cui voglio creare un LineStringoggetto 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
Pointistanze non è un parametro costruttore valido. ALineStringè descritto da punti, ma non è composto da istanze Point.
Quindi se ho due punti Ae Bc'è un modo più breve / migliore / più semplice per creare una linea ABrispetto 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?