[Spanish] Cargar estilo sld a través de pyqgis

Nagore González Etxepare Nagore.Gonzalez at geograma.com
Wed Oct 21 23:48:51 PDT 2020


Hola,

Estoy creando un proyecto de QGIS mediante FME a través de pyqgis. En primer lugar leo una plantilla de proyecto y le voy añadiendo capas en un grupo de capas concreto. A las capas que voy añadiendo les cargo el estilo a través de ficheros sld. Estoy teniendo problemas al cargar ficheros sld que utilizan etiquetado a través de TextSymbolizer. Al cargar ficheros sld con TextSymbolizer el proceso casca. Incluso tratando de capturar el error mediante un try except sigue cascando. ¿Hay algún tipo de limitación con los estilos que utilizan TextSymbolizer? Este es el código que estoy utilizando:

    #Leer proyecto generado desde la plantilla
    strProjectName = feature.getAttribute('Dir')+"\\"+feature.getAttribute('NomProyecto')+".qgs"
    QgsProject.instance().setFileName(strProjectName)
    QgsProject.instance().read()

    #Obtener grupo 'Capes disponibles'
    root = QgsProject.instance().layerTreeRoot()
    grCapes = root.findGroup("Capes disponibles")

    #Añadir capas al grupo 'Capes disponibles'
    for layer in feature.getAttribute('Capas{}.Nombre'):
        #Obtenemos el nombre de la capa y el nombre del estilo
        lyrPath = feature.getAttribute('Dir') + "\\" + layer + ".shp"
        sldPath = feature.getAttribute('Dir') + "\\" + layer + ".sld"

        #Crearmos la capa
        vlayer = QgsVectorLayer(lyrPath, layer,"ogr")
        if vlayer.isValid():
            #Primero añadimos la capa sin mostrarla (segundo parámetro False)
            lyr = QgsProject.instance().addMapLayer(vlayer, False)
            #Añadimos la capa al final del grupo de capas
            grCapes.insertLayer(-1,vlayer)

            #Si existe el fichero de estilo, lo cargamos
            r = lyr.loadSldStyle(sldPath)

    QgsProject.instance().write()

Saludos!

Nagore González Echepare
Analista / Desarrolladora GIS
nagore.gonzalez at geograma.com
Tfno.: +34 945 13 13 72
C/ Pintor Clemente Arráiz, 3 BJ (01008) Vitoria-Gasteiz, Álava

[https://www.geograma.com/pie-de-mail/geogramatalks.png]<https://bit.ly/geogramatalks>


Tratamos su dirección de correo electrónico y otros datos personales para mantener el contacto y comunicación con Ud. y, en su caso, remitirle información sobre nuestros productos y servicios. Si no desea recibir tal información envíe un e-mail en tal sentido a dpd at geograma.com. Puede acceder, rectificar y suprimir los datos, así como otros derechos, como se detalla en la información adicional y completa a su disposición en nuestra política de privacidad en la URL bit.ly/geo-privacidad. Este mensaje y los archivos adjuntos al mismo son privados y confidenciales, si no es Ud. el destinatario y ha recibido este mensaje por error, rogamos nos lo comunique inmediatamente sin difundir, almacenar o copiar su contenido.

[https://www.geograma.com/pie-de-mail/geo-linkedin.png]<https://bit.ly/geo-linkedin>  [https://www.geograma.com/pie-de-mail/geo-twitter.png] <https://bit.ly/geo-tw>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/spanish/attachments/20201022/72c97ccd/attachment.html>


More information about the Spanish mailing list