1 votos

QGIS Python obtener el nombre de la página actual del atlas

Estoy tratando de adentrarme en la programación en Python en QGIS. Quiero escribir una expresión en mi diseño que devuelva algunos valores dependiendo de la entidad actual del atlas.

Lo primero que necesito es obtener el mismo valor que puedo obtener con @atlas_pagename; luego usaré eso para consultar otra tabla y obtener los datos que necesito. Supongo que lo que necesito hacer es crear algún tipo de objeto de atlas que siga al atlas en el diseño actual y luego debería poder leer la información que necesito de eso, pero hasta ahora no he logrado encontrar nada al respecto en los manuales que he encontrado.

He encontrado cómo hacer un nuevo diseño o un nuevo atlas, ¿pero cómo puedo investigar el actual? (Utilizando QGIS 3.6.1)

4voto

Rebecca Puntos 51

Bueno, lo encontré yo mismo:

@qgsfunction(args='auto', group='Custom')
def getpage(feature,parent):
    projectInstance= QgsProject.instance()
    projectLayoutManager = projectInstance.layoutManager()
    layout=projectLayoutManager.layoutByName('detaljkart-atlas')
    atl=layout.atlas()
    pg=atl.nameForPage(atl.currentFeatureNumber())
    return pg

Una parte engorrosa es que necesito escribir el nombre del diseño - puede haber una forma de seleccionar el diseño actual - pero entonces tendría que verificar si hay un atlas definido para el diseño.

(Sí, hasta ahora he repetido el @atlas_pagename, pero tengo algunos planes adicionales para esto)

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