pequeña biblioteca de discretización JS para representación coropleta

9

Me gustaría saber si existe una pequeña biblioteca stat / discretization js lista para usar.

Sí conozco la existencia de jStat (que puedo explorar un poco más a fondo), y sé que mapfish tiene un módulo / widget de geoestatos para crear un mapa coroplético. Encontré el código aquí . Pero depende de las capas abiertas y me gustaría tener una biblioteca independiente y eventualmente ser libre de comunicarme con las capas abiertas.

Me gustaría tener algunos métodos básicos:

  • min
  • max
  • media
  • mediana

y poder implementar la siguiente discretización con la capacidad de especificar el número de clases y la precisión (decimal):

  • Cuantil
  • Intervalo igual
  • Saltos naturales (Jenks)

Si aún no existe, probablemente codificaré algo yo mismo y lo lanzaré en github bajo licencia gratuita. Cualquier recurso y consejo es bienvenido.

simo
fuente
1
Esto se ve similar: code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… ¿ Alguna razón para no usar jStat?
geographika
De hecho, la biblioteca que mencionaste podría haber sido un buen comienzo. ¿Por qué no jstat? Porque no he ver métodos de discretización y es lo que en realidad estaba buscando en prioridad - Estadísticas métodos son una especie de bono
simo

Respuestas:

18

Bueno, ayer codifiqué algo y lo publiqué bajo licencia MIT.

La biblioteca, llamada geostats está disponible en github . El paquete incluye ejemplos. También podrá verlo en acción en http://www.intermezzo-coop.eu/mapping/geostats/ (con una muestra de representación de coropleta concreta ).

Es compatible con los 8 métodos enumerados anteriormente:

  • Cuantil
  • Intervalos iguales
  • Desviación Estándar
  • Progresión aritmética
  • Progresión geométrica
  • Saltos naturales (Jenks): el código de clasificación de Jenks ha sido tomado de Doug Curl .
  • Valores únicos
  • Clasificación definida por el usuario

La biblioteca también incluye un método para representar una leyenda en formato HTML . Vea ejemplos de leyendas HTML para ver las opciones disponibles (continuas, discontinuas, clases distintas).

Muestra de clasificación cuantil:

clasificación cuantil y leyenda

Muestra de clasificación de valores únicos: ingrese la descripción de la imagen aquí

Vea una demostración de valores de lectura directamente desde shapefile (usando la biblioteca Marc Harter).

Si quieres probarlo tú mismo en 2 pasos, usa jsconsole :

Copie / pegue en la consola, primero :

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

Luego , copie / pegue:

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

Por favor, avíseme si descubre algún error. Una vez más, cualquier idea o sugerencia es bienvenida para mejorar la biblioteca.

¡Eso es todo! Espero que también te sea útil.

simo
fuente
Cuidado: el enlace jsconsole en realidad apunta a "jconsole.com", que es una posición en cuclillas de spammers. No tengo el karma requerido para arreglar esto. ¿Alguien puede actualizar el enlace? Podría contener código malicioso.
Thibaut Barrère
1

Zachary Forest Johnson ha hecho un gran trabajo para proporcionar análisis temáticos sobre las capas abiertas.

La biblioteca está bajo licencia BSD, disponible en github . Más explicaciones sobre el proyecto y muestras están disponibles en su blog .

simo
fuente