कंसोल से एक परत कैसे स्टाइल करें?


9

मैं क्यूजीआईएस पायथन कंसोल के लिए नया हूं। मैं कंसोल से एक रेखापुंज परत को लोड करने की कोशिश कर रहा हूं, एक क्यूएमएल फ़ाइल से सीआरएस और एक विशिष्ट शैली निर्धारित करता हूं।

layerPath = os.path.join(raster_dir,raster_name)
fileInfo = QtCore.QFileInfo(layerPath)
baseName = fileInfo.baseName()
layer = QgsRasterLayer(layerPath, baseName)

मैं प्रक्षेपण जानकारी सेट करना चाहूंगा और फिर इसे QGIS में लोड करूंगा

QgsMapLayerRegistry.instance().addMapLayer(layer)

मेरे पास खिड़कियों पर एक ग्रे रैस्टर है। लोड करने के लिए मैं qml फ़ाइल कैसे सेट कर सकता हूं?

आपकी सहायता के लिए धन्यवाद

जवाबों:


17

QgsMapLayer :: loadNamedStyle का उपयोग करें

uri = "/home/user/style.qml"
layer.loadNamedStyle(uri) 

आपकी मदद के लिए धन्यवाद, दुर्भाग्य से, यह काम नहीं करता है। यूरी कैसे लिखेंगे?
रेनॉड

आपकी मदद के लिए धन्यवाद, हालाँकि मैं इसे प्राप्त करने का प्रबंधन नहीं कर सकता। जब मैं निम्नलिखित कमांड चलाता हूं
Renaud

1
आपकी मदद के लिए धन्यवाद, हालाँकि मैं इसे प्राप्त करने का प्रबंधन नहीं कर सकता हूं। जब मैं निम्नलिखित कमांड चलाता uri = "file:///home/renaud/palette.qml";layer.loadNamedStyle(uri) हूं तो मुझे त्रुटि संदेश मिलता है: स्टाइल डीटैबेड में नहीं मिला। मदद के लिए शुक्रिया ? मैं इस पोस्ट में लाइन कैसे कूदूं?
रेनॉड

ऐसा लगता theUriहै कि थोड़ा भ्रामक है - सादे फ़ाइल नाम का उपयोग करना चाहिए (यानी। /home/renaud/palette.qml)
jef

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