आर्कजी का उपयोग कर डेस्कटॉप के लिए आर्कजीस में घूर्णन की विशेषताएं? [बन्द है]


10

मेरे पास बहुभुजों की एक श्रृंखला है जिसे मैं घुमाना चाहता हूं।

प्रत्येक बहुभुज में एक घूर्णन कोण होता है और एक एंकर पॉइंट (xy निर्देशांक) को क्षेत्र मानों के रूप में संग्रहीत किया जाता है।

जैसा कि होता है, सभी लंगर बिंदु बहुभुज के एक शीर्ष पर होते हैं।

डेस्कटॉप और आर्कपी के लिए आर्कगिस का उपयोग करने का सबसे अच्छा तरीका क्या है?

मुझे पता है कि संपादन मोड में होने पर हम उन्हें घुमा सकते हैं, लेकिन मैं उन सभी को मैन्युअल रूप से नहीं करना चाहता क्योंकि वे सभी अलग हैं।

मैं एक पायथन जवाब पसंद करूंगा ताकि मैं इसे स्वचालित कर सकूं और अपने काम के प्रवाह में इसका निर्माण कर सकूं।


यह कुछ ऐसा है मैंने किया है नहीं है, लेकिन आप में चर्चा की है कि करने के लिए इसी तरह की एक मुद्दा सामना करना पड़ रहा हो रहे हैं gis.stackexchange.com/questions/13383/...
PolyGeo

आप आर्कोबजेक्ट्स के साथ ऐसा कर सकते हैं। प्रोग्रामेटिक समाधान स्वीकार्य होगा?
जैकब सिसक जियोग्राफिक्स

भौगोलिक या अनुमानित निर्देशांक में आपकी विशेषताएं हैं?
ब्लाह 238

जैकब - हाँ, एक प्रोग्रामेटिक समाधान पसंद किया जाएगा। ब्लाह 238 - अनुमानित निर्देशांक (NAD 83 UTM जोन 10)
dklassen

1
पायथन लिपि में, घुमाए गए Y निर्देशांक की गणना को माइनस साइन (घटाव ) के बजाय एक प्लस चिह्न (जोड़) की आवश्यकता है : y_transprime = Sin (t) * x_trans + Cos (t) * y -trans

जवाबों:


10

मान लें कि आप एक अनुमानित समन्वय प्रणाली का उपयोग कर रहे हैं ... (यदि आप नहीं हैं तो अधिक जटिल हो जाता है)

रोटेशन (X, Y) और रोटेशन कोण t के बिंदु को देखते हुए, आपको प्रत्येक बिंदु को बहुभुज के क्रम में घुमाना होगा। बहुभुज मानकर सेट में बिंदुओं का निर्माण किया जाता है जैसे कि सेट [[(x0, y0), (X1, y1), (x2, y2) ...]

आपको क्रम में, सेट में प्रत्येक बिंदु को '= [[(x0', y0 '), (X1', y1 '), (x2', y2 ') ...] को घुमाने की आवश्यकता है

घूमने के लिए, पहले आपको समन्वय प्रणाली को मूल (0,0) के रोटेशन के बिंदु को स्थानांतरित करके मूल में बदलना होगा। (x, y) को घुमाया जाने वाला बिंदु है।

x_trans = x - X
y_trans = y - Y
x_transprime = Cos(t) * x_trans - Sin(t) * y_trans
y_transprime = Sin(t) * x_trans + Cos(t) * y_trans
x_prime = x_transprime + X
y_prime = y_transprime + Y

यह एक अजगर स्क्रिप्ट में अनुवाद करने के लिए बहुत सीधा होना चाहिए।


यह कैसे करें के बारे में अधिक विचारों के लिए एक और प्रश्नोत्तर है जो सहायक हो सकता है जिसे कहा जाता है कि मैं अजगर स्क्रिप्ट का उपयोग करते हुए एक लंगर बिंदु के बारे में बहुभुज को कैसे घुमाऊं?
PolyGeo

गलत संकेत नोट करने के लिए धन्यवाद @ user23492 बनाया (दो साल बाद)
ब्लोर्ड-कास्टिलो

1

यहां Esri Forums से एक चर्चा है जो आपके लिए एक समाधान हो सकती है। एसरी प्रतिक्रिया के लिए देखो। इसमें बहुभुजों को चूहों में बदलना, रोटेट रास्टर टूल का उपयोग करना और पॉलीगॉन में वापस परिवर्तित करना शामिल है। हालाँकि, बहुभुज सीमाओं के बारे में कुछ चिंता हो सकती है क्योंकि आप रास्टर / वेक्टर के बीच आगे और पीछे गड़बड़ करते हैं।

अच्छी खबर यह है कि यह सभी आर्केओजेक्ट्स को बुलाए बिना पायथन में किया जा सकता है। और आपको विशेषता तालिका से अपने रोटेशन कोण और एंकर बिंदुओं को हथियाने के लिए SearchCursor का उपयोग करने में सक्षम होना चाहिए।

वैसे भी, बस एक संभव विकल्प।

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