बहुभुज और मल्टीपॉलीगॉन को दाहिने हाथ के नियम का पालन करना चाहिए


17

http://geojsonlint.com/ मुझे त्रुटि मिलती है

 Polygons and MultiPolygons should follow the right-hand rule

मैंने अपनी पुरानी जियोजोन फ़ाइल के साथ बिना किसी समस्या के पिछले 3 वर्षों से इसका उपयोग किया। अब जियोजोनस्लिंट दाहिने हाथ का नियम लागू करता है, समस्या को कैसे ठीक करें।

जवाबों:


7

अगस्त 2016 तक जियोसन अब एक औपचारिक IETF विनिर्देशन है । और कुछ चीजें पुराने अनौपचारिक 2008 की कल्पना से बदल गई हैं । तो 2016 के लिए मान्य होने के लिए अपने बहुभुज की कल्पना करें, दाहिने हाथ में घाव होना चाहिए

Https://tools.ietf.org/html/rfc7946#section-3.1.6 देखें

MUST का उपयोग विनिर्देशन की पूर्ण आवश्यकता को दर्शाता है। हालाँकि तब अन्य वाइंडिंग को अस्वीकार नहीं करने के बारे में बाद की भाषा अजीब है और कुछ तर्क के लिए खुली है - शायद पार्सर्स को अन्य वाइंडिंग्स को स्वीकार करना और सही करना चाहिए। मुझे लगता है कि इस शब्द का उपयोग करने के लिए जियोसनस्लिंट (जियोजोनशिन से) को उनके फीडबैक संदेश में MUST के बजाय क्या करना चाहिए

इसलिए मैं geojsonlint.com की स्थिति से सहमत हूं क्योंकि वे अपने पेज के शीर्ष पर सही जगह पर 2016 की कल्पना की कड़ी हैं। 2016 के अनुमान के अनुसार आपके बहुभुज खराब हैं। लेकिन फिर भी वे अनौपचारिक 2008 की कल्पना के अनुसार ठीक हैं। इसलिए यदि आप अपने बहुभुज की घुमावदार परिवर्तन की इच्छा नहीं रखते हैं, तो आपको कुछ विशेष लिंटर या पार्सर बनाने की आवश्यकता होगी जो आप पुराने 2008 के सम्मान का उपयोग करते हैं और एक दिन अचानक नए औपचारिक युक्ति पर नहीं जाते हैं।

या शायद आपको अपने बहुभुज घुमावदार को बदलने पर विचार करना चाहिए क्योंकि ऐसा करने से आपको दोनों चश्मे के साथ मिल जाएगा और 2008 की कल्पना के अनुसार भविष्य के लिए बेहतर स्थिति मिलेगी।

ध्यान दें कि 2016 की कल्पना में मेरे लिए सबसे बड़ा बदलाव समन्वय प्रणालियों के समर्थन का पूरी तरह से छोड़ना था। मेरे पास NAD83 में मेरे सभी GeoJSON थे और फिर चुपचाप हटाना पड़ा कि अब सभी GeoJSON WGS84 है। सौभाग्य से मेरे लिए ओरेकल स्पैटियल से आने वाले मेरे सभी बहुभुज पहले से ही दाहिने हाथ के घाव थे।


मेरे लिए यह अच्छा होगा अगर जियोजोनस्लिंट में वाइंडिंग टेस्ट को छोड़ देने का विकल्प हो, या एक अलग मुद्दे के रूप में रिपोर्ट करें। यही कारण है कि विनिर्देश किसी भी तरह की सिफारिश कर रहा है।
user30184

5

मेरे पुराने जियोजेन्सन गूगल मैप, लीफलेट, ओपनलेयर, मैपबॉक्स, बिंग मैप, इत्यादि के साथ काम करते हैं, लेकिन असफल जियोजोनस्लिंट.कॉम मान्य नहीं है।

मुझे मान्य करने के लिए किसी अन्य वेबसाइट का उपयोग करना होगा: http://geojson.io


4

https://mapster.me/right-hand-rule-geojson-fixer/ इस पृष्ठ में क्लाइंट-साइड जावास्क्रिप्ट फ़ंक्शन है जो दाहिने हाथ के नियम की समस्या को ठीक करता है।


यह सेवा अब एफएफ या क्रोम में
हेनरिक

@ हेनरिक: मैंने इसे FF.70 में सही ढंग से काम करने के लिए उपयोग किया है। शायद यह वापस आ गया है।
एलीज़ एल'ओम

4

किसी को भी इसे खोजने और उन्हें ठीक करने के लिए एक उपकरण की तलाश में। GDALs ogr2ogr "2008" कल्पना जेजेन्सन ले सकता है और "RFC7946" मानक मोड में लिख सकता है (अभिविन्यास के लिए दाहिने हाथ के नियम के बाद बहुभुज के साथ)।

ogr2ogr -f GeoJSON -lco RFC7946=YES output.json input.json

या स्क्रिप्ट में उपयोग के लिए जहां आप इनपुट और जार्जसन को एक स्ट्रिंग के रूप में आउटपुट करना चाहते हैं:

echo 'Your GeoJSON' | ogr2ogr -f GeoJSON -lco RFC7946=YES /vsistdout/ /vsistdin/


2

इसका उपयोग करके पाइथन में बहुत आसानी से तय किया जा सकता है geojson-rewind

from geojson_rewind import rewind

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