Apa ketepatan Geohash

20

Saya ingin tahu ketepatan geohash dengan panjang tertentu. Jika ada rumus 'sederhana' yang dapat Anda gunakan untuk menghitungnya, itu akan sangat keren.

Wikipedia mencantumkan presisi hingga 8 karakter:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019
Gundon
sumber
1
Apa yang ingin kamu ketahui?
Vince
Ketelitian saat melakukan geohash dengan 9, 10, 11 .. karakter
Gundon
1
Ketika sampai pada hal itu, ini bukan tentang seberapa banyak desimal yang Anda miliki tetapi berapa banyak yang relevan. Lihat di sini untuk jawaban atas pertanyaan Anda: gis.stackexchange.com/questions/8650/… , tetapi perhatikan perbedaan antara akurasi dan presisi .
Martin
The artikel Wikipedia pada Geohash juga menyatakan bahwa "setiap bit bagian berikutnya [yang] kesalahan." Ini bukan kesalahan km (atau bahkan tingkat kesalahan desimal), melainkan jendela / rentang lokasi yang memungkinkan.
Erica
Terima kasih telah menyebutkan Erica. Aku memang mengerti itu, tapi mungkin tidak membuat diriku cukup jelas. @ Martin Geohash bukan hal yang sama dengan koordinat lat / long, meskipun mereka diturunkan dari itu .. Saya tidak berpikir bahwa pertanyaan ini adalah duplikat dari yang lain. Jika ya: Bisakah Anda memberi tahu saya km-jendela geohash dengan 9 karakter?
Gundon

Jawaban:

33

jadi satu simbol (huruf atau digit) adalah basis 32 (8 bit) Setiap bit pertama digunakan untuk jendela tinggi atau rendah, kemudian bit selanjutnya membagi ketelitian dengan 2. (jadi bagi dengan 8 dalam kasus terbaik) tetapi ada alternatif antara lat dan presisi panjang, sehingga akhirnya membaginya dengan 4 dan 8 sebagai alternatif.

#   km      
1   ± 2500
2   ± 630
3   ± 78
4   ± 20
5   ± 2.4
6   ± 0.61
7   ± 0.076
8   ± 0.019
9   ± 0.0024
10  ± 0.00060
11  ± 0.000074

Perhatikan bahwa, seperti yang disebutkan di halaman Wiki, nilai-nilai itu berasal dari lokasi dekat khatulistiwa, di mana gelar memiliki panjang yang hampir sama dalam X dan Y. Untuk informasi yang lebih akurat, Anda harus mulai dari kesalahan lat dan panjang, dan hitung presisi km sepanjang sumbu-X berdasarkan garis lintang posisi Anda.

radouxju
sumber
Saya di antara menuliskan jawaban atau komentar lain tetapi ini dia. Jawabannya benar secara logis tetapi jumlahnya jelas salah. Satu huruf bukan 32bit tetapi dalam basis 32, yang hanya 5 bit. Satu huruf bisa 8bit, dengan asumsi char ascii tapi itu tidak memiliki 256 karakter yang terlihat yang menentang tujuan pembacaan geohash. Ketika Anda memiliki base32, Anda dapat menggunakan alfabet terbatas untuk mewakili 5bits. Karena ini adalah angka ganjil, dengan setiap huruf Anda bisa mendapatkan 3lat, 2lon atau 2lat, 3long, apa yang dilakukan geohash juga bergantian sehingga 3lat, 2lon kemudian 2lat, 3lon sehingga Anda mendapatkan distribusi yang merata.
auselen
terima kasih atas komentar Anda. Saya akan memeriksa dan memperbarui jawaban saya sesuai dengan komentar Anda.
radouxju