Creación de un cuadro de mando interactivo en QGIS: análisis dinámico con Data Plotly, widgets y expresiones

Objetivo

Crear una interfaz dinámica de seguimiento en QGIS con :

  • Gráficos interactivos (mediante Data Plotly)
  • Filtros de usuario sencillos (rango, fecha, tipo de residuo)
  • Indicadores clave y estadísticas dinámicas
  • Un mapa que se adapta a los datos filtrados

¡Todo ello sin salir de la interfaz QGIS!



Caso práctico: vigilancia de los residuos en las playas

Tomemos nuestra capa releves_dechets, que contiene :

Campo Descripción
playa Nombre de la playa
tipo_residuos Categoría de residuos
cantidad Cantidad observada
date_obs Fecha de observación

Objetivo: permitir a un usuario filtrar los datos (por rango, fecha, etc.) y ver inmediatamente :

  • Un mapa actualizado
  • Un gráfico dinámico
  • Indicadores actualizados


Paso 1: filtrar datos interactivamente

  1. Abra la tabla de atributos de la capa (botón derecho del ratón > «Abrir la tabla de atributos»).
  2. Haga clic en el icono del embudo para activar el filtro.
  3. A continuación, haga clic en el icono del formulario de filtrado.

Aparecerán los campos con los widgets definidos (valores individuales, intervalo de fechas, etc.). Seleccione los valores deseados y haga clic en «Aplicar filtro».

Este filtro no modifica directamente el mapa, pero puede :

  • utilizar sólo las entidades seleccionadas en Data Plotly,
  • o crear una capa virtual con un SELECT * FROM releves_waste WHERE ….


Paso 2: Crear un gráfico interactivo con Data Plotly

  1. Abra el panel Data Plotly (menú Ver > Paneles > Data Plotly).
  2. Elija el tipo de gráfico (por ejemplo, Gráfico de barras).
  3. Configure :

    • Eje X: tipo_dechet
    • Eje Y: cantidad
    • Capa: su capa filtrada
    • Marque Utilizar sólo las características seleccionadas si está filtrando a través de la tabla

En cuanto modifique el filtro o seleccione otras características, el gráfico se actualizará.


Paso 3: mostrar indicadores dinámicos con etiquetas

Para evitar complejos scripts o vistas temporales, QGIS permite mostrar estadísticas dinámicas directamente en el mapa, en forma de etiquetas adjuntas a las características.

Objetivo

Mostrar, sólo para las características seleccionadas

  • El nombre de la playa
  • La cantidad total de residuos observados en esta playa

Método

  • Active las etiquetas en su capa.
  • En la expresión de la etiqueta, utilice :

if(
  is_selected(),
  "plage"  || '\n'  ||  
  'Total déchets : ' || 
  aggregate(
    'suivi_plages_dechets',
    'sum',
    "quantite",
    filter:= "plage" = attribute(@parent, 'plage')
  ),
  ''
)

This expression checks whether the range is selected (is_selected()), then displays :

  • Its name
  • The sum of waste for this range, calculated dynamically via aggregate().

Result

When you select one or more ranges, the label is displayed only on those selected, with their respective waste totals.


Variant (optional)

You can also filter via the attribute table or a search form, and the labels will react automatically to the selection.


Paso 4: Organizar el espacio de trabajo

Crear una interfaz de cuadro de mandos:

  • Izquierda: tabla de atributos o filtros
  • Centro: mapa
  • Abajo: gráfico Data Plotly
  • Derecha: contadores/estadísticas (mediante cuadros de texto)

Guarde su diseño mediante Proyecto > Guardar diseño.


A modo de resumen

Elemento Herramientas utilizadas
Filtrado Tabla de atributos / Formulari
Gráficos reactivo Data Plotly
Estadísticas dinámica Expresiones / Widgets personalizados
Interfaz de usuario Organización del espacio de trabajo


Bonus: consejos avanzados

  • Cree una capa virtual con un filtro dinámico para centralizar los datos mostrados
  • Utilice las funciones CASE y regexp_match() para agrupaciones avanzadas
  • Probar los plugins: filtro rápido, filtro de tabla de atributos, widgets de entrada
  • Considere un proyecto PostgreSQL/PostGIS con vistas materializadas filtrables por fecha o sitio


Continuación…

En un próximo artículo, veremos cómo transformar este cuadro de mando QGIS en una interfaz web con :

  • Exportación a QGIS Server o Lizmap
  • Cuadro de mando online filtrable (rango, fecha, etc.)
  • Integración en un sitio web participativo o ciudadano


Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Deja una respuesta

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