หากมีสองจุดจากที่ฉันต้องการสร้างLineString
วัตถุตรง:
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
คู่มือหุ่นดีสำหรับLineString
รัฐ:
ลำดับของ
Point
อินสแตนซ์ไม่ใช่พารามิเตอร์ตัวสร้างที่ถูกต้อง ALineString
อธิบายโดยจุด แต่ไม่ประกอบด้วยอินสแตนซ์จุด
ดังนั้นถ้าฉันมีสองจุดA
และB
มีวิธีที่สั้นกว่า / ดีกว่า / ง่ายกว่าในการสร้างเส้นAB
กว่าเดา "ดีที่สุด" ปัจจุบันของฉัน ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... ซึ่งดูค่อนข้างซับซ้อน มีวิธีที่ง่ายกว่านี้ไหม?
ปรับปรุง
ด้วย Shapely 1.3.2 ที่วางจำหน่ายวันนี้ข้อความข้างต้นจากคู่มือไม่ถูกต้องอีกต่อไป ดังนั้นจากนี้ไป
AB = LineString([A, B])
ได้ผล !
shapely.__version__
ตกลง) และวางรหัสคำต่อคำของคุณฉันได้รับ ValueError จาก linestring.pyc # 228 เกี่ยวกับ "อินพุต[<...Point object at 0x..>, <...Point object at 0x...>]
เป็นรูปร่างผิดสำหรับ LineString" ฉันพลาดอะไรไปหรือเปล่า