Nếu có hai điểm, từ đó tôi muốn tạo một LineString
đối tượng thẳng :
from shapely.geometry import Point, LineString
A = Point(0,0)
B = Point(1,1)
Các nhãn hiệu kiểu dáng cân đối choLineString
tiểu bang:
Một chuỗi các
Point
trường hợp không phải là một tham số xây dựng hợp lệ. ALineString
được mô tả bởi các điểm, nhưng không bao gồm các trường hợp Điểm.
Vì vậy, nếu tôi có hai điểm A
và B
, có cách nào tạo ra một dòng ngắn hơn / tốt hơn / dễ dàng AB
hơn so với dự đoán "tốt nhất" hiện tại của tôi không ...
AB = LineString(tuple(A.coords) + tuple(B.coords))
... có vẻ khá phức tạp. Có cách nào dễ hơn không?
Cập nhật
Với Shapely 1.3.2 được phát hành ngày hôm nay, tuyên bố trên từ hướng dẫn sử dụng không còn đúng nữa. Vì vậy, từ bây giờ,
AB = LineString([A, B])
làm việc !
shapely.__version__
đồng ý) và dán nguyên văn mã của bạn, tôi nhận được ValueError từ linestring.pyc # 228 về "Đầu vào[<...Point object at 0x..>, <...Point object at 0x...>]
là hình dạng sai cho LineString". Tôi đã bỏ lỡ một cái gì đó?