def testMap(): # Parámetros mapa colorFill = mv.MAP_COLORS['Blau'] colorOut = mv.MAP_CONTORNS['Blanc'] inc = 8 opacity = 0.55 field = "RESULTAT" name = "DESCRIPCIO" decs = 0 capa = leyenda.currentLayer() # Capa de polígonos a mapificar geom = capa.geometryType() if (geom == QgsWkbTypes.GeometryType.PolygonGeometry): # Creamos simbología del punto centroide symbology = QgsCentroidFillSymbolLayer() symbology.setPointOnAllParts(False) symbology.setPointOnSurface(False) # Ajustamos valores del símbolo proporcional layerSymbol = symbology.subSymbol().symbolLayer( 0) # QgsSimpleMarkerSymbolLayer layerSymbol.setFillColor(colorFill) layerSymbol.setStrokeColor(colorOut) layerSymbol.setStrokeStyle(Qt.SolidLine) layerSymbol.setStrokeWidth(1.0) layerSymbol.setStrokeWidthUnit(QgsUnitTypes.RenderPixels) expr = calcExpr(field, inc) prop = QgsProperty.fromExpression(expr) layerSymbol.setDataDefinedProperty(QgsSymbolLayer.PropertySize, prop) # Crear símbolo y asignarle la simbología sym = QgsFillSymbol.createSimple({ 'color': '{}'.format(colorFill.name()), 'outline_color': '{}'.format(colorOut.name()) }) sym.changeSymbolLayer(0, symbology) # Crear renderer y asignar a la capa renderer = QgsSingleSymbolRenderer(sym) capa.setRenderer(renderer) capa.setOpacity(opacity) expr = calcTip(field, name, decs) capa.setMapTipTemplate(expr) capa.triggerRepaint() return
def calcRender(self, capa): renderer = None geom = capa.geometryType() if (geom == QgsWkbTypes.GeometryType.PolygonGeometry): # Creamos simbología del punto centroide symbology = QgsCentroidFillSymbolLayer() symbology.setPointOnAllParts(False) symbology.setPointOnSurface(False) # Ajustamos valores del símbolo proporcional self.setStrokeSymbology(symbology.subSymbol()) # Crear símbolo y asignarle la simbología sym = QgsFillSymbol.createSimple({ 'color': '{}'.format(self.params.colorBase.name()), 'outline_color': '{}'.format(self.params.colorContorn.name()) }) sym.changeSymbolLayer(0, symbology) # Crear renderer y asignar a la capa renderer = QgsSingleSymbolRenderer(sym) # from qgis.core import QgsDataDefinedSizeLegend # lgd = QgsDataDefinedSizeLegend() # lgd.setTitle('Titulo') # lgd.setClasses([ # QgsDataDefinedSizeLegend.SizeClass(1000, '1.000'), # QgsDataDefinedSizeLegend.SizeClass(3000, '3.000'), # QgsDataDefinedSizeLegend.SizeClass(6000, '6.000')]) # lgd.setLegendType(QgsDataDefinedSizeLegend.LegendCollapsed) # lgd.setVerticalAlignment(QgsDataDefinedSizeLegend.AlignBottom) # renderer.setDataDefinedSizeLegend(lgd) capa.setRenderer(renderer) capa.setOpacity(self.params.opacity) capa.setMapTipTemplate(self.params.calcTip()) capa.triggerRepaint() return renderer