petite bibliothèque de discrétisation JS pour la représentation de choroplèthes

9

Je voudrais savoir s'il existe une minuscule bibliothèque js stat / discrétisation prête à l'emploi.

Je connais l'existence de jStat (que je peux explorer un peu plus en profondeur), et je sais que mapfish a un module / widget géostats pour créer une carte choroplèth - j'ai trouvé le code ici . Mais il repose sur des openlayers et j'aimerais avoir une bibliothèque autonome et éventuellement être libre de communiquer avec openlayers.

J'aimerais avoir quelques méthodes de base:

  • min
  • max
  • signifier
  • médian

et être capable d'implémenter la discrétisation suivante avec la possibilité de spécifier le nombre de classes et la précision (décimale):

  • Quantile
  • Intervalle égal
  • Pauses naturelles (Jenks)

S'il n'existe pas encore, je vais probablement coder quelque chose moi-même et le publier sur github sous licence gratuite. Toute ressource et conseil est le bienvenu.

simo
la source
1
Cela semble similaire - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… Une raison pour ne pas utiliser jStat?
geographika
En effet, la bibliothèque que vous avez mentionnée aurait pu être un bon début. Pourquoi pas jstat? Parce que je n'ai pas vu de méthodes de discrétisation et c'est ce que je cherchais en priorité - les méthodes statistiques sont en quelque sorte des bonus
simo

Réponses:

18

Eh bien, j'ai codé quelque chose hier et l'ai publié sous licence MIT.

La bibliothèque, nommée geostats, est disponible sur github . Le package comprend des exemples. Vous pourrez également le voir en action sur http://www.intermezzo-coop.eu/mapping/geostats/ (avec un exemple concret de représentation de choroplèthes ).

Il prend en charge les 8 méthodes répertoriées ci-dessus:

  • Quantile
  • Intervalles égaux
  • Écart-type
  • Progression arithmétique
  • Progression géométrique
  • Natural Breaks (Jenks): Le code de classification Jenks est tiré de Doug Curl .
  • Des valeurs uniques
  • Classification définie par l'utilisateur

La bibliothèque comprend également une méthode pour rendre une légende au format HTML . Voir des exemples de légendes HTML pour voir les options disponibles (classes continues, discontinues, distinctes).

Échantillon de classification quantile:

classification quantile et légende

Échantillon de classification des valeurs uniques: entrez la description de l'image ici

Voir une démo lisant les valeurs directement à partir du fichier de formes (en utilisant la bibliothèque Marc Harter).

Si vous voulez essayer par vous-même en 2 étapes, utilisez la jsconsole :

Copiez / collez dans la console, d' abord :

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

Ensuite , copiez / collez:

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

S'il vous plaît, faites-moi savoir si vous découvrez un bug. Encore une fois, toute idée ou suggestion est la bienvenue pour améliorer la bibliothèque.

C'est tout! J'espère que cela vous sera également utile.

simo
la source
Attention - le lien jsconsole pointe en fait vers "jconsole.com" qui est un squat de spammeur. Je n'ai pas le karma requis pour résoudre ce problème. Quelqu'un peut-il mettre à jour le lien? Il pourrait contenir du code malveillant.
Thibaut Barrère
1

Zachary Forest Johnson a fait un excellent travail pour fournir une analyse thématique sur les couches ouvertes.

La bibliothèque est sous licence BSD, disponible sur github . Plus d'explications sur le projet et des exemples sont disponibles sur son blog .

simo
la source
0

Je pense que de nos jours, la meilleure bibliothèque est probablement des statistiques simples . Il est de très haute qualité et utilisé par TurfJS. Il utilise " ckmeans " comme une amélioration par rapport à Jenks.

Une démo (plus ancienne): http://bl.ocks.org/tmcw/4969184

Steve Bennett
la source