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:
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?
arcgis-javascript-api
symbology
clustering
simplify
generalization
Stephen Blei
quelle
quelle
Antworten:
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:
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 .
quelle
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
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.
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.
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.
quelle
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
:Man braucht wenig Vorstellungskraft, um zu sehen, wie die Technik angewendet werden kann, um allgemeinere Karten als Streudiagramme zu erstellen.
quelle