Saltar al contenido

Crear mapas de flujo en QGIS

Después de consultar expertos en la materia, programadores de diversas áreas y profesores dimos con la solución al dilema y la dejamos plasmada en este post.

Solución:

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 las redes de Facebook o Twitter)

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

ingrese la descripción de la imagen aquí

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

En tu caso,

  • tus nodos son ubicaciones, y
  • los pesos de borde son el tráfico entre esas ubicaciones

Los bordes pueden ser unidireccionales o bidireccionales.

La forma más fácil es crear un par de tablas CSV en QGIS (o programáticamente). Esto probablemente será más fácil de hacer si tiene sus datos en una base de datos en lugar de un archivo de forma.

Crear una tabla de nodos

  • asigne 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)

Crear una tabla de borde

Agregue otra tabla que vincule el nodo A con el 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, por ejemplo

From, To, Count
Town_A, Volcano_A, 1
Town_A, Town_B, 1
Beach_A, Beach_B, 1
.. etc..
Beach_B, Town_A, 2
Beach_B, Beach_A, 2

Luego impórtelos a 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 una solución QGIS pura, consulte https://anitagraser.com/2019/05/04/flow-maps-in-qgis-no-plugins-needed/

los key es crear una capa virtual: Capas virtuales: Capa | Añadir capa | Agregar/Editar capa virtual

SELECT StartID, DestID, Weight, 
   make_line(a.geometry, b.geometry)
FROM edges
JOIN nodes a ON edges.StartID = a.ID
JOIN nodes b ON edges.DestID = b.ID
WHERE a.ID != b.ID 

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

ingrese la descripción de la imagen aquí

Nos puedes sustentar nuestra función escribiendo un comentario y valorándolo te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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