Visualisierung von Clusterfunktionen in Webkarten?

15

Ich suche nach dem besten Symbol zum Anzeigen von Cluster-Features in der ArcGIS Server JS-API.

Ich mag das animierte "Fly-Out" -Clustersymbol nicht, wie es im Silverlight-API-Clustering oder im JS-Clustering-Beispiel verwendet wird (sie fühlen sich ein bisschen unkonventionell an).

Die bisher beste Option, die ich gefunden habe, ist das Google Maps Marker Clusterer-Symbol .

Ich werde keine Zahl in der Mitte des Clustersymbols anzeigen, sondern die Größe des Symbols variieren, um die Konzentration von Features anzuzeigen, wie in diesem Modell:

Bildbeschreibung hier eingeben

Welche anderen Optionen für Cluster-Symbole gibt es? Können Sie mich auf eine Karte verweisen, die eine nette Implementierung von Marker-Clustering zeigt?

Stephen Blei
quelle
Sind Sie auf ein Punktesymbol beschränkt?
Andy W
@AndyW Ich zeige Punktobjekte an, bin aber nicht unbedingt auf ein Punktsymbol beschränkt. Im obigen Beispielbild werden Bildmarkierungssymbole verwendet, wenn dies hilfreich ist.
Stephen Lead
Die unterschiedlichen Antworten deuten darauf hin, dass eine zusätzliche Klarstellung hilfreich wäre. In welchem ​​Sinne meinen Sie konkret "bestes Symbol"? Es hängt wahrscheinlich von der Anwendung und dem Publikum ab und könnte plausibel "am schönsten", "am einfachsten zu implementieren", "am einfachsten zu erkennen und zu unterscheiden" oder "die genaueste quantitative Bewertung zuzulassen" bedeuten. Die besten Lösungen in diesem Sinne sind möglicherweise Heatmaps, Google- oder Bing-Markierungen (wer weiß) bzw. Sonnenblumen-Diagramme, aber die meisten dieser Lösungen sind in anderer Hinsicht gleichermaßen schlecht.
whuber
@whuber "Nicht-Experten können am einfachsten verstehen, was ohne Anweisung passiert" ist das Ziel. Die genaue Position der Features ist nicht so wichtig wie die Tatsache, dass einige Features "Einzelpunkte" und andere "Clusterpunkte" sind. Ist es offensichtlich, dass es an einigen Standorten mehr Funktionen und an anderen weniger Funktionen gibt? Die obige Karte funktioniert für mich, aber ist das für alle der Fall und ist es die bestmögliche Lösung? Vielen Dank
Stephen Lead
1
Ohne Legende kann ich Ihr Beispiel nicht verstehen. Obwohl ich die Absicht kenne, kann ich sie nicht genau lesen, da ich keine Ahnung habe, in welchem ​​Verhältnis die Symbolgröße zur Clustergröße steht (ist es der Kreisdurchmesser, die Kreisfläche oder etwas anderes?). Was ist das Blau / rote Unterscheidung versucht zu vermitteln? Wenn Sie Unterricht vermeiden möchten, müssen Sie die kognitiv effektivsten Methoden anwenden, um Unterscheidungen zu treffen und bekannte Größen zu übermitteln (z. B. Helligkeit statt Farbton zu verwenden, um die Intensität einer Größe zu übermitteln) und auf jeden Fall auf Missverständnisse vorbereitet sein.
whuber

Antworten:

10

In der traditionellen Kartographie wird das Clustering von Markern als Aggregation oder manchmal als Verschmelzung bezeichnet. Dies ist Teil der Modellverallgemeinerung : Beim Herauszoomen verschwinden einige detaillierte Konzepte (z. B. der Baum) und werden durch weniger detaillierte aggregierte Formen (z. B. der Wald) ersetzt.

Viele gute Beispiele finden Sie in guten Kartografiebüchern. Hier sind zwei Beispiele aus diesem Buch zum Erstellen von Aggregationen:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Geben Sie hier die Beschreibung des Links ein http://www.ailleursloin.free.fr/A/depot/village_generalise_200k_sans_bati.jpg

Ich nehme an, Sie suchen nach mehr operativen Methoden, um dies automatisch zu tun. Diese Präsentation bietet einen Überblick über die vorhandenen automatischen Methoden. Möglicherweise haben Sie Ressourcen, um einige der gezeigten Algorithmen zu entwickeln. Andernfalls können Sie eine Java-Implementierung dieses Algorithmus finden (mit der Sie die Hüllkurve entfernter Symbole erstellen können). dort , und auch diesen Algorithmus gibt .

Heatmaps sind auch eine gute Alternative für dieses Problem. Siehe dort eine Implementierung. Siehe auch maptimize .

Bildbeschreibung hier eingeben

julien
quelle
1
Danke für die ausführliche Antwort. Eigentlich bin ich ziemlich zufrieden mit dem Algorithmus, den ich verwende - eine Modifikation dieses Beispielskripts -, sodass ich mich mehr mit der Symbologie oder Darstellung der Clustered-Features beschäftige. Ich mag den Heatmap-Ansatz, aber in meinem Fall gibt es nicht genügend Punkte, da die Features nicht besonders dicht sind.
Stephen Lead
Könnten Sie die defekten Links bitte aktualisieren?
phil294
7

Es gibt viele Optionen, und tatsächlich habe ich mich vor einiger Zeit mit der gleichen Frage bei einigen meiner Anwendungen beschäftigt. Und für unsere verschiedenen Produkte haben wir unterschiedliche Lösungen gefunden. Also musst du dich fragen

  1. Sind alle Singleton-Symbole auf der Karte gleichartig - in Form und Farbe?
  2. Wenn nicht, leben sie alle auf einer oder mehreren Ebenen?
  3. Wenn mehrere vorhanden sind, werden Sie jede einzelne Ebene oder ein schichtübergreifendes Clustering gruppieren?
  4. Wenn Sie einzelne Ebenen gruppieren, was ist, wenn sich Symbole über Ebenen hinweg überlappen, werden Sie Cluster von Clustern haben?
  5. Müssen Sie wissen, welche Art von Dingen gruppiert werden, oder nur, dass auf der Karte "Hey, da ist ein Cluster". Und oben haben Sie gesagt, dass Sie nicht wissen müssen, wie viele der Elemente vorhanden sind, indem Sie nur das Cluster-Symbol betrachten.

Hier sind ein paar Beispiele und was sie bedeuten und wie sie gemacht werden. Alle werden mit einem benutzerdefinierten Clustering-Algorithmus ausgeführt, nicht mit Bing-Clustering (1. Bild) oder OL-Clustering-Strategie (2.). Auf diese Weise habe ich viel mehr Kontrolle über das Erscheinungsbild.

Transparenter Cluster-Marker

Bildschirmkappe aus einer Bing-App; Wir haben mehrere Ebenen mit verschiedenen Symboltypen und Farben. Wir haben uns dafür entschieden, die Symbole zu gruppieren, dann alle durch das oberste (wichtigste) Symbol im Cluster auszublenden, und dann wird das oberste Symbol mit einem transparenten Bild überlagert. Angenommen, meine Symbole sind 20x20, die Cluster-Anzeige ist ein 30x30-Bild, das zu 80% transparent ist, außer dass es oben rechts ein PLUS hat. Wenn ich also über das Symbol "Repräsentant" meines Clusters lege, sehe ich aus, als hätte ich eine Ansammlung von Dingen darunter. Wenn der Benutzer den Mauszeiger bewegt oder darauf klickt, wird das Ereignis an das Clustersymbol weitergeleitet und es wird die Meldung "N Anzahl der Clusterelemente" angezeigt. Der Benutzer kann auf klicken oder einen Drilldown ausführen, um weitere Informationen zu erhalten.

Bildbeschreibung hier eingeben

In dieser Situation haben wir einen einfacheren Ansatz gewählt. Symbole leben immer noch auf verschiedenen Ebenen und haben unterschiedliche Bedeutungen, und wir gruppieren sie über Ebenen hinweg. Das repräsentative Symbol ist jedoch nur ein großes Fett-PLUS-Zeichen (das in der Größe bis zu einer bestimmten Grenze variiert).

Im Grunde haben wir ein "PLUS" "+" gewählt, um einen Cluster in beiden Apps anzuzeigen, haben jedoch unterschiedliche Routen für die Platzierung auf der Karte verwendet. Überlagern Sie vorhandene Kartensymbole, um der Karte mehr Bedeutung zu verleihen, oder bereinigen Sie einfach die Karte und setzen Sie ein PLUS und lassen Sie den Benutzer für weitere Informationen Drilldown.

Vadim
quelle
danke für die ausführliche antwort. In diesem Fall befinden sich alle Features in derselben Ebene, aber Sie sprechen einige interessante Punkte an, wenn dies nicht der Fall ist. Der + Ansatz ist interessant
Stephen Lead
5

Sie könnten sich von Sonnenblumenfeldern inspirieren lassen . Diese Methode, die seit Jahrzehnten zur Darstellung von Punktclustern auf Streudiagrammen verwendet wird, nutzt die Erforschung der visuellen Wahrnehmung, um Marker zu erzeugen, die schnell und korrekt unterschieden werden und die eindeutig mit der Größe der von ihnen dargestellten Cluster zusammenhängen.

Hier ist ein Beispiel aus R:

Bildbeschreibung hier eingeben

Man braucht wenig Vorstellungskraft, um zu sehen, wie die Technik angewendet werden kann, um allgemeinere Karten als Streudiagramme zu erstellen.

whuber
quelle
Bill, danke für den Tipp - das Sonnenblumenplot ist sehr cool und funktioniert gut im Streudiagramm. Es ist nicht wirklich für meinen Fall geeignet, da sich die Site an Anfänger richtet und dies übertrieben wäre. (PS Der von Fusion Tables gewählte Heatmap-Ansatz funktioniert möglicherweise auch auf dem Streudiagramm ? Geochalkboard.files.wordpress.com/2010/03/fusion2.png )
Stephen Lead,
1
@Stephen Farbabstufungen eignen sich nicht so gut zum quantitativen Lesen von Grafiken (dh genau und schnell). Bei etwa 6% der Bevölkerung ist eine Abstufung von Rot nach Grün (wie im Beispiel gezeigt) kaum zu erkennen. Eine wachsende Anzahl von Literaturstellen zur Visualisierung quantitativer Daten legt nahe, dass wir die Qualität unserer Grafiken nicht so schnell einschränken sollten, da davon ausgegangen wird, dass unerfahrene Benutzer sie nicht schätzen oder verwenden können. Lesen Sie zum Beispiel Tufte, Cleveland oder Wainer.
Whuber