পাইথন ব্যবহার করে কিউজিআইএস-এ কীভাবে স্তর দৃশ্যমানতা টগল করা যায়?


উত্তর:


11

এটি কিউজিআইএস ডক্স থেকে, যদি আপনি কিউজিআইএস => 1.5 চালাচ্ছেন

from PyQt4 import QtCore, QtGui
from qgis import core, gui
i = qgis.utils.iface
# load a georeferenced raster layer
loadedLayer = i.addRasterLayer('c:\\data\\a_map.png')
# get legend
legend = i.legendInterface()
# check current visibility
legend.isLayerVisible(loadedLayer)
# set visibility off 
legend.setLayerVisible(loadedLayer, False)
# and on again!
legend.setLayerVisible(loadedLayer, True) 

আমি অনুমান করি loadedLayer = i.addRasterLayer('c:\\data\\a_map.png')যে আপনি যে স্তরটি আড়াল করতে চান তা আপনি সরিয়ে নিয়ে যাবেন , যা আপনি এর মতো কিছু ব্যবহার করতে পারেন:

QgsMapLayerRegistry.instance().mapLayer(QString theLayerId)

0

গৃহীত উত্তর কিউজিআইএস 3 এর জন্য উপলব্ধ নয়। কিউজিআইএস 3-তে, আমি নীচের কোডটি ব্যবহার করি:

QgsProject.instance().layerTreeRoot().findLayer(lyr.id()).setItemVisibilityChecked(False)

এছাড়াও, আমরা এর মাধ্যমে সমস্ত স্তরগুলি চালু এবং বন্ধ করতে পারি:

bool = True # or False
root = QgsProject.instance().layerTreeRoot()
allLayers = root.layerOrder()
for layer in allLayers:
    root.findLayer(layer.id()).setItemVisibilityChecked(bool)

আপনার প্রথম কোড ব্লকটি কোনও টগল নয়, তবে স্পষ্টভাবে লক্ষ্য স্তরটিকে অদৃশ্য করে দেয়।
— লেগাতো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.