SQL सर्वर द्वारा एक विशिष्ट बहुभुज को अमान्य क्यों कहा जा रहा है?
यहां WKT का एक छोटा सा टुकड़ा है जो एक बहुभुज का प्रतिनिधित्व करता है जो ब्रिटिश कोलंबिया के तट से लेकर ओंटारियो झील के तट तक फैला हुआ है:
आप इसे https://arthur-e.github.io/ का उपयोग करके देख सकते हैं Wicket/sandbox-gmaps3.html और देखें कि यह "ठीक" है।
लेकिन.. SQL सर्वर को यह पसंद नहीं है। निम्नलिखित क्वेरी 0 लौटाती है (गलत... यानी ज्यामिति अमान्य है):
और अजीबता जोड़ने के लिए अगर मैं SQL के "मेकवैलिड" का उपयोग करता हूं तो परिणामी बहुभुज एक जैसा ही होता है लेकिन वास्तव में नहीं। बीसी के अंत में यह बहुत संकीर्ण है, और फिर एसके में इसकी शाखाएं चौड़ी हो जाती हैं। यहां परिणामी मेकवैलिड बहुभुज है:
मुझे जीआईएस के साथ बहुत अधिक अनुभव नहीं है।
बहुभुज एक ज्यामिति के रूप में मान्य है, लेकिन भूगोल के रूप में नहीं।
वहां बहुभुज के ऊपरी भाग में एक शीर्ष है लेकिन निचले खंड पर नहीं। एक ज्यामिति के रूप में (नीचे भूरे रंग में) यह ठीक दिखता है, लेकिन चूंकि भूगोल सीधी रेखाओं के बजाय बड़े वृत्त चाप का उपयोग करता है, शीर्ष निचले चाप के नीचे हो जाता है, जिसके परिणामस्वरूप एक स्व-प्रतिच्छेदन होता है (और नीचे हरे रंग में एक अजीब दिखने वाला मल्टीपार्ट बहुभुज)< br>
पीएस: हरा बहुभुज भूगोल में ऐसा दिखता है। यदि इसे वापस ज्यामिति में परिवर्तित किया जाए तो यह वैसा ही दिखेगा जैसा आपने पोस्ट किया है।
आप भूगोल के बजाय ज्यामिति का उपयोग कर सकते हैं, या आप इसे कास्ट करने से पहले मूल बहुभुज में और कोने जोड़ सकते हैं भूगोल... लेकिन तब भूगोल का उपयोग संदिग्ध हो जाता है :-)