पाइथन, सुडौल पुस्तकालय: क्या आकृति बहुभुज पर एक प्रवीण ऑपरेशन करना संभव है?


11

मैं lat / lon निर्देशांक में एक घुमाया गया आयत बनाने की कोशिश कर रहा हूँ।

मूल रूप से, मेरे पास केंद्र के केंद्र और रोटेशन के कोण के निर्देशांक हैं।

क्या इसका उपयोग करना संभव है, सुडौल या गदल, या कुछ और?

जवाबों:


11

Shapely का affinityमॉड्यूल किसी भी ज्यामिति पर affine परिवर्तनों का समर्थन करता है, उदाहरण के लिए:

from shapely import affinity
from shapely.geometry import LineString

# Example geometry
line = LineString([(1, 3), (1, 1), (4, 1)])

# Rotate 30 degrees CCW from origin at the center of bbox
line_rot_center = affinity.rotate(line, 30, 'center')

# Rotate from origin at (1, 1)
line_rot_11 = affinity.rotate(line, 30, (1, 1))

दुर्भाग्य से, चक्कर (लॉन, लॉन) का चक्कर चक्कर के परिवर्तन के साथ नहीं किया जाता है। आपको या तो डेटा को प्रोजेक्ट करना होगा और प्रोजेक्ट किए गए निर्देशांक को घुमाना होगा या फिर गोलाकार घूमना होगा।
whuber

1
ओह ठीक है, मैं सवाल का हिस्सा (अव्यक्त, अकेला) याद किया। मैंने कभी भी भौगोलिक आदानों के लिए बनाया गया एफाइन ट्रांसफ़ॉर्मेशन फंक्शन नहीं देखा है, इसलिए आपके द्वारा दिए गए सुझाव आवश्यक हैं।
माइक टी

V1.2.17 के बाद से, Shapely में बदलाव आया है, हालांकि वे अभी तक प्रलेखित नहीं हैं - github.com/Toblerity/Shapely/blob/master/shapely/affinity.py
एलेक्स एल

लेखक का ब्लॉग भी देखें: sgillies.net/blog/1168/shapely-1-2-17
एलेक्स एल

1
@AlexL प्रकार help(shapely.affinity)। वास्तव में मैं लगभग मॉड्यूल के लिए मैनुअल अपडेट तैयार करने में लगा हूं।
माइक टी।

2

Sextante में एक उपकरण है जो काम कर सकता है। इसे "टूल्स फॉर वेक्टर लेयर्स" के तहत ट्रांसफॉर्म कहा जाता है। कमांड चलाने के लिए, एंगल, एंकर पॉइंट, स्केल फैक्टर और ट्रांसलेशन को परिभाषित करें। Sextante gvsig, Openjump, udig, अन्य के लिए एक विस्तार है। यह कमांड-लाइन से भी चलता है।


2

मुझे ऐसा करने के लिए पायथन या शेपली में कोई सुविधाएँ दिखाई नहीं देती हैं, लेकिन आप JTS (जावा टोपोलॉजी सूट) http://tsusiatsoftware.net/jts/main.html (GEOS ) के साथ ऐसा कर सकते हैं , Shapely द्वारा उपयोग किया गया कार्य एक पोर्ट है JTS के लेकिन JTS के अधिक कार्य हैं)

आप यहां सॉफ्ट डाउनलोड कर सकते हैं http://sourceforge.net/projects/jts-topo-suite/ और खोज के लिए खेलने के लिए अपने OS के आधार पर टेस्टबिलडर.श या टेस्टबिलडर.बैट लॉन्च करें। आपके समझ में आने के बाद, मूल बातें आपको GUI के बिना लेकिन केवल जावा प्रोग्रामिंग के साथ ही करनी होंगी।

http://geoscript.org/ आपको गोंद चुकंदर अजगर कोड और जावा बनाने में मदद कर सकता है (क्योंकि एक कार्यान्वयन ज्योनॉन का उपयोग करता है)



2

आप गाइन अजगर अजगर बाइंडिंग का उपयोग करने के लिए रूपांतरण कर सकते हैं http://www.gdal.org/ogr/osr/tn.html

चूँकि यह proj / geos / gdal के ऊपर बनाया गया है, आप उसी चीज़ को कर सकते हैं जैसे कि सुडौल + अधिक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.