Project Reports. Complemento de QGIS para generar informes de proyectos

2 minuto de lectura

Project Reports es un nuevo complemento pensado para recopilar información y propiedades de diferentes objetos de proyectos de QGIS, como capas, campos o composiciones y generar archivos de datos abiertos (CSV y HTML) con esta información.

QGIS Plugin Project Reports

Objetivos

El desarrollo de este sencillo plugin de QGIS viene marcado por la necesidad de generar de forma rápida los metadatos vinculados sobre proyectos QGIS.

Estos metadatos son una parte fundamental de cualquier proyecto profesional. Disponer y ofrecer una documentación de calidad debe ser considerado como un elemento diferenciador.

Como en otros “side projects” anteriores, el desarrollo tiene un grupo de objetivos personales y formativos. En esta ocasión, los puntos que han guiado este trabajo han sido los siguientes:

  • Potenciar las opciones de la Programación Orientada a Objetos (POO) en Python mediante la creación de una clase Python denominada QProjectReport que almacene os atributos y métodos necesarios para su posterior importación y uso en el desarrollo propio de la GUI del complemento.
  • Escritura de código intentando aplicar al máximo la guía de estilos de Python (PEP 8)
  • Añadir la documentación (docstrings) del código Python.
  • Generar la información asociada el proyecto en inglés

Instalación y uso

El plugin** se encuentra disponible en el repositorio oficial de complementos de QGIS y puede instalarse desde QGIS.

Una vez instalado, el complemento es accesible desde el menú de complementos o desde la barra de herramientas.

Menu and toobar

Tras la activación, el complemento presenta unas opciones de configuración obligatorias partir de las cuales se creará los informes CSV o/o HTML correspondientes:

Main form

  • Output directory. Carpeta de salida donde se generará la estructura de carpetas para los informes. La carpeta principal tendrá el nombre del proyecto.
  • Objects. La información recopilada corresponde con datos sobre el proyecto (título, nombre del fichero, crs…), las capas geográficas cargadas (nombre, tipo de capa, tipo de geometría…), los campos de las capas vectoriales (nombre del campo, tipo, alias…) y las composiciones gráficas (nombre, tipo, atlas…). La información es obtenida de distintas clases de PyQGIS (QgsProject, QgsFields, QgsLayoutManager…) El listado completo de campos está disponible en el repositorio de GitHub
  • Output formats. Los formatos disponibles son CSV (una por cada tipo de objeto) y HTML. Es posible personalizar la hoja de estilos CSS del HTML editando la variable CSS existente en el fichero de la clase (QProjectReport.py)

HTML

CSV

Comentarios, aportes y contribuciones

Todo es mejorable y por eso el complemento está abierto contribuciones. Por ejemplo, creo que sería interesante poder añadir datos sobre los formularios, tablas relacionadas o incorporar la opción de salida para hojas de cálculo.

Para aportes de código he añadido esta guía para “Primeras contribuciones” de Github. Y para comentarios y aportes nada mejor que usar el sistema de issues.

Un geosaludo 🖐 y ¡¡Feliz 2023!!

Comentar