Düz bir LineString
nesne oluşturmak istediğim iki nokta varsa :
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
İçin Düzgün kılavuzuLineString
devletler:
Bir
Point
örnek sırası geçerli bir kurucu parametresi değildir. ALineString
, noktalarla tanımlanır, ancak Nokta örneklerinden oluşmaz.
Eğer iki puanım varsa A
ve şu anki "en iyi" tahminimden B
bir çizgi oluşturmanın daha kısa / daha iyi / daha kolay bir yolu varsa AB
...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... oldukça karmaşık görünüyor. Daha kolay bir yol var mı?
Güncelleme
Bugün yayınlanan Shapely 1.3.2 ile, el kitabındaki yukarıdaki ifade artık doğru değil. Bundan böyle,
AB = LineString([A, B])
çalışır !
shapely.__version__
Shapely 1.3.1'e yükselttikten ( katılıyorum) ve kod kelimelerinizi yapıştırdıktan sonra, linestring.pyc # 228'den "Girdi[<...Point object at 0x..>, <...Point object at 0x...>]
bir LineString için yanlış şekil " hakkında bir ValueError alıyorum . Bir şey kaçırdım mı?