Bir Geohash'ın hassasiyeti nedir


20

Belirli bir uzunluğa sahip bir geohashın hassasiyetini bilmek istiyorum. Hesaplamak için kullanabileceğiniz 'basit' bir formül varsa, bu çok havalı olur.

Wikipedia, 8 karaktere kadar hassasiyeti listeler:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019

1
Neyi bilmek istiyorsun?
Vince

9, 10, 11 .. karakterlerle geohashlara sahip olma hassasiyeti
Gundon

1
Bu söz konusu olduğunda, kaç ondalık sayıya sahip olduğunuzla değil, kaç tane ilgili olduğuyla ilgilidir. Sorunuzun cevabı için buraya bakın: gis.stackexchange.com/questions/8650/… , ancak doğruluk ve kesinlik arasındaki farka dikkat edin .
Martin

Geohash üzerinde Wikipedia makalesi Ayrıca "sonraki her bit yarıları [] hatası." Devletler Bu km hatası (veya ondalık derece hatası) değil, olası konumların penceresi / aralığı.
Erica

Erica'dan bahsettiğin için teşekkürler. Bunu anladım, ama belki kendimi yeterince açıklığa kavuşturmadım. @Martin Geohashes, lat / uzun koordinatlarla aynı şey değildir, ancak bundan türetilmişlerdir .. Bu sorunun diğerinin kopyası olduğunu düşünmüyorum. Eğer öyleyse: Bana 9 karakterli bir geohash'ın km penceresini söyleyebilir misiniz?
Gundon

Yanıtlar:


33

böylece bir sembol (harfler veya rakamlar) taban 32'dir (8 bit) Her ilk bit yüksek veya düşük pencere için kullanılır, ardından sonraki bitler hassasiyeti 2'ye böler. (en iyi durumda 8'e bölün) ancak bir alternatif var lat ve uzun hassasiyet arasında, alternatif olarak 4 ve 8'e bölünür.

#   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

Wiki sayfasında belirtildiği gibi, bu değerlerin ekvator yakınındaki bir konumdan geldiğini ve bir derecenin X ve Y'de neredeyse aynı uzunluğa sahip olduğunu unutmayın. Daha doğru bir bilgi için, lat ve uzun hatalardan başlamanız gerekir ve X hassasiyetinde km hassasiyetini konumunuzun enlemine göre hesaplayın.


Başka bir cevap ya da yorum yazmak arasındayım ama işte gidiyor. Yanıt mantıksal olarak doğrudur, ancak sayılar oldukça yanlıştır. Bir harf 32 bit değil, sadece 5 bit olan 32 tabanındadır. Bir harf bir ascii karakterini varsayarak 8 bit olabilir, ancak geohash'ın okunabilirlik amacına meydan okuyan 256 görünür karakter içermez. Base32'niz olduğunda, 5 biti temsil etmek için sınırlı bir alfabe kullanabilirsiniz. Bu tek bir sayı olduğundan, her harfle 3lat, 2lon veya 2lat, 3long alabilirsiniz, geohash'ın yaptığı da alternatiftir, bu yüzden 3lat, 2lon sonra 2lat, 3lon'dur, böylece eşit dağılım elde edersiniz.
auselen

yorumun için teşekkürler. Cevabınızı yorumunuza göre kontrol edip güncelleyeceğim.
radouxju
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.