winzige JS-Diskretisierungsbibliothek für die Darstellung von Choroplethen

9

Ich würde gerne wissen, ob eine winzige gebrauchsfertige Statistik- / Diskretisierungsbibliothek vorhanden ist.

Ich weiß über die Existenz von jStat Bescheid (das ich vielleicht etwas genauer untersuchen werde), und ich weiß, dass Mapfish ein Geostat-Modul / Widget zum Erstellen einer Choroplethen-Karte hat - ich habe den Code hier gefunden . Aber es hängt von Openlayern ab und ich möchte eine eigenständige Bibliothek haben und schließlich frei sein, mit Openlayern zu kommunizieren.

Ich hätte gerne ein paar grundlegende Methoden:

  • Mindest
  • max
  • bedeuten
  • Median

und in der Lage sein, die folgende Diskretisierung mit der Fähigkeit zu implementieren, die Anzahl der Klassen und die Genauigkeit (dezimal) anzugeben:

  • Quantil
  • Gleiches Intervall
  • Natürliche Pausen (Jenks)

Wenn es noch nicht existiert, werde ich wahrscheinlich selbst etwas codieren und es auf github unter freier Lizenz veröffentlichen. Jede Ressource und Beratung ist willkommen.

simo
quelle
1
Das sieht ähnlich aus - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… Gibt es einen Grund, warum Sie nicht mit jStat arbeiten?
Geographika
In der Tat hätte die von Ihnen erwähnte Bibliothek ein guter Anfang sein können. Warum nicht jstat? Weil ich keine Diskretisierungsmethoden gesehen habe und das war es, wonach ich eigentlich in der Priorität gesucht habe - Statistikmethoden sind eine Art Bonus
simo

Antworten:

18

Nun, ich habe gestern etwas codiert und es unter MIT-Lizenz veröffentlicht.

Die Bibliothek mit dem Namen geostats ist auf github verfügbar . Das Paket enthält Beispiele. Sie können es auch auf http://www.intermezzo-coop.eu/mapping/geostats/ in Aktion sehen (mit einem konkreten Beispiel für eine Choroplethen-Darstellung ).

Es unterstützt die 8 oben aufgeführten Methoden:

  • Quantil
  • Gleiche Intervalle
  • Standardabweichung
  • Arithmetische Progression
  • Geometrischer Verlauf
  • Natural Breaks (Jenks): Der Jenks-Klassifizierungscode wurde Doug Curl entnommen .
  • Einzigartige Werte
  • Benutzerdefinierte Klassifizierung

Die Bibliothek enthält auch eine Methode zum Rendern einer Legende im HTML-Format . In den Beispielen für HTML-Legenden finden Sie Informationen zu verfügbaren Optionen (kontinuierliche, diskontinuierliche, unterschiedliche Klassen).

Quantile Klassifizierungsstichprobe:

Quantilklassifikation und Legende

Einstufungsbeispiel für eindeutige Werte: Geben Sie hier die Bildbeschreibung ein

Sehen Sie sich eine Demo an, in der Werte direkt aus dem Shapefile gelesen werden (mithilfe der Marc Harter-Bibliothek).

Wenn Sie es in zwei Schritten selbst versuchen möchten, verwenden Sie die jsconsole :

Kopieren / Einfügen in die Konsole zuerst :

load("https://raw.github.com/simogeo/geostats/master/lib/geostats.js");

Dann kopieren / einfügen:

var data = Array(12, 22, 5, 8, 43, 2, 34, 12, 34, 36, 5, 21, 23, 45, 12, 31, 38); 
serie = new geostats(data); 
serie.getEqInterval(4);
alert('Classification method : ' + serie.method + "\n\nClasses : " + serie.ranges.join(' | '));

Bitte lassen Sie mich wissen, wenn Sie einen Fehler entdecken. Auch hier ist jede Idee oder jeder Vorschlag willkommen, um die Bibliothek zu erweitern.

Das ist alles! Hoffe, es wird auch für Sie nützlich sein.

simo
quelle
Vorsicht - der jsconsole-Link verweist tatsächlich auf "jconsole.com", bei dem es sich um Spammer Squat handelt. Ich habe nicht das erforderliche Karma, um dies zu beheben. Kann jemand den Link aktualisieren? Es könnte schädlichen Code enthalten.
Thibaut Barrère
1

Zachary Forest Johnson hat wirklich großartige Arbeit geleistet, um thematische Analysen zu Openlayern bereitzustellen.

Die Bibliothek steht unter BSD-Lizenz und ist auf github verfügbar . Weitere Erklärungen zum Projekt und Beispiele finden Sie in seinem Blog .

simo
quelle
0

Ich denke, heutzutage ist die beste Bibliothek wahrscheinlich die einfache Statistik . Es ist von sehr hoher Qualität und wird von TurfJS verwendet. Es verwendet " ckmeans " als Verbesserung gegenüber Jenks.

Eine (ältere) Demo: http://bl.ocks.org/tmcw/4969184

Steve Bennett
quelle