Más

Creando mapas de flujo en QGIS

Creando mapas de flujo en QGIS


Tengo varios registros de una encuesta y me gustaría mostrar un mapa de flujo de los lugares mencionados en la encuesta. He mencionado todos los lugares georreferenciados y algunos registros no mencionaron lugares y otros mencionaron hasta 16 lugares.

Hice un gráfico para poder aclararme.


Aunque no es una herramienta GIS, esto es algo para lo que podría usar Gephi. Especialmente si quieres que se parezca a tu ilustración. Líneas rectas, no hay problema. Las curvas son más desafiantes.

Gephi es para análisis y trazado de redes. Por lo general, se usa para cosas como el análisis de redes sociales (por ejemplo, analizar redes de Facebook o Twitter)

Este ejemplo muestra una captura de pantalla: se trata de una red de carreteras, tomada de OpenStreetMap. Los nodos están coloreados por Centralidad.

Si instala el complemento GeoLayout para Gephi, puede obligar a los nodos a ceñirse a (lon, lat) u otras coordenadas proyectadas, lo que lo hace adecuado para visualizaciones geográficas.

En tu caso,

  • sus nodos son ubicaciones, y
  • los pesos de los bordes son el tráfico entre esas ubicaciones

Los bordes pueden ser unidireccionales o bidireccionales.

La forma más sencilla es crear un par de tablas CSV en QGIS (o mediante programación). Esto probablemente será más fácil de hacer si tiene sus datos en una base de datos en lugar de un shapefile.

Crea una tabla de nodos

  • asignar una identificación única a cada nodo (por ejemplo, Town_A)
  • agregue valores X e Y junto con el nombre del nodo (y exporte a CSV usando Geometry AS_XY)

Crea una mesa de borde

Agregue otra tabla que vincule el nodo A al nodo B junto con el valor de ponderación, para formar su tabla de bordes. Necesitaría una fila para cada respuesta, con un recuento de la cantidad de veces que alguien hace un viaje de A a B, p. Ej.

Desde, Hasta, Contar Pueblo_A, Volcán_A, 1 Pueblo_A, Pueblo_B, 1 Playa_A, Playa_B, 1… etc… Playa_B, Pueblo_A, 2 Playa_B, Playa_A, 2

Luego impórtelos en Gephi como CSV

En el lado del análisis, también puede obtener información adicional sobre centralidad, intermediación, agrupamiento y otras métricas.

(Puede obtener algunos de estos de GRASS; sin embargo, eso no aborda la representación).


Para obtener una solución QGIS pura, consulte https://anitagraser.com/2019/05/04/flow-maps-in-qgis-no-plugins-needed/

La clave es crear una capa virtual: Capas virtuales: Capa | Agregar capa | Agregar / editar capa virtual

SELECT StartID, DestID, Weight, make_line (a.geometry, b.geometry) FROM bordes UNIR nodos a EN bordes.StartID = a.ID UNIR nodos b EN bordes.DestID = b.ID DONDE a.ID! = B.ID

Las líneas de flujo resultantes se pueden diseñar con el renderizador de flechas incorporado: