वोरोनोई पॉलीगॉन जो अनंत तक निकलते हैं?


18

मैं voronoi.py स्क्रिप्ट (बिल साइमन के स्टीव फॉर्च्यून के कोड का अनुवाद) को लागू करने पर काम कर रहा हूं। क्यूजीआईएस लिंक के अनुसार यह मूल रूप से एक ही कोड है जिसके साथ मैं काम कर रहा हूं, लेकिन बहुभुज उत्पन्न करने का तरीका जो अनंत तक विस्तारित हो सकता है दोनों के बीच भिन्न होता है। क्यूजीआईएस मामले में, मैं मानता हूं कि साइट प्वाइंट एक्सटेंन्ट्स से परे कुछ बाउंडिंग आयत कुछ हद तक उत्पन्न होती है। मेरे मामले में, मैं ब्याज के साइट पॉइंट के आसपास एक सर्कल के रूप में गलत साइट पॉइंट जनरेट करता हूं। वृत्त बिंदुओं में साइट बिंदुओं की सीमा के व्यास का दो गुना त्रिज्या होता है। दोनों के बीच परिणाम संलग्न आंकड़े, बाईं ओर QGIS कार्यान्वयन और दाईं ओर मेरे कार्यान्वयन में दिखाए गए हैं। वोरोनोई उदाहरण

जैसा कि एक देख सकता है, क्यूजीआईएस कार्यान्वयन अजीब बहुभुज पैदा करता है जिनके कोई साइट पॉइंट नहीं हैं (दोनों कार्यान्वयन में एक उदाहरण के रूप में साइट 473 देखें)। यह स्पष्ट रूप से गलत है, लेकिन मुझे यकीन नहीं है कि मेरा कार्यान्वयन सही है या नहीं। चूँकि मेरे पास ArcMap के लिए एक ArcInfo लाइसेंस तक पहुंच नहीं है, इसलिए मैं इसकी तुलना नहीं कर सकता कि ArcMap मूल रूप से क्या उत्पन्न करता है और मैं किसी को परीक्षण करने के लिए साइट पॉइंट शेपफाइल संलग्न करने का तरीका नहीं देख सकता। इसलिए अगर किसी को "इन्फिनिटी सर्कल" के उपयोग पर कोई भी टिप्पणी करने की ज़रूरत है, तो एक "इनफिनिटी आयत" बनाम एज पॉलीगॉन को मदद करने के लिए, मैं इसकी सराहना करूंगा। बेहतर अभी भी, अगर किसी को कुछ अन्य जीआईएस प्लेटफॉर्म पर आउटपुट का परीक्षण करने में दिलचस्पी है, तो मैं उस साइट अंक का आकार प्रदान कर सकता हूं जिसका मैंने उपयोग किया था।


यह समस्या का हिस्सा प्रतीत होता है कि साइट से परे बहुभुज ओवरलैप करते हैं, इसलिए जब एक भरने के बिना प्रतीक किया जाता है, तो अलग-अलग बहुभुज के रूप में दिखाई देते हैं। निम्नलिखित आंकड़ा दिखाता है कि जब साइट 473 और 415 के बारे में बहुभुज का चयन होता है तो क्या होता है। इसलिए मूल प्रश्न बने हुए हैं, लेकिन एक नई शिकन है।


यह बग (या "अपूर्णता") है, QGIS में सही परिणाम यदि 0% के बफर का उपयोग किया जाता है। क्या अभी भी हल करने की आवश्यकता है कि क्या परिपत्र "अनन्तता अंक" का एक घना पैटर्न आयताकार "इन्फिनिटी किनारों" के समान परिणाम देगा।

यहाँ छवि विवरण दर्ज करें


मुझे आपके बिंदु डेटा का प्रयास करना अच्छा लगेगा। मेरे परीक्षण में ऐसा कोई व्यवहार नहीं दिखाया गया है।
UnderDark

मेरे पास जाने के लिए जिप फाइल तैयार है, मुझे Dan_Patterson@carleton.ca पर ईमेल के माध्यम से संपर्क करें और मैं इसे आपके पास भेज सकता हूं। मुझे लगता है कि मैंने QGIS में वोरोनोई चलाते समय 10% बफर जोड़ा।

शायद आप सुधार कर सकते हैं कि आपका वर्तमान प्रश्न क्या है (अपडेट 2 के बाद)।
UnderDark

अच्छा कार्य। मुझे उम्मीद है कि आप अपने कोड को किसी भी तरह समुदाय के साथ साझा करेंगे।
मिकालिस अवराम

उत्तर में नीचे दिए गए लिंक को देखें, मुझे अपडेट करना था क्योंकि ईएसआरआई ने मूल धागे को मार दिया था

जवाबों:


10

मैं इस बात की पुष्टि करने में सक्षम था कि मेरा कार्यान्वयन कम से कम आर्कगिस से तुलना करता है (लेकिन एक आर्कइनो लाइसेंस की आवश्यकता है)। यदि बफर दूरी का उपयोग किया जाता है तो QGIS कार्यान्वयन त्रुटि में है। ArcView लाइसेंस के साथ ArcGIS का उपयोग करने वालों के लिए, Voronoi और / या Delaunay के टूलसेट को ट्राइंगुलेशन टूल के रूप में पाया जा सकता है ।


QGIS Voronoi कोड में कई बग थे। QGIS 3.2.2 में कई सुधार लागू किए गए हैं। यह सुनने में दिलचस्प होगा कि क्या मदद मिली है।
होवार्ड टेवेइट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.