Cóż, zakodowałem coś wczoraj i wydałem na licencji MIT.
Biblioteka o nazwie geostats jest dostępna na github . Pakiet zawiera przykłady. Będziesz także mógł zobaczyć go w akcji na stronie http://www.intermezzo-coop.eu/mapping/geostats/ (z konkretną próbką reprezentacji choropleth ).
Obsługuje 8 metod wymienionych powyżej:
- Kwantyl
- Równe odstępy czasu
- Odchylenie standardowe
- Postęp arytmetyczny
- Postęp geometryczny
- Natural Breaks (Jenks): Kod klasyfikacji Jenks został zaczerpnięty z Douga Curla .
- Unikalne wartości
- Klasyfikacja zdefiniowana przez użytkownika
Biblioteka zawiera także metodę renderowania legendy w formacie HTML . Zobacz przykłady legendy HTML, aby zobaczyć dostępne opcje (ciągłe, nieciągłe, odrębne klasy).
Próbka klasyfikacji kwantowej:
Przykład klasyfikacji unikatowych wartości:
Zobacz wersję demonstracyjną, która odczytuje wartości bezpośrednio z pliku kształtu (przy użyciu biblioteki Marc Harter).
Jeśli chcesz spróbować samodzielnie w 2 krokach, używając jsconsole :
Najpierw skopiuj / wklej do konsoli :
load("https://raw.github.com/simogeo/geostats/master/lib/geostats.js");
Następnie skopiuj / wklej:
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(' | '));
Daj mi znać, jeśli znajdziesz jakiś błąd. Po raz kolejny mile widziane są wszelkie pomysły i sugestie dotyczące rozszerzenia biblioteki.
To wszystko! Mam nadzieję, że ci się przyda.