QGIS में निकटतम बिंदु से जुड़ने की विशेषताएँ?


29

मेरे पास बिंदुओं के साथ दो परतें हैं, उन्हें ए और बी कहते हैं, प्रत्येक अलग-अलग विशेषताओं के साथ।

एआई में प्रत्येक बिंदु के लिए बी में निकटतम बिंदु से सभी विशेषताओं को जोड़ना चाहते हैं।

आदर्श रूप से इसमें दोनों बिंदुओं के बीच की दूरी को मापने वाला क्षेत्र भी शामिल होगा।

मुझे पता है कि आर्कजीआईएस में यह कैसे करना है: राइट क्लिक लेयर A> जॉइन और रिलेटेड> जॉइन करता है, फिर स्पेसियल लोकेशन के आधार पर डेटा ज्वाइन करता है और निकटतम पॉइंट से एट्रीब्यूट्स चुनना पसंद करता है।

मुझे QGIS में समान कार्यक्षमता नहीं मिली। कोई संकेत?

जवाबों:


26

"दूरी मैट्रिक्स" का उपयोग करके आप निकटतम बिंदु की गणना कर सकते हैं। सुनिश्चित करें कि दोनों परतें एक ही सीआरएस में हैं! फिर, आप परिणाम लोड कर सकते हैं और उनका उपयोग तालिका ए और बी में शामिल होने के लिए कर सकते हैं।

"दूरी मैट्रिक्स" में: "रैखिक दूरी मैट्रिक्स" और "केवल निकटतम कश्मीर लक्ष्य बिंदुओं का उपयोग करें: 1"

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

CSV को "वेक्टर लेयर जोड़ें" का उपयोग करके लोड करें और लेयर ए की परत गुणों में परतों में शामिल हों - टैब से जुड़ें।

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

और परिणाम:

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


यदि आप चाहते हैं कि दूरी के मैट्रिक्स के उपयोग से एक परत के बीच के बिंदुओं के बीच की दूरी आपको k = 2 बदलनी चाहिए, तो इस ज्ञात समस्या के कारण: hub.qgis.org/issues/4761
Celia

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

13

NNJoin प्लगइन काम करना चाहिए। इनपुट लेयर की प्रत्येक विशेषता के लिए यह जॉइन लेयर में निकटतम फीचर की सभी विशेषताओं को जोड़ता है और इस फीचर की दूरी के साथ डिस्टेंस विशेषता भी जोड़ता है।


अच्छी तरह से काम। स्वीकृत उत्तर की तुलना में तेज़। ध्यान दें कि स्वीकार किए जाते हैं जवाब से 2011 अगर
juminet

कम से कम, आज स्वीकृत उत्तर की तुलना में बहुत बेहतर है। बहुत तेज।
सीएजी

4

यदि आप अपनी "बी" परत से केवल एक विशेषता को जोड़ने के साथ रह सकते हैं , तो mmqgis प्लगइन से "हब डिस्टेंस" टूल पर एक नज़र डालें ।

यदि आपको बाकी "बी" विशेषताओं की आवश्यकता है, तो आपको इस परत पर वापस अपने "बी" विशेषताओं के बाकी हिस्सों में शामिल होने में सक्षम होना चाहिए।

यदि आप चाहें तो ए से बी तक वैकल्पिक रूप से लाइनें भी बना सकते हैं। यह संबंधित सुविधाओं के बीच की दूरी और दिशाओं को देखने के लिए सहायक है।


0

RefFunctions प्लगइन का उपयोग कर एक और दृष्टिकोण ।

(1) नमूना डेटासेट

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

(2) परत की एक विशेषता तालिका खोलें जिसमें अधिक विशेषताएं हैं ( points_bइस उदाहरण में परत) ताकि कोई जोड़े छूट न जाएं। नए क्षेत्र बनाएं।

  • अन्य परत का आईडी क्षेत्र: geomnearest('points_a', 'id_a')
  • पता जोड़े की दूरी क्षेत्र: geomnearest('points_a', '$distance')

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


-6

क्यूजीआईएस 1.7 वेक्टर> डेटा प्रबंधन> का उपयोग करके स्थान के आधार पर शामिल हों

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


3
मैंने इसके बारे में भी सोचा था, लेकिन जब मैंने इसका परीक्षण किया, तो यह केवल सटीक मैचों के लिए काम किया, जैसे बिंदु-बहुभुज। यह निकटतम बिंदु को दूसरे बिंदु पर नहीं मिला ।
V1.7

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