Jika memiliki dua poin, dari mana saya ingin membuat LineString
objek lurus :
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
The Shapely pengguna untukLineString
negara:
Urutan
Point
instance bukan parameter konstruktor yang valid. ALineString
dijelaskan oleh poin, tetapi tidak terdiri dari instance Point.
Jadi jika saya memiliki dua poin A
dan B
, apakah ada cara yang lebih pendek / lebih baik / lebih mudah untuk membuat garis AB
daripada tebakan "terbaik" saya saat ini ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... yang terlihat agak rumit. Apakah ada cara yang lebih mudah?
Memperbarui
Dengan Shapely 1.3.2 yang dirilis hari ini, pernyataan di atas dari manual tidak lagi benar. Jadi mulai sekarang,
AB = LineString([A, B])
bekerja !
shapely.__version__
setuju) dan menempelkan kode Anda kata demi kata, saya menerima ValueError dari linestring.pyc # 228 tentang "Input[<...Point object at 0x..>, <...Point object at 0x...>]
adalah bentuk yang salah untuk LineString". Apakah saya melewatkan sesuatu?Metode dasar adalah:
Anda juga bisa menggunakan slicing untuk menggabungkan daftar koordinat:
sumber