minuscola libreria di discretizzazione JS per la rappresentazione di coropleti


9

Vorrei sapere se esiste una piccola libreria js stat / di discretizzazione pronta per l'uso.

So dell'esistenza di jStat (che potrei esplorare un po 'più a fondo), e so che mapfish ha un modulo / widget di geostati per creare una mappa coropletica - ho trovato il codice qui . Ma si basa su openlayer e vorrei avere una libreria autonoma ed eventualmente essere libero di comunicare con openlayer.

Vorrei avere alcuni metodi di base:

  • min
  • max
  • significare
  • mediano

ed essere in grado di implementare la seguente discretizzazione con la possibilità di specificare il numero di classi e la precisione (decimale):

  • quantile
  • Intervallo uguale
  • Natural Breaks (Jenks)

Se non esiste ancora, probabilmente codificherò me stesso e lo rilascerò su github con licenza gratuita. Qualsiasi risorsa e consiglio è il benvenuto.


1
Sembra simile - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… Qual è la ragione per non andare con jStat?
geographika,

In effetti la biblioteca che hai citato avrebbe potuto essere un buon inizio. Perché non Jstat? Perché non ho visto i metodi di discretizzazione ed è quello che stavo effettivamente cercando in via prioritaria - i metodi delle statistiche sono una specie di bonus
simo

Risposte:


18

Bene, ho codificato qualcosa ieri e l'ho rilasciato sotto licenza MIT.

La libreria, chiamata geostats è disponibile su github . Il pacchetto include esempi. Sarai anche in grado di vederlo in azione su http://www.intermezzo-coop.eu/mapping/geostats/ (con un esempio di rappresentazione coropletica concreta ).

Supporta gli 8 metodi sopra elencati:

  • quantile
  • Intervalli uguali
  • Deviazione standard
  • Progressione aritmetica
  • Progressione geometrica
  • Natural Breaks (Jenks): il codice di classificazione Jenks è stato preso da Doug Curl .
  • Valori unici
  • Classificazione definita dall'utente

La libreria include anche un metodo per il rendering di una legenda in formato HTML . Vedi esempi di legenda HTML per vedere le opzioni disponibili (continue, discontinue, classi distinte).

Campione di classificazione quantile:

classificazione quantistica e legenda

Esempio di classificazione di valori unici: inserisci qui la descrizione dell'immagine

Guarda una demo che legge i valori direttamente dal file di forma (usando la libreria Marc Harter).

Se vuoi provare tu stesso in 2 passaggi, usando la jsconsole :

Copia / incolla nella console, per prima cosa :

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

Quindi , copia / incolla:

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(' | '));

Per favore, fammi sapere se scopri qualche bug. Ancora una volta, qualsiasi idea o suggerimento è il benvenuto per migliorare la biblioteca.

È tutto! Spero che ti sia utile.


Attenzione: il link jsconsole in realtà punta a "jconsole.com" che è uno spammer squat. Non ho il karma richiesto per risolvere questo problema. Qualcuno può aggiornare il link? Potrebbe contenere codice dannoso.
Thibaut Barrère,

1

Zachary Forest Johnson ha fatto davvero un ottimo lavoro nel fornire analisi tematiche su openlayer.

La libreria è sotto licenza BSD, disponibile su github . Ulteriori spiegazioni sul progetto e esempi sono disponibili sul suo blog .



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.