यदि दो बिंदु हैं, जिनसे मैं एक सीधी 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))
... जो जटिल लगता है। क्या कोई आसान तरीका है?
अपडेट करें
आज के जारी किए गए शापली 1.3.2 के साथ, मैनुअल से उपरोक्त कथन अब सही नहीं है। तो अब से,
AB = LineString([A, B])
काम करता है !
shapely.__version__
सहमत) में अपग्रेड करने और अपने कोड वर्बेटिम को चिपकाने के बाद, मुझे[<...Point object at 0x..>, <...Point object at 0x...>]
"इनपुटस्टार के लिए गलत आकार है " के बारे में linestring.pyc # 228 से एक वैल्यूएयर प्राप्त होता है । क्या मुझे कुछ याद आया?