QGIS में बहुभुज क्षेत्रों की गणना?


72

मैं वर्ग मीटर या एकड़ (हा) में आकार के क्षेत्र के क्षेत्रों की गणना कैसे करूं?

मुझे वेक्टर टूल में वह कार्यक्षमता नहीं मिली।


अनुवर्ती प्रश्न: स्टेट प्लेन NAD83 में मेरी एक परत है। जब मैं इन कमांड का उपयोग करता हूं तो यह पैरों में क्षेत्र बनाता है। अगर मुझे एकड़ या वर्ग मील चाहिए तो क्या होगा? धन्यवाद
C_K

दो जवाबों ने काम दिया लेकिन वे लागू करने के लिए थोड़ा धीमा हैं, खासकर जब एक कई बहुभुज वेक्टर फ़ाइलों के क्षेत्र को निर्धारित करने की कोशिश कर रहा है। क्या बहुभुज का क्षेत्रफल प्राप्त करने के लिए प्लग-इन या कोई अन्य तरीका नहीं है, केवल बहुभुज पर राइट क्लिक करके? प्रदान किए गए उत्तर एक नए फ़ील्ड विशेषता (यानी क्षेत्र) के साथ समाप्त होते हैं, लेकिन बहुभुज बदल जाने पर मान अपडेट नहीं होता है। इसलिए, कई मामलों में क्षेत्र को एक अलग फ़ील्ड विशेषता में प्रदर्शित करने की आवश्यकता नहीं है। यदि क्षेत्र को छोटे चार्ट में एक संख्या के रूप में दिखाया जा सकता है, तो पृष्ठ के नीचे, आदि पर्याप्त होगा। तो,
डेविड

2
पहचान उपकरण का उपयोग करके, एक बहुभुज पर क्लिक करें। क्षेत्र की पहचान की गई विंडो में "व्युत्पन्न" के तहत गणना और प्रदर्शित की जाती है। आप सेटिंग्स के तहत इकाइयों को बदल सकते हैं।
csk

जवाबों:


70

लेयर को संपादन योग्य बनाएं, फिर फ़ील्ड कैलकुलेटर (लेयर> ओपन एट्रैक्शन टेबल> फील्ड कैलकुलेटर / Ctrl + I या राइट क्लिक शेपफाइल> ओपन एसेबिलिटी टेबल> फील्ड कैलकुलेटर / Ctrl + I) का उपयोग करें। एक ऑपरेटर "$ क्षेत्र" है जो तालिका में प्रत्येक पंक्ति के क्षेत्र की गणना करेगा। सभी इकाइयों की गणना प्रक्षेपण की इकाइयों में की जाएगी, इसलिए आप शायद इसे एक प्रोजेक्शन के लिए प्रोजेक्ट करना चाहते हैं जो लेट / लोन के बजाय ऐसा करने से पहले पैर या मीटर का उपयोग करता है।


6
क्यूजीआईएस के वर्तमान संस्करणों में यदि आपका डेटा एक भौगोलिक सीआरएस में है तो आप अपने डेटा को डुप्लिकेट करने की आवश्यकता के बिना एक अनुमानित प्रणाली (अधिमानतः एक बराबर क्षेत्र एक) को ज्यामितीय प्रोजेक्ट करने के लिए फ़ंक्शन ट्रांसफ़ॉर्म () का उपयोग कर सकते हैं। फ़ील्ड कैलकुलेटर में, कुछ इस तरह काम करना चाहिए: क्षेत्र ($ ज्यामिति, 'ईपीएसजी: 4326', 'ईपीएसजी: 3763')
अलेक्जेंड्रे नेटो

9
@AlexandreNeto: क्या आपका मतलब है area(transform($geometry, 'EPSG:4326','EPSG:3763'))?
स्टीवर्ट मैकडोनाल्ड

@smacdonald हाँ, मेरी गलती है।
अलेक्जेंड्रे नेटो

18

यह वेक्टर के साथ भी किया जा सकता है। ज्यामिति उपकरण | ज्यामिति कॉलम जोड़ें / निर्यात करें, जो क्षेत्र और परिधि (या लंबाई) स्तंभों के साथ एक नया आकार बनाता है।

संपादित करें: (ऊपर दिए गए टूल का उपयोग करके, आप V1.8 में "नई आकृति-फ़ाइल के रूप में सहेजें" को भी अचयनित कर सकते हैं, आकार-निर्धारण अब केवल अपडेट किया गया है!)

क्षेत्र कैलकुलेटर का उपयोग करना शायद एक बेहतर विचार है, हालांकि, इसे नए आकार के निर्माण की आवश्यकता नहीं है।


आप पहले संपादन को सक्षम किए बिना शेपफाइल की विशेषताओं को नहीं बदल सकते हैं, (क्षेत्र की विशेषताओं को संपादित करते हुए गणना करता है, आप एक नया कॉलम जोड़ रहे हैं)। ध्यान रखें कि सभी इकाइयों की गणना प्रक्षेपण (मीटर बू डिफॉल्ट) की इकाइयों में की जाएगी, इसलिए आप इसे पहले एक अनुमानित समन्वय प्रणाली में फिर से प्रोजेक्ट करें।
हसन मुस्तफा

4

मैंने इसके लिए विशेष रूप से एक स्क्रिप्ट लिखी थी। यदि आप अपने डेटा को अस्वीकार नहीं करना चाहते हैं, तो आप दीर्घवृत्त गणित का उपयोग करके क्षेत्र की गणना कर सकते हैं।

Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area

आपको स्क्रिप्ट इंस्‍टॉल हो जाएगी Processing Toolbox -> Utils -> Ellipsoidal area

उपकरण स्वयं व्याख्यात्मक होना चाहिए और आपको प्रक्षेपण की परवाह किए बिना अपनी पसंद की इकाइयों में क्षेत्र की गणना करने की अनुमति देगा।


क्या आप कोड के रूप में बेहतर उदाहरण दे सकते हैं?
लेओ लेपोल्ड हर्ट्ज़ o

0

यदि आप जिन क्षेत्रों को देख रहे हैं वे परिवर्तन के लिए उत्तरदायी हैं, जैसे कि बुनियादी ढांचा लेआउट, जलग्रहण क्षेत्र, अध्ययन क्षेत्र आदि, मैं इसे केवल विशेषताओं के रूप में जोड़ने के बजाय क्षेत्रों को लेबल करना उपयोगी समझता हूं।

Label-> round($area/10000,2)||' ha'

इस तरह से आपको विशेषता तालिकाओं में कैचमेंट क्षेत्रों को अपडेट करने के लिए याद रखने की आवश्यकता नहीं है।

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