3 votos

Carga de un símbolo desde la db (simbología-estilo.db)

Estoy trabajando en un módulo de Qgis python. Me gustaría aplicar un símbolo en una capa por su entrada de nombre de la base de datos de simbología. Sé que algunos símbolos por defecto se guardan en una db sqlite (symbology-style.db) en la tabla symbol. No he encontrado como aplicar el estilo cargado desde la db en la capa. ¿Alguien sabe?

3voto

J. Monticolo Puntos 46

En la consola de QGIS Python, utilice el siguiente código, comentarios en el código :

import os

# instance of the QGIS application
app = QgsApplication.instance()
# path to the user default directory symbology db
path_db = os.path.join(
    app.qgisSettingsDirPath(),
    "symbology-style.db"
)
# new QgsStyle object
sty = QgsStyle()
# load the db
sty.load(path_db)
# get a marker symbol by name
marker_symbol = sty.symbol("diamond red")

# active point layer
point_layer = iface.activeLayer()
# set the new marker symbol to the active layer
point_layer.renderer().setSymbol(marker_symbol)
# refresh the symbology displayed in the canvas
iface.mapCanvas().refreshAllLayers()

0 votos

¡Perfecto! Muchas gracias.

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