QGIS का उपयोग कर आकार क्षेत्र से अलग मूल्यों की सूची प्राप्त करना?


18

मेरे पास एक आकृति है जिसकी विशेषताएं मैं क्वेरी संवाद में एक खंड को निर्दिष्ट करके फ़िल्टर कर सकता हूं। Fx में मेरे पास 'city_name' नाम का एक फ़ील्ड है और 'city_name = "London" नाम बताते हुए, जिसमें क्लॉज़ केवल लंदन में प्रदर्शित होता है। अब मैं क्या करना चाहूंगा कि सभी शहरों को 'सिटी_नाम' के सभी मूल्यों को विशेषता तालिका से लाना है।

ऐसा कुछ:

select distinct city_name from [attribute table]

मुझे क्यूजीआईएस में जाहिरा तौर पर एसक्यूएल के साथ काम करने के कई उपकरण मिले और मुझे अलग-अलग प्लगइन्स पर भी एक त्वरित नज़र थी। लेकिन मैं एक डेटाबेस या टेबल के नाम से कनेक्ट करने में विफल रहता हूं ... उस मामले में क्या डेटाबेस या कौन सी तालिका?

अंत में मैं परिणाम सूची को निर्यात करना चाहता हूं और इसे आगे की प्रक्रिया के लिए उपयोग करना चाहता हूं।

मैं QGIS 1.8 का उपयोग कर रहा हूं।

जवाबों:


32

अद्यतन उत्तर (QGIS संस्करण> = 2.14)

QGIS 2.14 के बाद से , आप वर्चुअल लेयर्स का उपयोग करके किसी भी लोडेड वेक्टर लेयर पर SQL स्टेटमेंट चला सकते हैं ।

  1. QGIS में भरी हुई परत होने पर, Layer> Add Layer> Add / Edit Virtual Layer पर जाएं ;
  2. वर्चुअल लेयर बनाएँ संवाद में, क्वेरी क्षेत्र में आपको SQL कथन दर्ज करें। कुछ इस तरह:

    चयन करें DISTINCT city_name से layer_name

  3. ज्यामिति के लिए कोई ज्यामिति सेट करें

  4. ओके पर क्लिक करें और वांछित विशिष्ट मूल्यों के साथ एक टेबल QGIS में लोड हो जाएगा।

नोट: यह तालिका अद्यतन की जाएगी यदि नए मान city_name कॉलम में जोड़े जाते हैं।

विरासत उत्तर (QGIS संस्करण <2.14)

आपके पास कुछ विकल्प हैं जो आप पूछते हैं।

  1. स्पैटियालाइट या पोस्टगिस डेटाबेस में अपनी आकृति को आयात करें, और फिर आप अपनी एसक्यूएल स्टेटमेंट का उपयोग करके अपनी तालिका को क्वेरी कर सकते हैं;
  2. फ़ील्ड "city_name" का उपयोग करके अपने शेपफाइल्स को भंग करने के लिए, डिसॉल्व टूल (वेक्टर> जियोप्रोसेसिंग टूल्स> डिसॉल्व) का उपयोग करें। यद्यपि एक अजीब विधि है, जिसके परिणामस्वरूप आकृति फाइल की dbf फ़ाइल आपको आवश्यक सूची प्रदान करेगी;
  3. समूह आँकड़े प्लगइन (1.6) पर एक नज़र डालें , आप "city_name" को वर्गीकरण क्षेत्र के रूप में उपयोग कर सकते हैं, और गणना दबा सकते हैं। यह प्रत्येक शहर के बारे में कुछ आंकड़ों की गणना करेगा, फिर आप परिणाम की प्रतिलिपि बना सकते हैं और शहर की सूची निकाल सकते हैं।

मैंने अभी देखा है कि, वेक्टर> एनालिसिस टूल्स में , लिस्ट यूनिक वैल्यूज़ टूल है, जो इस कार्य के लिए ठीक है। इतना आसान ... कोई वर्कअराउंड और प्लगइन्स की जरूरत नहीं।


6

QGIS DB प्रबंधक का उपयोग करें और 'वर्चुअल लेयर्स' के माध्यम से अपने आकार का उपयोग करें

फिर आप SQL विंडो का उपयोग कर सकते हैं और अपनी क्वेरी लिख सकते हैं:

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


1
यह अब (QGIS 2.14+) सही उत्तर है।
एलेक्जेंडर नेटो

0

कुछ इस तरह की कोशिश करें:

where city_name is NOT NULL or not equal to NULL


1
इससे QGIS को एक शहर_नाम के साथ सभी सुविधाएँ प्रदर्शित होंगी। लेकिन मैं city_name मान निर्यात करना चाहता हूं।
राफेल

-1

QGIS में क्वेरी बिल्डर का उपयोग करें, क्वेरी बिल्डर में फ़ील्ड्स में शहर का नाम फ़ील्ड पर जाएँ। मूल्यों पर जाएं, सभी को जोड़ें। किसी भी नल को हटा दें।

शहर के नाम = "लंदन" और शहर के नाम = "पेरिस" के समान एक स्क्रिप्ट बनाएं जब तक आपके पास नामों की पूरी सूची न हो और स्क्रिप्ट को चलाएं। अब सभी शहर के नाम चुने गए हैं। आप एक आकार फ़ाइल के रूप में चयनित निर्यात कर सकते हैं और एक पोस्टग्रैक्स्ल डेटाबेस में आयात कर सकते हैं।

QGIS के लिए एक पोस्टग्रैसक बैकएंड का उपयोग करने के लिए, जियोसर्वर, पोस्टग्रैस्कल और एक पोस्टगिस सक्षम डेटाबसे के साथ पोस्टग्रेजल में एक पोस्टग्रैस्कल स्टैक स्थापित करें। आपको QGIS को सर्वर से कनेक्ट करना होगा। एक बिट के आसपास खेलते हैं और आप यह पता लगाने जाएगा।

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