Quelle est la meilleure méthode pour visualiser un réseau sur une carte?

20

J'ai plusieurs centaines de points de données géoréférencés et les relations entre ce point et d'autres points. J'essaie de trouver la meilleure façon de visualiser cela sur une carte interactive (éventuellement en utilisant google maps).

Une idée que j'avais était que lorsqu'un utilisateur clique sur un point, il affiche ensuite tous les liens de ce point, vers les points associés.

J'apprécierais toutes suggestions ou exemples sur la meilleure façon de procéder.

J'ai de l'expérience avec ArcGIS, QGIS, Python et une petite quantité de javascript.

djq
la source
2
Ceci est lié à cette question: gis.stackexchange.com/questions/778/…
julien

Réponses:

12

Il existe différentes méthodes en fonction de ce que vous souhaitez accomplir, de la quantité de données dont vous disposez et de la beauté de vos données. Votre idée est une bonne idée et fonctionnerait probablement bien. Bien sûr, une autre réponse évidente est de montrer toutes les relations tout le temps, mais cela ajouterait beaucoup d'encombrement visuel. Peut-être qu'un bon compromis est de toujours montrer toutes les relations mais dans une couleur semi-transparente pour qu'elles soient à peine visibles. Ensuite, lorsqu'un utilisateur clique ou survole un point de données, les liens à partir de ce point deviennent opaques.

Une chose que vous pouvez faire pour rendre les cartes un peu plus visuellement agréables et intuitives consiste à utiliser des lignes courbes au lieu de lignes droites pour vous connecter aux points de données. Cela fonctionne en deux dimensions ou en trois dimensions . Vous pouvez également faire des choses intéressantes en jouant avec les couleurs et le niveau de transparence des lignes .

Une solution très agréable et élégante est la Flow Map . Cette visualisation serait également plus intéressante si vous ajoutez l'interactivité de pouvoir survoler ou cliquer sur un point de données et voir les points de données de connexion.

Je laisserai d'autres personnes parler d'ArcGIS et de QGIS, mais je recommanderais d'essayer Protovis . Il s'agit d'un langage de visualisation spécifique au domaine, construit au-dessus de javascript, il devrait donc rendre certaines de ces visualisations relativement faciles. La page Flow Map comprend du code en Java, que vous pouvez traduire dans d'autres langues / plates-formes. Il ne serait probablement pas trop difficile de traduire le code Flow Map en Protovis, même si je n'ai pas essayé.

Jay Askren
la source
6

Deux outils que je pourrais suggérer pour une exploration:

Dans les deux solutions, vous pouvez spécifier des coordonnées géographiques comme la position des nœuds et obtenir de belles représentations de flux par intensité et / ou direction.

Aucun de ces outils ne permet d'exporter facilement vers une carte Web, mais avec un peu de piratage, vous pouvez probablement traduire la sortie de l'un d'entre eux en KML comme début.

radek
la source
1
vous avez quelques tirets à la fin de votre lien vers le lien networkx python, voici le lien correct. Je modifierais pour vous si je le pouvais, networkx.lanl.gov
Andy W
L'URL ne fonctionne pas. Il dit: Système non disponible Nous effectuons actuellement une maintenance planifiée. Je vais réessayer plus tard
RutgerH
6

Jay a couvert beaucoup de suggestions auxquelles j'ai immédiatement pensé sous l'angle de la visualisation. Mais faut-il que ce soit un réseau? Selon les besoins de l'utilisateur et le regroupement des données, une meilleure solution peut être de montrer les relations avec le codage couleur plutôt qu'avec les lignes.

Ma suggestion: lorsqu'un utilisateur clique sur un point, tous les points associés s'intensifient en couleur / s'allument et s'éteignent (comme l'indicateur de sommeil sur un Mac en veille) / obtiennent un halo coloré. Cliquez sur l'icône ou sur un autre point et le premier ensemble de relations s'éteint. Cela éliminerait l'encombrement visuel des lignes.

Je soupçonne que cette solution fonctionnerait mieux si: - il y a beaucoup de relations (pourrait ressembler à un combat de spaghetti) - les points sont fortement regroupés, les lignes seront moins faciles à voir si les points sont proches les uns des autres

Pourriez-vous élaborer sur le clustering et le nombre total de relations?

Trevesy
la source
+1 Cela pourrait également être une bonne option en fonction des données spécifiques.
Jay Askren
Chaque nœud se connecte à un minimum de 30 autres nœuds et à un maximum de cent. Je suis d'accord que si tous ces éléments sont tracés simultanément, cela pourrait sembler écrasant. Je pense que faire allumer et éteindre les nœuds serait bien, mais je ne sais pas comment faire (encore).
djq
Le motif `` lueur '' de mac sleep semblerait impressionnant, mais le halo fonctionnerait probablement aussi bien tant que vous choisissez une couleur intense et que vous n'utilisez que la couleur dans le halo. Je pense au rouge pur mais ça ne doit pas l'être.
Trevesy
1

Référence: SharpMap (projet opensource pour SIG)

SmartJJ
la source
Voici un lien que je crois ( sharpmap.codeplex.com )
Jay Askren
1

Ici vous pouvez trouver des informations sur les lignes de désir.

Dans l'image, vous pouvez voir de nombreux liens vers des points connexes à l'aide du plug- in FlowMapper .

Exemple de liens vers un point connexe

Je sais que cela ne répond pas à votre question, mais j'espère que cela peut aider dans quelque chose

Ale
la source
0

J'y pensais moi-même récemment et je suis tombé sur cela ...

http://hint.fm/wind/

Dans mon cas, je regarde les étudiants qui passent des écoles secondaires aux universités, alors gardez à l'esprit que je fais beaucoup de regroupements, et les mouvements ne se produisent que dans une seule direction. Mais je pense que la possibilité de voir les mouvements sur le réseau aiderait les utilisateurs à voir la structure globale.

Le cartographe silencieux
la source