Saya mencoba mengatasi masalah SIG web dan perlu mencari tahu strategi terbaik. Saya memiliki peta dengan 30.000 sel di atasnya membentuk kisi-kisi untuk provinsi Alberta. Saya memiliki daftar titik data untuk setiap sel - sekitar 50 bidang indikator dan nilai untuk setiap sel. Sebagai contoh, satu nilai mungkin populasi manusia, sehingga setiap sel akan memiliki nilai populasi manusia untuk sel itu. Saya ingin membuat peta interaktif yang dapat menunjukkan nilai-nilai itu secara visual baik dengan kotak untuk sel, atau jenis tampilan peta panas campuran. Lebih dari itu, saya ingin dapat membuat perhitungan majemuk pada semua titik data dan menggunakan perhitungan itu untuk membuat peta tambahan. Mempertimbangkan perhitungan, ada sekitar 300.000 permutasi pada peta. Terlebih lagi, itu juga temporal; ada 16 irisan waktu yang berbeda.
Strategi saya sejauh ini:
1) Di sisi server, hitung nilai sel secara dinamis pada waktu berjalan dan kirim nilai ke klien (semuanya 30.000 di antaranya). Ini menerjemahkan kira-kira nilai untuk setiap persegi 3x3 piksel dalam gambar 525px x 525px di layar.
2) Di sisi klien dengan lapisan terbuka, gunakan png 1px yang dapat diubah ukurannya dan minta nilai alfa disesuaikan sesuai kebutuhan untuk menampilkan gradien warna yang berbeda sesuai dengan nilai data untuk setiap sel. Png akan diubah ukurannya saat peta memperbesar atau memperkecil. Secara teoritis mereka akan diposisikan secara tepat untuk membentuk cakupan selimut peta sebagai kuadrat atau menggunakan pendekatan peta panas mereka akan tumpang tindih satu sama lain untuk membentuk cakupan selimut.
Pertanyaan:
Apakah masuk akal untuk menghitung nilai-nilai sel secara dinamis di server dan kemudian mengirim ke antarmuka OpenLayers secara real time? Saya yakin server dapat melakukan perhitungan, tetapi bisakah OpenLayers secara wajar menampilkan 30.000 titik data pada suatu waktu di peta? Apakah masuk akal untuk berharap dapat membuat cakupan selimut menggunakan data titik? Saya kira saya sedang mencoba untuk membuat yang setara dengan peta vektor yang memiliki 30.000 bentuk memberikan cakupan selimut 100% dari peta, tetapi menggunakan data titik untuk menyederhanakannya.
Strategi alternatif dalam pikiran saya adalah:
a) untuk menghasilkan peta secara real time di server dan mengirim layer raster ke klien
b) untuk menghasilkan semua permutasi sebelumnya dan menyimpannya di server sebagai peta raster
Adakah pikiran? Apakah pendekatan saya jauh dan menggonggong pohon yang salah? Adakah saran tentang metode yang lebih baik?
Saya pasti akan menghargai setiap pemikiran tentang masalah ini! Jika Anda tertarik, saya bahkan mungkin ingin mengontrak pengembang untuk membantunya.
Terima kasih banyak!
Nuh