यदि दो बिंदु हैं, जिनसे मैं एक सीधी 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 से एक वैल्यूएयर प्राप्त होता है । क्या मुझे कुछ याद आया?