[Qgis-user] Convert symbology of qgis layer into PyQGIS code to define renderer

Manuel Campagnolo mlc at isa.ulisboa.pt
Fri Jun 11 04:56:24 PDT 2021


Hi

Do you know of a way of using the style of a ,say, vector layer in QGIS3 
to create automatically the python code that would generate it, namely 
the QgsSymbol part in the code below.

Thanks


symbol1=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol2=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol3=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol4=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol5=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())

symbol1.setColor(QColor('black'))
symbol2.setColor(QColor('gray'))
symbol3.setColor(QColor('dark green'))
symbol4.setColor(QColor('light green'))
symbol5.setColor(QColor('orange'))

cat1=QgsRendererCategory('Improdutivos', symbol1, 'Improdutivos') # 
category, symbol, label
cat2=QgsRendererCategory('Urbano', symbol2, 'Urbano')
cat3=QgsRendererCategory('Matos e Pastagens', symbol3, 'Matos e Pastagens')
cat4=QgsRendererCategory('Floresta', symbol4, 'Floresta')
cat5=QgsRendererCategory('Agricultura', symbol5, 'Agricultura')
categories=[cat1,cat2,cat3,cat4,cat5] # list

renderer = QgsCategorizedSymbolRenderer('usosolo', categories)
ifn_ppsm.setRenderer(renderer)



More information about the Qgis-user mailing list