• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Equipo
    • Coworking
    • Asociación
    • Alianzas Estratégicas
    • Visor de proyectos Geoinnova
  • Consultoría y Desarrollo SIG
    • Productos
      • Planero Web
      • QElectricGIS
      • Plugins
  • Consultoría Territorial
    • Turismo sostenible
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Consultoría Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
  • Formación
    • Todos los cursos
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Contenidos
    • Blog
    • Tertulia Territorio Geoinnova
    • TFMs y otro trabajos de alumnos
    • Noticias
    • Webinars
    • Geolibrería
    • Plugins
  • Contacto
    • Soporte de Clientes – Tickets
TFM 2023 TFM Máster SIG Código Abierto

TFM: Desarrollo del plugin “ProjectBuilder” para QGIS

03/07/2023 Deja un comentario

Este trabajo ha sido realizado por Francisco Gómez Losada, estudiante del Máster en Sistemas de Información Geográfica de Código Abierto.

Como Trabajo Final de Máster (TFM) de la 1ª edición del Máster en Sistemas de Información Geográfica de Código Abierto, el alumno Francisco Gómez optó por el desarrollo de un plugin para el software QGIS.

Esta idea surgió como una solución práctica para dar respuesta a una necesidad laboral, ya que se invierte demasiado tiempo en la preparación de los diferentes proyectos GIS.

El principal objetivo del plugin es la creación de proyectos de QGIS personalizados mediante una configuración previa de forma fácil, rápida e intuitiva, consiguiendo así ahorrar tiempo y esfuerzo en la creación manual de los proyectos.

Contenidos ocultar
Principales funcionalidades
Herramientas y tecnologías utilizadas
Proceso de desarrollo
Funcionamiento de Projectbuilder
Mejoras futuras

Principales funcionalidades

ProjectBuilder proporciona una interfaz gráfica fácil de usar, donde entre las funcionalidades ofrecidas destacan:

  1. Opciones para la configuración del proyecto:
    • Elegir una carpeta de salida (incluirá una copia reproyectada de las capas previamente seleccionadas).
    • Elegir un nombre.
    • Definir el Sistema de Referencia de Coordenadas (SRC).
  2. Opciones para la selección de capas:
    • Elegir un directorio de origen de los datos.
    • Marcar check y elegir los servicios WMS a añadir.
    • La simbología asociada (.qml) se carga automáticamente.

En definitiva, podemos decir que se trata de una solución práctica, eficiente y fácil de usar para la creación de proyectos QGIS personalizados, permitiendo reducir el tiempo de configuración de los mismos y, convirtiéndose de esta forma en una herramienta útil y práctica para aquellos que trabajan con QGIS y necesitan crear proyectos personalizados de forma rápida y sencilla.

Máster GIS y diplomas

Herramientas y tecnologías utilizadas

Para el desarrollo del complemento se han utilizado las siguientes herramientas y tecnologías de código abierto:

  • Visual Studio Code: Es un editor de código fuente que admite diferentes lenguajes de programación y que ofrece diversas funciones para el desarrollo, como la integración con Git.
  • GitHub: Es una plataforma de alojamiento de repositorios de código fuente que permite compartir y colaborar en proyectos de software de código abierto. GitHub se integra con VS Code y ofrece diversas funciones para el control de versiones, la revisión de código y la gestión de problemas.
  • Plugin Builder 3: Herramienta de desarrollo de plugins para QGIS que permite generar una estructura básica del plugin y facilita la creación de nuevos módulos y funcionalidades.
  • Plugin reloader: Es un plugin para QGIS que permite recargar automáticamente los plugins cada vez que se realizan cambios en el código. Esto significa que no es necesario reiniciar QGIS cada vez que se realiza una modificación en el plugin, lo que permite ahorrar tiempo y aumentar la eficiencia en el proceso de desarrollo.
  • Python: Lenguaje de programación interpretado orientado a objetos, de alto nivel y de código abierto que se utiliza ampliamente en la creación de plugins para QGIS.
  • PyQGIS: Es la librería de QGIS para ejecutar código Python, proporcionando acceso a las funcionalidades de QGIS. Se ha utilizado la API de QGIS para interactuar con QGIS y realizar operaciones en el proyecto.
  • PyQt: Librería que proporciona una plataforma para el desarrollo de interfaces gráficas de usuario (GUI) en aplicaciones de escritorio mediante la utilización de widgets QT. Se ha utilizado para crear la interfaz gráfica del plugin mediante la herramienta QT Designer.
  • QT Designer: Herramienta de diseño de interfaces gráficas de usuario (GUI) que permite crear diseños de forma visual mediante la colocación de widgets, como botones, casillas de verificación, cuadros de texto, etc.

Proceso de desarrollo

El desarrollo del proyecto consistió fundamentalmente en 5 etapas diferenciadas.

3.1 Estructura básica del plugin: En esta fase se utilizó el complemento de QGIS “Plugin Builder 3” para crear la estructura básica del complemento a desarrollar.

3.2 Repositorio de trabajo: Se optó por utilizar la plataforma Github para la creación del repositorio de trabajo del proyecto, siendo la opción ideal al contar con un control de versiones del código fuente en la nube y por su integración con Visual Studio Code.

3.3 Diseño de la interfaz gráfica de usuario: Etapa pararela al resto, puesto que se ha ido diseñando, mejorando y modificando constantemente a lo largo de todo el proyecto. Los objetos que componen la interfaz se van conectado al complemento incluyendo en el código fuente los métodos de python necesarios para ello.

3.4 Implementación y pruebas: Se utilizó Plugin Reloader para facilitar y agilizar el proceso de recarga del complemento en QGIS, permitiendo visualizar los cambios que vamos introduciendo en la apariencia y comportamiento del plugin en desarrollo.

3.5 Implementación y pruebas: Se utilizó Plugin Reloader para facilitar y agilizar el proceso de recarga del complemento en QGIS, permitiendo visualizar los cambios que vamos introduciendo en la apariencia y comportamiento del plugin en desarrollo.

Funcionamiento de Projectbuilder

Una vez instalado el plugin puede ser ejecutado desde el menú Complementos> PluginBuilder o desde la barra de herramientas.

La interfaz se divide en dos ventanas y tiene el siguiente aspecto:

  • Añadimos ruta de Acceso a capas:
  • Se cargan los datos en el Panel selector de capas:
  • Podemos seleccionar las capas:
  • Indicamos ruta de salida para la Carpeta del proyecto y Nombre del proyecto:
  • Seleccionamos el Sistema de Referencia de Coordenadas del proyecto:
  • Tenemos la opción de añadir WMS desde un listado:
  • Finalmente, se genera el proyecto y nos lo guarda en la carpeta indicada y con la misma estructura de carpetas de las capas seleccionadas:

Mejoras futuras

  • Mejorar la carga de simbología asociada (copia de ficheros .svg).
  • Mejorar la carga de Geopackage (función específica para extraer más de un archivo).
  • Opción de búsqueda/filtrado de capas en el panel selector de capas.
  • Conexión a BBDD para la carga de capas.
  • Recorte previo de las capas que van a formar parte del proyecto, en base a una capa seleccionada, buffer de distancia o BBOX.
  • Ampliar el listado de WMS de forma automática (fichero .xml de QGIS)
  • Selector de servicios WFS.
  • Configuración/selección previa de la plantilla de composición del mapa (.qpt).

Interacciones con los lectores

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE
  • Verificador y descarga de Certificados de aprovechamiento

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.

Síguenos en Redes Sociales

Apúntate a nuestra newsletter

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}