Saya sedang menyusun aplikasi di mana saya perlu membuat kisi vektor yang akan digunakan untuk menyimpan dan menampilkan peta panas. Ini memiliki persyaratan sebagai berikut:
- Dapat menutupi seluruh planet.
- Sebagian besar kotak kisi tidak akan memiliki nilai.
- Saya tidak ingin harus menyimpan kotak itu sendiri; Saya ingin menghitungnya dengan cepat.
- Skala data yang digunakan dengan grid dapat sangat bervariasi.
- Saya mengantisipasi ingin kotak kuadrat apa pun dari 1km ke 100km. (Saya sadar berapa banyak ini (~ 510 juta untuk 1 km, ~ 51.000 untuk 100 km)).
- Nilai akan diakumulasikan / dikumpulkan untuk setiap kotak kisi.
- Idealnya, saya dapat dengan mudah menggunakan sel-sel jaringan yang lebih kecil untuk menghitung nilai yang lebih besar daripada menyimpan nilai-nilai sel jaringan yang lebih besar.
- Saya akan menggunakan OpenLayers untuk menggantungkannya di atas OpenStreetMap.
- Saya akan menyimpannya dalam SpatiaLite atau SQLite, jadi sebaiknya didukung oleh yang asli (yaitu untuk SpatiaLite = CRS yang didukung; atau untuk SQLite = sistem berbasis angka murni).
Jadi pertanyaan saya adalah: Proyeksi apa yang harus saya gunakan untuk grid ini?
Juga - apakah ada cara yang baik untuk mendesain ini? Adakah yang tahu solusi potensial yang baik untuk masalah ini atau telah menyelesaikan yang serupa sebelumnya? Atau bisa mengarahkan saya ke arah yang bermanfaat.
Sunting Use-case - pada dasarnya saya mengumpulkan kotak pembatas dengan berbagai bentuk dan ukuran berbeda. Luasnya bisa mulai dari beberapa hektar hingga ribuan km persegi. Mereka mungkin juga dalam proyeksi yang berbeda.
Di bawah ini adalah versi yang dipesan lebih dahulu dari hal yang ingin saya capai secara otomatis pada skala yang lebih besar.
Terimakasih banyak.
sumber
Jawaban:
Ubin OSM standar ada dalam Spherical Mercator (SRID = 3857) sehingga mungkin akan lebih mudah untuk membangun kisi Anda menggunakan proyeksi yang sama.
Jika Anda menggunakan SM, Anda dapat menyimpan data pada level zoom tertinggi yang didukung OSM, atau pada level zoom level tertinggi Anda akan mengizinkan pengguna untuk memperbesar. Jika cakupan jarang, gunakan struktur data di sepanjang baris
XIndex, YIndex, Hitung
di mana indeks adalah indeks ke dalam kotak ubin di tingkat zoom yang Anda inginkan, hitungan adalah hitungan fitur yang memotong ubin itu, dan tidak termasuk entri untuk titik-titik di mana jumlah adalah nol. Kemudian Anda dapat dengan mudah memilih hitungan dengan indeks atau pada tingkat zoom yang lebih rendah pilih jumlah hitungan dengan rentang indeks mengetahui bahwa jika permintaan mengembalikan tidak ada hitungan nol untuk wilayah yang diberikan.
Ini tentu saja sebuah abstraksi, saya mengasumsikan tingkat perangkat lunak antara ini dan renderer peta panas Anda. Penjelasan lebih lanjut tentang bagaimana Anda akan membuat peta panas akan membantu saya memberikan saran yang lebih baik.
sumber
Nilai yang disimpan dalam sel dari peta panas sering dinormalisasi berdasarkan luasnya. Dalam hal ini saya lebih suka menyarankan proyeksi area yang sama sehingga Anda dapat dengan mudah mengumpulkan ke skala yang lebih besar
sumber
Ini adalah jawaban untuk bagaimana Anda bisa mendesain peta panas. Saran saya adalah Anda melihat ke dalam sistem Quarter Cell Grid Quarter . QDGC mewakili cara membuat (hampir) kotak sama luas yang mencakup area tertentu untuk mewakili kualitas spesifik dari area yang dicakup. Kotak itu sendiri didasarkan pada kotak derajat yang menutupi bumi. Di sekitar garis khatulistiwa kita memiliki 360 garis garis memanjang, dan dari utara ke kutub selatan kita memiliki 180 garis garis lintang. Bersama-sama ini memberi kita 64800 segmen atau ubin yang menutupi bumi. Bentuk kotak menjadi lebih persegi panjang, semakin lama kita datang ke utara. Di kutub mereka tidak persegi atau bahkan persegi panjang sama sekali, tetapi berakhir dalam segitiga memanjang.
Sel-sel kisi dapat dibagi menjadi empat, dan sel-sel kisi yang dihasilkan lagi membelah menjadi empat. Sistem memberi pengguna konvensi penamaan yang dapat diprediksi. Dengan menghitung area untuk sel-sel jaringan yang berbeda mereka harus cocok untuk presentasi tergantung area.
Informasi lebih rinci, dan referensi ke beberapa sistem lain juga tersedia dalam makalah yang saya terbitkan beberapa tahun yang lalu. Standar ini digunakan di beberapa atlas Afrika untuk informasi lingkungan.
Shapefile untuk berbagai benua dan negara tersedia untuk diunduh di situs blog saya.
Saya telah bermain-main dengan pemikiran untuk memperluas standar, sehingga sel-sel grid di atas atau di bawah garis lintang tertentu dapat dibagi menjadi dua sehingga memberikan produk peta yang lebih menyenangkan secara visual ketika digunakan.
sumber