5 votos

Crear o copiar manualmente una tabla auxiliar en QGIS 3 con Python

Tengo una capa local que se actualiza de vez en cuando copiándose desde un WFS. La capa local tiene algunas etiquetas mostradas y otras ocultas a través de la tabla auxiliar, porque QGIS parece que sólo acepta una tabla auxiliar muy específica para mostrar/ocultar etiquetas a través de la barra de herramientas de etiquetas.

Lo que estoy intentando hacer es crear o copiar la tabla auxiliar existente de la capa local antigua a la capa local recién creada con python. He estado probando algunos métodos de aquí . Pero con poco éxito.

Sé que también puedo crear un campo booleano en un shapefile y apuntar allí para mostrar/ocultar etiqueta. Pero al hacer esto no puedo utilizar el botón de mostrar/ocultar etiqueta en la barra de herramientas. Así que no es lo ideal.

5voto

nitinsavant Puntos 6

Cambie los nombres de las capas en el script por su nombre de capa y, a continuación, ejecute el script.

source_layer = QgsProject.instance().mapLayersByName("source_layer_name")[0]
target_layer = QgsProject.instance().mapLayersByName("target_layer_name")[0]

source_al = source_layer.auxiliaryLayer()
target_layer.setAuxiliaryLayer(source_al)

target_layer.setLabelsEnabled(True)
target_layer.setLabeling(source_layer.labeling())

iface.mapCanvas().refresh()

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X