मैं भौगोलिक निर्देशांक से क्षेत्र कैसे माप सकता हूं?


12

यदि मेरे पास भौगोलिक निर्देशांक (WGS84) में बहुभुज हैं, तो मैं पृथ्वी की सतह पर प्रत्येक क्षेत्र को पृथ्वी की वक्रता को ध्यान में रखते हुए कैसे मापता हूं?

जवाबों:


7

PostGIS 1.5 ने एक नया GEOGRAPHY प्रकार पेश किया । GEOGRAPHYप्रकार एक उपगोल पर unprojected निर्देशांक एक PostGIS तालिका में संग्रहीत करने के लिए के लिए अनुमति देता है, और कुछ विश्लेषण कार्यों उन पर प्रदर्शन किया जा करने के लिए।

ST_Area वर्ग मीटर में उनके क्षेत्र की गणना करने के लिए GEOGRAPHY प्रकार के बहुभुज पर प्रश्न किए जा सकते हैं।

निम्नलिखित क्वेरी सभी पॉलीगोन के क्षेत्र को स्फेरॉइड का उपयोग करके आउटपुट करती है (वर्तमान में केवल WGS-84गोलाकार समर्थित है), यह मानते हुए कि वे GEOGRAPHYप्रकार का उपयोग करके संग्रहीत हैं :

SELECT ST_Area(the_geom) FROM table_of_polygons;

एक गोलाकार पर क्षेत्र की गणना करने के लिए उपयोग किया जाने वाला एल्गोरिथ्म स्रोत-कोड से प्राप्त किया जा सकता है ।


ठंडा। जानकारी के लिए धन्यवाद। मुझे इसके लिए प्रयास करना होगा।
ग्लेनऑन

PostGIS हुड के तहत क्या करता है?
mwalker

@mwalker मैं समय जानने के लिए नहीं लिया है, लेकिन मैं आपको :) करना चाहते हैं तो स्रोत-कोड के लिए एक लिंक जोड़ दिया है
fmark

मेरी अप्रशिक्षित आंख से, PostGIS एक योग का उपयोग कर रहा है, क्षेत्र को स्ट्रिप्स में नक्काशी कर रहा है और उन सभी को जोड़ रहा है।
mwalker

10

यहां कुछ कोड का लिंक दिया गया है, जो एक साधारण बहुभुज (मूल रूप से विश्व पवन मंच से) के क्षेत्र का उत्पादन करेगा: http://forum.worldwindcentral.com/showthread.php?t=20724 । यह एक क्षेत्र पर समस्या को हल करता है, मोटे तौर पर रिश्ते पर आधारित:

वैकल्पिक शब्द

एस = बहुभुज का क्षेत्र; थीटा रेडियन में आंतरिक कोणों का योग है; n कोने की संख्या है; r गोले की त्रिज्या है।

यह भी देखें (सूत्र छवि का स्रोत): http://www.geom.uiuc.edu/docs/reference/CRC-formulas/node59.html

मुझे एक तिरछे क्षेत्र पर बहुभुज क्षेत्र के लिए लिंक और / या कोड देखकर खुशी होगी।


1
एक भौगोलिक क्षेत्र पर एक जियोडेसिक बहुभुज के क्षेत्र के लिए @glennon कोड जियोग्राफिकलिब में उपलब्ध है । कोड में उस पेपर का लिंक होता है जहां एल्गोरिथ्म प्राप्त होता है।
cffk

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

7

यहाँ सरल गणना के लिए स्रोत है जो हम OpenLayers में बनाते हैं। यह तरीका "कुछ अल्गोरिद्म फॉर पॉलीगन्स ऑन ए स्फीयर" (रॉबर्ट जी। चेम्बरलेन और विलियम एच। ड्युकेट, नासा जेपीएल पब्लिकेशन 07-03) से आता है। ऊपर से जुड़ा कोड एक रैखिक रिंग (भौगोलिक निर्देशांक के साथ) के क्षेत्र का निर्धारण करने के लिए है। Polygons और MultiPolygons के क्षेत्रों को रिंगों से अभिव्यक्त किया जाता है।

var area = 0.0;
var len = ring.components && ring.components.length;
if (len > 2) {
    var p1, p2;
    for (var i=0; i<len-1; i++) {
        p1 = ring.components[i];
        p2 = ring.components[i+1];
        area += OpenLayers.Util.rad(p2.x - p1.x) *
            (2 + Math.sin(OpenLayers.Util.rad(p1.y)) +
            Math.sin(OpenLayers.Util.rad(p2.y)));
    }
    area = area * 6378137.0 * 6378137.0 / 2.0;
}

रिंग घटक उपरोक्त कोड में x, y (lon, lat) के दो एलीमेंट एरे हैं। OpenLayers.Util.rad विधि सिर्फ डिग्रियों को रेडियंस (deg * PI / 180) में परिवर्तित करती है।


1
आप जिस त्रिज्या का उपयोग कर रहे हैं, वह 6378137.0 मीटर पृथ्वी के भूमध्यरेखीय त्रिज्या से मेल खाती है। क्या इसका कोई कारण है? एक मध्यम त्रिज्या का उपयोग करना अधिक सटीक नहीं होगा?
फ्रेडबी

Math.radians = function (डिग्री) {रिटर्न डिग्री * Math.PI / 180.0; }; x = अक्षांश, y = देशांतर
स्टीफन स्टीगर

4

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

मेरा मानना ​​है कि UTM स्वीकृत मानक प्रक्षेपण है, क्योंकि यह आपके अक्षांश और देशांतर के आधार पर एक क्षेत्र का चयन करने के लिए बहुत सरल है, और विरूपण भी न्यूनतम है, यहां तक ​​कि क्षेत्रों में भी। इसलिए, यदि आपके पास टेक्सास का आकार बहुभुज है, तो आप UTM जोन 14 N का उपयोग कर सकते हैं और यह अभी भी काफी सटीक होगा।

यदि आपके बहुभुज उत्तर या दक्षिण ध्रुव पर हैं, तो आपको इसके बजाय UPS का उपयोग करना चाहिए , क्योंकि UTM अनुमान ध्रुवों पर कम सटीक होते हैं, और आप जल्दी से उन्हें पीछे छोड़ देंगे क्योंकि सीमाएँ छोटी हो जाती हैं (क्योंकि वे देशांतर की रेखाओं का अनुसरण करती हैं)

एक बार जब आपके अंक कार्टेशियन-फ्रेंडली कोऑर्डिनेट सिस्टम में होते हैं, तो आप उन्हें पॉलीगॉन की तरह ग्रिड और कैलकुलेटेड एरिया पर मान सकते हैं।


3

2011-07 में ज्योग्राफिकलिब में एक बहुभुज वर्ग जोड़ा गया था। यह बहुभुज के वास्तविक दीर्घवृत्ताभ क्षेत्र की गणना करता है, जिसके किनारे भूगणित होते हैं। PostGIS के विपरीत, विधि संख्यात्मक एकीकरण को पूरा नहीं करती है। डोक्यूमिनेशन के लिए (और पेपर की एक कड़ी जहां सूत्र प्राप्त होते हैं), देखें

http://geographiclib.sf.net/html/classGeographicLib_1_1PolygonAreaT.html

(लिंक को टेम्पलेट क्लास में बहुभुज के सामान्यीकरण को दर्शाने के लिए तय किया गया है।)

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