Proyeksi global seperti grid untuk membuat peta panas


11

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. masukkan deskripsi gambar di sini

Terimakasih banyak.


Bukan berarti jawaban yang lengkap atau sempurna, tetapi Anda mungkin ingin Google Sistem Referensi Grid Militer atau setidaknya Grid Nasional AS fgdc.gov/usng untuk beberapa ide tentang bagaimana organisasi-organisasi tersebut menangani setidaknya tantangan serupa. Sekali lagi, belum tentu sempurna, tetapi mungkin menjadi referensi yang baik untuk pekerjaan Anda. Semoga ini bisa membantu.
John

@ John - Terima kasih; Saya menemukan grid Militer dalam pencarian saya sendiri, tetapi menggunakan huruf serta angka jadi saya tidak yakin itu cocok. Hal-hal USNG terlihat menarik tetapi saya tidak ingin membuatnya sendiri.
GIS-Jonathan

1
Beberapa informasi tentang sifat data dan tujuan peta panas akan membantu memfokuskan jawaban, yang mungkin (dan seharusnya) bervariasi sesuai dengan sifat geografis apa yang ingin Anda pertahankan dalam peta: orientasi, bantalan, area, bentuk, dll. Karena memproyeksikan ulang data spasial relatif cepat dan mudah, seseorang mungkin akan cenderung mengabaikan isu-isu ini dan lebih fokus pada masalah bias dan akurasi yang lebih mendasar: Apa yang akan dilakukan rencana tentang MAUP? Apakah Anda berencana untuk menarik kesimpulan dari data yang dimasukkan ke dalam sel-sel kisi ini? Mengapa harus berupa struktur data vektor ?
whuber

Bisakah Anda mengklarifikasi apa dimensi spasial dari data uderlying? yaitu apakah data secara fundamental menunjuk dan hanya dikumpulkan ke sel, atau apakah itu benar-benar areal?
AnserGIS

@whuber - Data akan digunakan untuk representasi umum untuk pengguna awam, bukan dalam bentuk analisis spasial. Dengan demikian tidak ada preferensi khusus yang berkaitan dengan mana properti geografis disimpan / hilang dan MAUP tidak relevan karena saya mencari generalisasi bruto data. Saya hanya perlu kotak-kotak untuk rapi menata sesuatu seperti ubin OSM. Keinginan saya untuk vektor adalah karena saya menyimpannya dalam database dan itu jauh lebih mudah untuk dimanipulasi.
GIS-Jonathan

Jawaban:


3

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.


3

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


Apakah Anda berencana untuk menghitung kerapatan pada bidang yang diproyeksikan atau pada permukaan berbentuk bola dan hanya menampilkannya dengan cara ini? Juga, apakah data persegi panjang perlu dibagi lebih dari satu sel kisi?
AnserGIS

@AnserGIS - Perhitungan akan terjadi pada pesawat yang diproyeksikan. Data persegi panjang dapat mencakup beberapa sel kisi. Lihat juga hasil edit untuk informasi lebih lanjut.
GIS-Jonathan

2

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. Nomenklatur Sel Grid Tingkat Quarter bersifat rekursif.

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.


1
Terima kasih telah berbagi; ide yang menarik. Pastinya sepertinya bermanfaat untuk ini. Saya berasumsi itu tidak akan terlalu banyak upaya untuk mengubahnya sehingga itu murni numerik? yaitu tidak ada "E" atau "N"? Itu mungkin akan memungkinkan agregasi sel yang lebih mudah dan lebih efisien, terutama di meridian atau khatulistiwa.
GIS-Jonathan

Salah satu alasan yang baik untuk mempertahankan karakter (teks) adalah membuatnya tetap dapat dibaca manusia. Untuk digunakan dalam atlas dan referensi manusia itu melayani tujuan dengan baik. Tentu saja akan mungkin dengan menggunakan contoh representasi ini: E = 0, W = 1, S = 0, N = 1, A = 1, B = 2, C = 3 dan D = 4. Beberapa cuplikan kode yang ditulis dengan baik dalam python atau bahasa skrip lain yang relevan harus dapat "menjembatani" tantangan meridian / khatulistiwa dengan sedikit biaya. Tentu saja tergantung pada level operasi QDGC Anda dan ukuran set data.
ragnvald
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.