मैं पूरी पृथ्वी का बहुभुज के रूप में प्रतिनिधित्व कैसे करूं?


11

यह एक बहुभुज के आंतरिक का निर्धारण करने से संबंधित है ।

मेरी कठिनाई यह है कि यदि मैं पूर्व से पश्चिम की ओर जाने वाली पृथ्वी को कवर करने वाले बहुभुज को निर्दिष्ट करता हूं, तो इसमें अभी भी एंटीमेरीडियन के साथ एक सीमा होगी, जो अज़ीमुथल अनुमानों में दिखाई देगी। उदाहरण के लिए, GeoJSON में:

{
  "type": "Polygon",
  "coordinates": [
    [[-180, -90], [-180, 90], [180, 90], [180, -90], [-180, -90]]
  ]
}

क्या कोई सीमा न होने के साथ एक पूरे क्षेत्र बहुभुज को निर्दिष्ट करने का एक मानक तरीका है?

मैंने खाली बाहरी रिंग का उपयोग करने के बारे में सोचा है:

{
  "type": "Polygon",
  "coordinates": [
    []
  ]
}

तर्क यह है कि मैं आगे के छल्ले को छेद के रूप में निर्दिष्ट कर सकता हूं जिसे पूरे क्षेत्र बहुभुज में छिद्रित किया जा सकता है।

दुर्भाग्य से, जियोसन ने कहा कि लिनियरिंग्स में कम से कम 4 अंक होने चाहिए, इसलिए यह विनिर्देशन से भटका होगा। हालाँकि, मुझे यह समझने में अभी भी दिलचस्पी है कि क्या यह दृष्टिकोण कहीं और लिया गया है या नहीं।


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

1
धन्यवाद। हमने इस स्थिति को संभालने के लिए बस अपने स्वयं के ऑब्जेक्ट प्रकार "स्फीयर" को परिभाषित करने का फैसला किया, क्योंकि एक खाली लाइनस्ट्रिंग सबसे सहज रूप से खाली सेट का प्रतिनिधित्व करेगा। मुझे लगता है कि यह सबसे अच्छा "उत्तर" है जो आप वास्तव में इस प्रश्न को दे सकते हैं।
जेसन डेविस

1
मुझे लगता है कि आप अपने समाधान, जेसन को कम लागत पर और कुछ लाभ के साथ सामान्य कर सकते हैं। चूँकि आप खाली सेट को गोले से अलग करने के लिए एक बिट को समर्पित कर रहे हैं, तो क्यों न उस बिट को हर बहुभुज के साथ इस्तेमाल किया जाए ताकि वह अपने उन्मुखीकरण का संकेत दे सके? नोंग्जेनर्जेट बहुभुजों के लिए, यह इंगित करता है कि क्या बहुभुज के अंदरूनी हिस्से को अपनी सीमा का पता लगाते समय दाईं ओर या बाईं ओर माना जाना चाहिए। बहुभुजों को पतित करने के लिए, यह इंगित करेगा कि क्या सीमा बहुभुज के साथ मेल खाती है या पूरक अभिप्रेत है। अब तुम हमेशा जानते हो कि भीतर कहां है।
whuber

अच्छा विचार! सामान्य तौर पर हम इनपुट के रूप में मानक GeoJSON को स्वीकार करना चाहते हैं, हालांकि। क्षेत्र वस्तु एक विशेष मामले का एक सा है, इसलिए हम अपने स्वयं के प्रकार को परिभाषित करने में कोई आपत्ति नहीं करते हैं, क्योंकि यह शायद ही उपयोग किया जाएगा। पॉलीगॉन के लिए, हमने एक ऑर्डरिंग कन्वेंशन (राइट-हैंड-रूल ईएसआरआई युक्ति के अनुरूप होना) अपनाने का फैसला किया है।
जेसन डेविस

जवाबों:


2

चूंकि पूरी पृथ्वी को कवर करने वाली सीमा के साथ बहुभुज की इस दुर्लभ स्थिति का प्रतिनिधित्व करने के लिए एक मानक तरीका प्रतीत नहीं होता है, इसलिए हमने अपने स्वयं के जोड़ने का फैसला किया {type: "Sphere"}, जिसने हमारे उद्देश्यों के लिए उल्लेखनीय रूप से अच्छी तरह से काम किया है।

हमने एक खाली लिनियररिंग वाले बहुभुज का उपयोग नहीं करने का फैसला किया, क्योंकि यह अधिक सहज रूप से एक खाली बहुभुज का प्रतिनिधित्व करता है और आसानी से पूरे-पृथ्वी बहुभुज के भ्रम और आकस्मिक निर्माण का कारण बन सकता है।

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