perpustakaan diskretisasi JS kecil untuk representasi choropleth

9

Saya ingin tahu apakah perpustakaan kecil stat / discretization js siap digunakan ada.

Saya tahu tentang keberadaan jStat (yang dapat saya jelajahi sedikit lebih teliti), dan saya tahu bahwa mapfish memiliki modul geostats / widget untuk membuat peta choropleth - saya menemukan kode di sini . Tapi itu bergantung pada openlayers dan saya ingin memiliki lib mandiri dan akhirnya bebas untuk berkomunikasi dengan openlayers.

Saya ingin memiliki beberapa metode dasar:

  • min
  • maks
  • berarti
  • median

dan dapat menerapkan diskritisasi berikut dengan kemampuan untuk menentukan jumlah kelas dan presisi (desimal):

  • Jumlah
  • Interval yang Sama
  • Natural Breaks (Jenks)

Jika belum ada, saya mungkin akan mengkodekan sesuatu sendiri dan merilisnya di github di bawah lisensi gratis. Sumber dan saran apa pun dipersilahkan.

simo
sumber
1
Ini terlihat serupa - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/... Ada alasan untuk tidak menggunakan jStat?
geografi
Memang perpustakaan yang Anda sebutkan bisa menjadi awal yang baik. Kenapa tidak jstat? Karena saya belum melihat metode diskritisasi dan itulah yang sebenarnya saya cari dalam prioritas - metode statistik adalah bonus
simo

Jawaban:

18

Yah, saya mengkodekan sesuatu kemarin dan merilisnya di bawah Lisensi MIT.

Perpustakaan, bernama geostats tersedia di github . Paket termasuk contoh. Anda juga akan dapat melihatnya beraksi di http://www.intermezzo-coop.eu/mapping/geostats/ (dengan sampel representasi choropleth beton ).

Ini mendukung 8 metode yang tercantum di atas:

  • Jumlah
  • Interval yang Setara
  • Simpangan baku
  • Perkembangan aritmatika
  • Kemajuan geometris
  • Natural Breaks (Jenks): Kode klasifikasi Jenks telah diambil dari Doug Curl .
  • Nilai unik
  • Klasifikasi yang ditentukan pengguna

Perpustakaan juga mencakup metode untuk membuat legenda dalam format HTML . Lihat sampel legenda HTML untuk melihat opsi yang tersedia (kontinu, terputus-putus, kelas yang berbeda).

Sampel klasifikasi jumlah:

klasifikasi dan legenda kuantil

Sampel klasifikasi Nilai Unik: masukkan deskripsi gambar di sini

Lihat nilai pembacaan demo langsung dari shapefile (menggunakan perpustakaan Marc Harter).

Jika Anda ingin mencoba sendiri dalam 2 langkah, gunakan jsconsole :

Lakukan salin / tempel ke konsol, pertama :

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

Lalu , lakukan copy / paste:

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

Tolong, beri tahu saya jika Anda menemukan bug. Sekali lagi, ada ide atau saran apa pun untuk meningkatkan perpustakaan.

Itu saja! Semoga bermanfaat juga untuk Anda.

simo
sumber
Hati-hati - tautan jsconsole sebenarnya menunjuk ke "jconsole.com" yang merupakan spammer squat. Saya tidak memiliki karma yang diperlukan untuk memperbaikinya. Adakah yang bisa memperbarui tautan? Itu bisa berisi kode berbahaya.
Thibaut Barrère
1

Zachary Forest Johnson telah melakukan pekerjaan yang sangat bagus untuk memberikan analisis tematis tentang openlayers.

Perpustakaan berada di bawah lisensi BSD, tersedia di github . Penjelasan lebih lanjut tentang proyek dan sampel tersedia di blog-nya .

simo
sumber
0

Saya pikir akhir-akhir ini perpustakaan terbaik mungkin adalah statistik sederhana . Kualitasnya sangat tinggi, dan digunakan oleh TurfJS. Ini menggunakan " ckmeans " sebagai peningkatan dari Jenks.

Demo (lebih tua): http://bl.ocks.org/tmcw/4969184

Steve Bennett
sumber