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.


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.


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 .



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.