Si tiene dos puntos, desde los cuales quiero crear un LineString
objeto recto :
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
El manual bien proporcionado paraLineString
estados:
Una secuencia de
Point
instancias no es un parámetro constructor válido. ALineString
se describe por puntos, pero no se compone de instancias de puntos.
Entonces, si tengo dos puntos A
y B
, ¿hay una forma más corta / mejor / más fácil de crear una línea AB
que mi "mejor" conjetura actual ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... que se ve bastante complicado. hay una manera mas facil?
Actualizar
Con Shapely 1.3.2 lanzado hoy, la declaración anterior del manual ya no es correcta. Entonces de ahora en adelante,
AB = LineString([A, B])
funciona !
shapely.__version__
está de acuerdo) y pegar su código literalmente, recibo un ValueError de linestring.pyc # 228 sobre "La entrada[<...Point object at 0x..>, <...Point object at 0x...>]
es la forma incorrecta para LineString". ¿Me he perdido algo?El método base es:
También puede usar la división para concatenar las listas de coordenadas:
fuente