Visualisation des fonctionnalités en cluster dans les cartes Web?

15

Je recherche le meilleur symbole pour afficher les entités en cluster dans l'API ArcGIS Server JS.

Je n'aime pas le symbole de cluster animé "fly-out", tel qu'il est utilisé dans le clustering Silverlight API ou l' exemple de clustering JS (ils se sentent un peu fantaisistes).

Jusqu'à présent, la meilleure option que j'ai trouvée est le symbole de clustering de marqueurs Google Maps .

Je ne montrerai pas un nombre au centre du symbole de cluster, mais je varierai la taille du symbole pour afficher les concentrations de fonctionnalités, comme dans cette maquette:

entrez la description de l'image ici

Quelles sont les autres options de symboles de regroupement? Pouvez-vous me pointer vers une carte montrant une belle implémentation du clustering de marqueurs?

Stephen Lead
la source
Êtes-vous limité à un symbole ponctuel?
Andy W
@AndyW J'affiche des entités ponctuelles, mais je ne suis pas nécessairement limité à un symbole ponctuel. L'exemple d'image ci-dessus utilise des symboles de marqueur d'image si cela vous aide.
Stephen Lead
Les réponses variées suggèrent que des éclaircissements supplémentaires seraient utiles; en particulier, dans quel sens voulez-vous dire "meilleur symbole"? Cela dépend probablement de l'application et du public et pourrait vraisemblablement signifier «la plus jolie», «la plus facile à mettre en œuvre», «la plus facile à reconnaître et à discriminer pour les téléspectateurs» ou «permettant l'évaluation quantitative la plus précise». Les meilleures solutions dans ces sens pourraient être des cartes thermiques, des marqueurs Google ou Bing, qui sait, et des parcelles de tournesol, respectivement, mais la plupart de ces solutions sont également pauvres à d'autres égards.
blanc
@whuber "Le plus simple pour les utilisateurs non experts de comprendre ce qui se passe sans instruction" est l'objectif. L'emplacement précis des entités n'est pas aussi important que le fait que certaines entités sont des «points uniques» et d'autres des «points groupés». Est-il évident qu'il y a plus de fonctionnalités à certains endroits et moins de fonctionnalités à d'autres endroits? La carte ci-dessus fonctionne pour moi, mais est-ce le cas pour tout le monde et est-ce la meilleure solution possible? merci
Stephen Lead
1
Sans légende, je ne peux pas donner un sens à votre exemple. Même en connaissant son intention, je ne peux pas le lire avec précision car je n'ai aucune idée de la relation entre la taille du symbole et la taille de la grappe (est-ce le diamètre du cercle, la zone du cercle ou autre chose?) Qu'est-ce que le bleu / distinction rouge essayant de transmettre? Si vous voulez éviter les instructions, vous devez utiliser les méthodes les plus efficaces sur le plan cognitif pour faire des distinctions et transmettre des quantités connues (comme utiliser la légèreté, plutôt que la teinte, pour transmettre l'intensité d'une quantité), et être prêt à tout de même à éviter les malentendus.
whuber

Réponses:

10

Dans la cartographie traditionnelle, le regroupement de marqueurs est appelé agrégation ou parfois fusion. Cela fait partie de la généralisation du modèle : Lors d'un zoom arrière, certains concepts détaillés (par exemple l'arbre) disparaissent pour être remplacés par des formes agrégées moins détaillées (par exemple la forêt).

De nombreux bons exemples peuvent être trouvés dans de bons livres de cartographie. Voici deux exemples de ce livre sur l'agrégation de bâtiments:

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description du lien ici http://www.ailleursloin.free.fr/A/depot/village_generalise_200k_sans_bati.jpg

Je suppose que vous cherchez des méthodes plus opérationnelles pour le faire automatiquement. Cette présentation donne un aperçu des méthodes automatiques existantes. Vous pouvez avoir des ressources pour développer certains des algorithmes présentés ... Sinon, vous pouvez trouver une implémentation java de cet algorithme (qui permet de construire l'enveloppe de symboles distants) - bas , et aussi de cet algorithme .

Les cartes de chaleur sont également une bonne alternative pour ce problème. Voir une implémentation. Voir aussi maptimize .

entrez la description de l'image ici

julien
la source
1
Merci pour la réponse détaillée. En fait, je suis assez satisfait de l'algorithme que j'utilise - une modification de cet exemple de script - donc je suis plus préoccupé par la symbologie ou la représentation des fonctionnalités en cluster. J'aime l'approche heatmap, mais il n'y a pas assez de points dans mon cas car les fonctionnalités ne sont pas particulièrement denses. Merci encore
Stephen Lead
Pourriez-vous mettre à jour les liens brisés s'il vous plaît?
phil294
7

Il y a beaucoup d'options et, en fait, j'ai eu du mal à résoudre la même question il y a quelque temps sur certaines de mes applications. Et pour nos différents produits, nous nous sommes retrouvés avec des solutions différentes. Vous devez donc vous demander

  1. Toutes les icônes singleton sur la carte sont-elles du même "type" - même forme et couleur?
  2. S'ils ne le sont pas, vivent-ils tous sur une couche ou sur plusieurs couches?
  3. Si vous êtes sur plusieurs, allez-vous regrouper chaque couche individuelle ou regrouper plusieurs couches?
  4. Si vous regroupez des calques individuels, que se passe-t-il si les icônes se chevauchent entre les calques, allez-vous avoir un cluster de clusters?
  5. Avez-vous besoin de savoir "quel" type de chose est mis en cluster, ou simplement que "hé, il y a un cluster" sur la carte. Et ci-dessus, vous avez dit que vous n'avez pas besoin de savoir combien d'articles sont là simplement en regardant l'icône de cluster.

Voici quelques exemples et ce qu'ils signifient et comment ils sont réalisés. Tout se fait avec un algorithme de clustering personnalisé, pas avec la stratégie de clustering Bing (1ère image) ou OL Clustering (2ème). De cette façon, j'ai beaucoup plus de contrôle sur l'apparence.

Marqueur de cluster transparent

Capuchon d'écran d'une application Bing; nous avons plusieurs couches de différents types et couleurs d'icônes. Nous avons choisi de regrouper les icônes, puis de tout masquer par l'icône la plus haute (la plus importante) du cluster, puis l'icône la plus haute est superposée avec une image transparente. Disons que mes icônes sont 20x20, l'indicateur de cluster est une image 30x30 qui est transparente à 80%, sauf qu'il a un PLUS en haut à droite. Ainsi, une fois superposé sur l'icône "représentant" de mon cluster, il semble que j'ai un cluster de choses en dessous. Lorsque l'utilisateur survole ou clique, l'événement passe à l'icône de cluster et reçoit un message "N nombre d'éléments en cluster" et peut cliquer ou explorer pour plus d'informations.

entrez la description de l'image ici

Dans cette situation, nous avons adopté une approche plus simple. Les icônes vivent toujours sur différentes couches et ont une signification différente et nous regroupons les couches croisées, mais l'icône représentative n'est qu'un gros signe PLUS gras [dont la taille varie jusqu'à une certaine limite].

Donc, fondamentalement, nous avons choisi un "PLUS" "+" pour indiquer un cluster dans les deux applications, mais avons pris des itinéraires différents pour le mettre sur la carte - superposer les icônes de carte existantes pour donner plus de sens à la carte, ou simplement nettoyer la carte et mettez un PLUS et laissez l'utilisateur explorer vers le bas pour plus d'informations.

Vadim
la source
Merci pour la réponse détaillée. Dans ce cas, toutes les entités sont dans la même couche, mais vous soulevez des points intéressants dans les cas où elles ne le sont pas. L'approche + est intéressante
Stephen Lead
5

Vous pourriez vous inspirer des parcelles de tournesol . Cette méthode, utilisée depuis des décennies pour représenter des grappes de points sur des diagrammes de dispersion, capitalise sur la recherche en cognition visuelle pour produire des marqueurs rapidement et correctement discriminés ainsi que clairement liés à la taille des grappes qu'ils représentent.

Voici un exemple fait dans R:

entrez la description de l'image ici

Il faut peu d'imagination pour voir comment la technique pourrait être appliquée à la création de cartes plus générales que les nuages ​​de points.

whuber
la source
Bill, merci pour le conseil - l'intrigue de tournesol est très cool et fonctionne bien dans le nuage de points. Ce n'est pas vraiment adapté à mon cas car le site est destiné aux utilisateurs novices et ce serait exagéré. (PS L'approche de la carte thermique adoptée par Fusion Tables pourrait également fonctionner sur le nuage de points? Geochalkboard.files.wordpress.com/2010/03/fusion2.png )
Stephen Lead
1
Les gradations de couleurs @Stephen ont tendance à ne pas fonctionner aussi bien pour la lecture des graphiques de manière quantitative (c'est-à-dire avec précision et rapidité). Pour environ 6% de la population, une graduation du rouge au vert (comme le montre l'exemple) est difficile à discerner. Un corpus croissant de littérature sur la visualisation de données quantitatives suggère que nous ne devrions pas être rapides pour limiter la qualité de nos graphiques en supposant que les utilisateurs novices ne pourront pas les apprécier ou les utiliser. Lisez Tufte, Cleveland ou Wainer, par exemple.
whuber