QGIS में अद्वितीय मूल्यों का उपयोग करके स्वचालित रूप से शैली रेखापुंज?


17

ArcMap में, रास्टर के लिए अद्वितीय मानों की स्वचालित रूप से गणना करना संभव है और फिर प्रत्येक अद्वितीय मान के लिए एक अलग शैली लागू करें (पहली छवि देखें)।

हालांकि, QGIS में, मुझे "सिंगलबैंड स्यूडोकोलर" शैली (दूसरी छवि देखें) का उपयोग करते समय स्टाइल के लिए मैन्युअल रूप से मान जोड़ना होगा। क्या आर्चपाइप जैसे अद्वितीय मूल्यों को ऑटो-पॉप्युलेट करने का एक तरीका है?

ArcMap:

ArcMap रेखापुंज सहजीवन अद्वितीय मूल्यों

QGIS (अद्वितीय मानों के साथ मूल्य सूची को ऑटो-पॉप्युलेट कैसे करें?):

क्यूजीआईएस रेखापुंज


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

@ मैटे वास्तव में, हालांकि हमारे पास आमतौर पर बड़े अंतराल के साथ गैर-सन्निहित डेटा होते हैं। इस प्रकार यह वास्तव में रेखापुंज के भीतर नहीं मूल्यों को हटाने के लिए व्यावहारिक नहीं है (उदाहरण के लिए केवल मान 1 और 1000000 हैं जिन्हें आपको मैन्युअल रूप से बहुत सारी संख्याओं को हटाना होगा)। इसके अलावा, यह रेखापुंज के भीतर अद्वितीय मूल्यों के कुछ प्राथमिक ज्ञान का अनुमान लगाता है ...
Peet Whittaker

जवाबों:


3

अभी भी इस की तलाश में उन लोगों के लिए। अद्वितीय रैस्टर मान QGIS 3 में जोड़े गए हैं। "1 साल पहले Nyall Dawson द्वारा जोड़ा गया था

[सुविधा] एक रेखीय परत से अद्वितीय मूल्यों का उपयोग करते हुए तालबद्ध रेंडर को वर्गीकृत करने की अनुमति दें

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


7

यहाँ एक दृष्टिकोण है जो सहायक हो सकता है। GRASS टूल r.reportएक रास्टर लेयर में प्रत्येक अद्वितीय मान के लिए एक मूल आंकड़े की गणना करने में सक्षम है:

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

आउटपुट को एक सादा txt फ़ाइल लिखा जा सकता है जो इस तरह दिखती है (बाएं: अद्वितीय मान, दाएं: प्रत्येक मान द्वारा कवर किया गया क्षेत्र):

+-----------------------------------------------------------------------------+
|                      Category Information                        |    square|
|   #|description                                                  |     miles|
|-----------------------------------------------------------------------------|
|1111| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  1.249845|
|1113| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  0.062666|
[...]
|3412| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  0.013926|
|4111| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  4.713902|
|4211| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  0.083555|
|4212| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |  0.135777|
|-----------------------------------------------------------------------------|
|TOTAL                                                             | 17.048727|
+-----------------------------------------------------------------------------+

निम्नलिखित जियोप्रोसेसिंग स्क्रिप्ट इस पाठ फ़ाइल को एक इनपुट के रूप में लेती है और रास्टर परत के लिए एक उपयुक्त रेंडरर (सुविधा के लिए यादृच्छिक रंगों के साथ) स्थापित करती है (LAWHEAD, J द्वारा प्रेरित: QGIS पायथन प्रोग्रामिंग कुकबुक, पृष्ठ 135):।

##giswg=group
##thexml=file
##theraster=raster
from random import randint
from PyQt4.QtGui import QColor
from qgis.core import *
myraster = processing.getObject(theraster)
infile = open(thexml, 'r')
univalues = [l.split('|')[1] for l in [f for f in infile.readlines()][4:-4]]
s = QgsRasterShader()
c = QgsColorRampShader()
c.setColorRampType(QgsColorRampShader.EXACT)
i = []
for u in univalues:
    i.append(QgsColorRampShader.ColorRampItem(float(u), QColor('#%06x' % randint(0, 2**24)), u))
c.setColorRampItemList(i)
s.setRasterShaderFunction(c)
ps = QgsSingleBandPseudoColorRenderer(myraster.dataProvider(), 1, s)
myraster.setRenderer(ps)

QGIS की प्रसिद्ध प्रसंस्करण क्षमताओं के लिए धन्यवाद, आप इन दोनों को एक साथ ग्राफिकल मॉडलर में डाल सकते हैं और एक रेखापुंज पैरामीटर जोड़ सकते हैं ताकि बस एक भरी हुई रास्टर परत चुनें:

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

मॉडल को सहेजने के बाद, इसे प्रोसेसिंग टूलबॉक्स में डबल क्लिक करके इसे सामान्य टूल की तरह इस्तेमाल किया जा सकता है:

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

इस तरह दिखने वाले परिणाम के साथ (एक रैस्टोरैंट नैटुरा २२४ डेटासेट का बहिष्कार):

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

या परत गुणों में:

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

मुझे लगता है कि उपयोगकर्ता अनुभव में इसे कुछ सुधार की आवश्यकता है, लेकिन यह एक पहला कदम है।


1
सबसे अच्छा उपयोगकर्ता अनुभव नहीं है, लेकिन साझा करने के लिए धन्यवाद
रटगर्ह

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