मैं मौजूदा बिंदुओं के समूह से सबसे दूर का बिंदु कैसे पा सकता हूं?


17

मेरे पास एक आकृति के रूप में बिंदुओं का एक सेट है और मैं एक नए बिंदु को (निर्देशांक) ढूंढना चाहता हूं जिसमें मौजूदा बिंदुओं में से प्रत्येक से सबसे लंबे समय तक संभव दूरी होगी। क्या यह संभव है? यदि हाँ, तो क्या कोई नमूना VB कोड है? धन्यवाद डेमेट्रीस


क्या आपका मतलब है कि आप प्रत्येक पहले से मौजूद बिंदु के लिए एक नया बिंदु चाहते हैं, या एक बिंदु जो उन सभी से किसी भी तरह "दूर" है? और सबसे दूर से, क्या आपका मतलब "दुनिया के दूसरे पक्ष" से है? यदि ऐसा है, तो आप अक्षांश को केवल 1 से गुणा कर सकते हैं, और 180 को देशांतर में जोड़ सकते हैं (यदि परिणामी मान> 180 है तो 360 घटाकर) यदि आप उन्हें दशमलव डिग्री में रखते हैं।
नेम्पर्सन

मुझे लगता है कि दिलचस्प सवाल यह होगा: दुनिया भर में बिखरे हुए मौजूदा बिंदुओं को देखते हुए, सभी मौजूदा बिंदुओं से दूर दुनिया में एक नया बिंदु खोजें।
कर्क कूकेन्डल

यह प्रभावी रूप से एक समद्विबाहु त्रिभुज के अंत में बिंदु होगा, जिस पर दूरी केवल इस बात तक सीमित है कि आप कितनी दूर जाना चाहते हैं। यदि मैंने प्रश्न को ठीक से पढ़ा है, तो आप उन दोनों से बिंदु पर चर्चा करना चाहते हैं? समान रूप से?
बालों

1
ओह! मेरी पोस्ट ने एक शानदार चर्चा और सामग्री बनाई! NMpeterson: सबसे पहले, मुझे कहना होगा कि मेरे बिंदु एक छोटे से फ्लैट क्षेत्र के भीतर हैं; इसलिए ग्लोब गणना की कोई आवश्यकता नहीं है। मैं दूसरे मुद्दे को उठा रहा हूं; आइरन पॉइंट जो मौजूदा बिंदुओं से किसी भी तरह "सबसे दूर" है। इसलिए, कृपया इस पर ध्यान दें।
डेमेट्रिस

मैं सोच रहा हूँ कि क्या कोई नमूना VB कोड मूल प्रश्न में अनुरोध के रूप में उपलब्ध है। शायद इस तरह के कोड को पहले से ही विशेषज्ञों की प्रतिक्रियाओं को देखते हुए स्पष्ट किया गया है। लेकिन एक शुरुआत के रूप में, मैं इस समाधान को फिर से शुरू करके उम्मीद कर रहा हूं कि कृपया व्हीबर द्वारा प्रदान किया गया। अग्रिम में मैं एक टिप्पणी के बजाय एक जवाब के रूप में इसे प्रस्तुत करने के लिए माफी चाहता हूं।

जवाबों:


12

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

यहाँ पाँच बिंदुओं का उपयोग करके एक उदाहरण दिया गया है, यहाँ (lat, lon) दिया गया है:

 82.7051   -145.256
 60.3321     81.2881
-17.076     105.125
-38.792    -122.686
  0.000     180.000

दूरी का नक्शा

यह गोलाकार दूरी का मानचित्र विश्व को -180 से 180 डिग्री देशांतर क्षैतिज रूप से और -90 से 90 डिग्री अक्षांश तक लंबवत रूप से फैला हुआ है। अंक बड़े लाल डॉट्स के साथ दिखाए जाते हैं। चमक के साथ दूरियां बढ़ती हैं। स्पष्ट लकीरें महान मंडलियों के भाग होने चाहिए। छोटे काले बिंदु (-15.3268, -2.04352) के पास अधिकतम दूरी 11,227 किमी है। (ITRF00 दीर्घवृत्त डेटा में गणना की गई थी।)

इस ग्रिड का संकल्प एक डिग्री है। अधिक सटीक समाधान प्राप्त करने के लिए, कोई भी इस तरह के बिंदु (और वैश्विक अधिकतम के लिए पर्याप्त रूप से निकट मूल्य के साथ किसी अन्य स्थानीय अधिकतम) में ज़ूम कर सकता है और एक छोटे लेकिन उच्च-रिज़ॉल्यूशन ग्रिड पर गणना को दोहरा सकता है।


वैक्टर की तुलना में बहुत सुंदर। मुझे यकीन नहीं है कि मुझे लगा कि चूहों को एक सपाट पृथ्वी मॉडल की आवश्यकता है।
कर्क कूकेन्डल

सुंदर, हाँ, लेकिन अक्षम। सदिश-आधारित गोलाकार वोरोनोई समाधान को काम करते देखना अच्छा होगा।
whuber

@Huber: आप स्वचालित रूप से काले बिंदु के निर्देशांक कैसे प्राप्त कर सकते हैं? "
डेमेट्रीस

@Demetris एक तरीका यह है कि ग्रिड पर अधिकतम मूल्य की गणना करें, उस मान के बराबर सभी कोशिकाओं का चयन करें, और उस सेल के केंद्र के निर्देशांक का उपयोग करें।
whuber

@Whuber: बहुत धन्यवाद। यह एक अच्छा विचार है। हालांकि, मुझे एक फीचर क्लास (एक uniques बहुभुज) के आधार पर आउटपुट रैस्टर को क्लिप करना होगा। क्या मैं यह कर सकता हूं?
डेमट्रिस

8

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

मैंने कभी यह कोशिश नहीं की है, लेकिन ऐसा लगता है कि यह काम करेगा:

क्षेत्र के एक 3 डी voronoi आरेख बनाएँ । यह परिणामी बहुभुज मूल मौजूदा (बीज) बिंदुओं पर केंद्रित होगा।

प्रत्येक परिणामी शीर्ष के माध्यम से लूप को उसके निकटतम मौजूदा बिंदु से सबसे दूर स्थित खोजने के लिए। यह बिंदु ग्लोब पर सबसे दूरस्थ बिंदु होना चाहिए।


यह एक महान विचार (+1) है। लेकिन गोलाकार वोरोनोई आरेख क्या दिखता है जब सभी बिंदु एक सामान्य गोलार्ध के भीतर होते हैं? आप जिस कोड को संदर्भित करते हैं, वह उत्तल पतवार के साथ प्राप्त करता है, लेकिन ऐसा लगता है कि यह काम नहीं करेगा।
whuber

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

यह मेरा प्रारंभिक विचार था, लेकिन एंटीपोडल बिंदु कलात्मक बहुभुज बनाएंगे। उदाहरण के लिए, हर बिंदु पर एंटीपोड को शामिल करने पर आपके चित्रण में क्या होगा, इसके बारे में सोचें! शायद इस प्रकृति का एक समाधान है, लेकिन ऐसा लगता है कि यह सीधा नहीं है।
whuber

1

आप यह पहचानने के लिए लागत-भारित दूरी समारोह का उपयोग कर सकते हैं कि आपके रेखापुंज में हर कोशिका अन्य सभी बिंदुओं से कितनी दूर है।


आप किस लागत का उपयोग करेंगे?
whuber

यदि आप एक इकाई होने की लागत निर्धारित करते हैं; आप पहचान सकते हैं कि सबसे दूर का बिंदु क्या दूरी पर आधारित होगा।
djq

@whuber हालांकि यह पहले से उल्लिखित यूक्लिडियन दूरी दृष्टिकोण की गणना करने के लिए अलग नहीं है।
djq

वह यूक्लिडियन दूरी है। वास्तव में, यह भी नहीं है कि: यह एक अजीब तरह की अष्टकोणीय दूरी (हलकों वास्तव में अष्टकोण) हैं। इस स्थिति में (बिना किसी अवरोध के केवल बिंदुओं से दूरी), इसके लिए कॉस्टीडिस्टेंस का फायदा उठाने के बजाय सीधे यूक्लिडियन दूरी या गोलाकार दूरी ग्रिड की गणना करना अधिक सटीक और बहुत तेज़ है।
whuber

मुझे यकीन नहीं है कि लागत भारित दूरी fucntion में मदद मिलेगी क्योंकि मुझे सिर्फ एक बिंदु के निर्देशांक की आवश्यकता है और मेरे पास अंकों का वेक्टर सेट है, लेकिन मैं कोशिश करूंगा। धन्यवाद।
डेमेट्रिस

1

जहाँ तक मुझे पता है, यह " ध्रुव की दुर्गमता " विश्लेषण को चलना होगा।

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

एक पुनरावृत्त वेक्टर दृष्टिकोण अधिक जटिल है। गार्सिया-कास्टेलानोस एट अल 2007 एक गोलाकार पृथ्वी पर आधारित एक पुनरावृत्त विधि का वर्णन करता है। ऐसा प्रतीत होता है कि उन्होंने अपना सी कोड ऑनलाइन उपलब्ध करा दिया है । मैं आर्क में बफ़र्स के साथ ऐसा करने के तरीकों की कल्पना कर सकता हूं, लेकिन यह अभी भी चलना और धीमा होगा।


0

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


यह एक नए बिंदु के निर्देशांक को खोजने के लिए कैसे लागू किया जा सकता है जो इनपुट में प्रकट नहीं होता है? शायद आपने प्रश्न को गलत बताया है?
whuber

0

आपके सेट के सबसे दूर का बिंदु आपके सेट के सबसे आंतरिक बिंदु का पारस्परिक होगा। उदाहरण के लिए, यदि आपके सेट में आपके सबसे आंतरिक बिंदु में 49 डिग्री उत्तर और -144 डिग्री पूर्व का समन्वय था, तो पारस्परिक और सबसे दूर के बिंदु में 49 डिग्री दक्षिण और 36 डिग्री पश्चिम के निर्देशांक होंगे। यह बिल्कुल सच नहीं है क्योंकि पृथ्वी पूरी तरह से गोलाकार नहीं है, बल्कि भू-आकृति है; इसलिए, आपके परिणाम बिंदु की शुद्धता बहुत कुछ इस बात पर निर्भर करती है कि प्रक्षेपण और भौगोलिक प्रणालियाँ (ऑर्थोग्राफिक, ऑर्थोरक्टिफाइड ...) आप क्या उपयोग करती हैं। यह पूरे सेट के लिए एक पारस्परिक खोजने के लिए सहायक हो सकता है (एक सेट के लिए एक एंटीपोड ट्रांसफर करें) और फिर पॉइंट के एंटीपोड सेट द्वारा कवर इलाके के भीतर सतह विश्लेषण चलाएं, क्योंकि इलाके बहुत हो सकते हैं। मुझे लगता है कि आपका सवाल अन्य ग्रहों, या चंद्रमाओं जैसे अलौकिक निकायों पर किसी भी बिंदु के बारे में नहीं है। माफ़ करना, मेरे पास आपके लिए VB कोड नहीं है। 🙄


एक बिंदु में अन्य सभी बिंदुओं से सबसे दूर का बिंदु सबसे आंतरिक एक होगा (वह जो किनारे के सभी सबसे बाहरी बिंदुओं से सबसे दूर होता है), यह अभी भी सबसे आगे हर बिंदु के निकटतम होगा जो इसे नामांकित करता है। यह क्लस्टर विश्लेषण है, मजेदार नहीं है। भौतिकी में एक ही आवेश परमाणुओं में देखना बेहतर है।
यूरी शेवचुक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.