Suite

Créer des cartes de flux dans QGIS


J'ai plusieurs enregistrements d'une enquête et j'aimerais afficher la carte des flux des lieux mentionnés dans l'enquête. J'ai tous les lieux mentionnés géoréférencés et certains enregistrements ne mentionnaient aucun lieu et d'autres mentionnaient jusqu'à 16 lieux.

J'ai fait un graphique pour être plus clair.


Bien qu'il ne s'agisse pas d'un outil SIG, vous pouvez utiliser Gephi pour cela. Surtout si vous voulez qu'il ressemble à votre illustration. Lignes droites, pas de problème. Les courbes sont plus difficiles.

Gephi est destiné à l'analyse et au traçage du réseau. Il est généralement utilisé pour des choses comme l'analyse des réseaux sociaux (par exemple, l'analyse des réseaux Facebook ou Twitter)

Cet exemple montre une capture d'écran - il s'agit d'un réseau routier, tiré d'OpenStreetMap. Les nœuds sont colorés par la centralité.

Si vous installez le plugin GeoLayout pour Gephi, vous pouvez forcer les nœuds à s'en tenir à (lon, lat) ou à d'autres coordonnées projetées, ce qui le rend approprié pour les visualisations géographiques.

Dans ton cas,

  • vos nœuds sont des emplacements, et
  • les poids de bord sont le trafic entre ces emplacements

Les bords peuvent être unidirectionnels ou bidirectionnels.

Le moyen le plus simple est de créer quelques tables CSV dans QGIS (ou par programmation). Ce sera probablement plus facile à faire si vous avez vos données dans une base de données plutôt que dans un fichier de formes.

Créer une table de nœuds

  • attribuer un identifiant unique à chaque nœud (par exemple Town_A)
  • ajouter les valeurs X et Y à côté du nom du nœud (et exporter au format CSV à l'aide de la géométrie AS_XY)

Créer une table de bord

Ajoutez une autre table reliant le nœud A au nœud B avec une valeur de pondération, pour former votre table d'arêtes. Vous auriez besoin d'une ligne pour chaque réponse, avec un décompte du nombre de fois où quelqu'un fait un voyage de A à B, par ex.

De, À, Compter Ville_A, Volcan_A, 1 Ville_A, Ville_B, 1 Plage_A, Plage_B, 1… etc… Plage_B, Ville_A, 2 Plage_B, Plage_A, 2

Ensuite, importez-les dans Gephi au format CSV

Du côté de l'analyse, vous pouvez également obtenir des informations supplémentaires sur la centralité, l'intermédiarité, le clustering et d'autres métriques.

(Vous pouvez en obtenir certains auprès de GRASS ; cependant, cela ne concerne pas le rendu).


Pour une solution QGIS pure, consultez https://anitagraser.com/2019/05/04/flow-maps-in-qgis-no-plugins-needed/

La clé est de créer une couche virtuelle : Couches virtuelles : Couche | Ajouter un calque | Ajouter/Modifier la couche virtuelle

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

Les lignes de flux résultantes peuvent ensuite être stylisées avec le moteur de rendu de flèche intégré :


Voir la vidéo: QGIS 2 - step by Step No. 9. Field calculator (Octobre 2021).