Яка точність геогаша


20

Я хотів би знати точність геогашу з заданою довжиною. Якщо є "проста" формула, яку ви можете використати для її обчислення, це було б дуже круто.

Вікіпедія перераховує точність до 8 символів:

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

1
Що ви хочете знати?
Вінс

Точність при знаходженні геохашей з символами 9, 10, 11 ..
Гундон,

1
Коли справа доходить до цього, справа не стільки в тому, скільки децималів у вас є, скільки у відповідних випадках. Тут ви знайдете відповідь на своє запитання: gis.stackexchange.com/questions/8650/… , але зверніть увагу на різницю між точністю та точністю .
Мартін

У статті Вікіпедії про Geohash також зазначено, що "кожен наступний біт вдвічі зменшує помилку". Це не км помилка (або навіть десяткова помилка градуса), а скоріше вікно / діапазон можливих локацій.
Еріка

Дякуємо, що згадали про цю Еріку. Я це зрозумів, але, можливо, не дав про себе зрозуміти. @Martin Geohashes - це не те саме, що лат / довгі координати, хоча вони отримані з цього .. Я не думаю, що це питання є дублікатом іншого. Якби це було: Чи можете ви сказати мені км-вікно геогаша з 9 символами?
Гундон

Відповіді:


33

тому один символ (літери чи цифри) є базовим 32 (8 біт) Кожен перший біт використовується для високого або низького вікна, потім наступні біти ділять точність на 2. (так ділимо на 8 у кращому випадку), але є альтернатива між лат і довгою точністю, тож воно в кінцевому підсумку ділиться на 4 і 8 альтернативно.

#   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, ці значення походять з місця поблизу екватора, де градус має майже однакову довжину в X та Y. Для більш точної інформації слід почати з lat та довгих помилок, і обчисліть точність км по осі X на основі широти вашого положення.


Я перебуваю між тим, щоб написати іншу відповідь або коментар, але ось він іде. Відповідь логічно правильна, але цифри є явно неправильними. Одна літера не є 32-бітовою, але вона є в базовій, 32, що становить лише 5 біт. Один лист може бути 8-бітовим, припускаючи, що ascii char, але у ньому немає 256 видимих ​​символів, що не відповідає цілі читання geohash. Якщо у вас є base32, ви можете використовувати обмежений алфавіт, щоб представити 5 біт. Оскільки це непарне число, з кожної літери ви можете отримати 3lat, 2lon або 2lat, 3long, те, що робить geohash, також чергується, тож це 3lat, 2lon, а потім 2lat, 3lon, щоб ви отримали рівномірний розподіл.
auselen

дякую за ваш коментар Я буду перевіряти та оновлювати свою відповідь відповідно до вашого коментаря.
radouxju
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.