In QGIS, what is the simplest python code (least possible) to verify if a particular layer is PRESENT or ABSENT in the Map Layers list?
NOTE: The script shouldn't trip an error IF the layer is ABSENT.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.
Sign up to join this communitylen(QgsMapLayerRegistry.instance().mapLayersByName('the_Map_Layer_in_question')) != 0
True
if layer exists, otherwise False
len(...) != 0
and just directly test the returned list, eg if QgsMapLayerRegistry.instance().mapLayersByName('the_Map_Layer_in_question'):
for those stumbling over this question; The accepted answer works for Qgis 2.x.
In Qgis 3.x the functionality of QgsMapLayerRegistry has been moved to QgsProject, so in pyqgis3 you need this (Documented here in the QGIS API Documentation) :
len(QgsProject.instance().mapLayersByName("the_Map_Layer_in_question")) != 0
Best,
Peter
boolean = False
layers = QgsMapLayerRegistry.instance().mapLayers()
for name, layer in layers.iteritems():
if layer.name() == ('the_Map_Layer_in_question'):
boolean = True
# if the map layer exists boolean == True, if it doesn't boolean == False