Какова точность геохэш

20

Я хотел бы знать точность геохеша с заданной длиной. Если есть «простая» формула, которую вы можете использовать для ее вычисления, это было бы очень круто.

В википедии указана точность до 8 символов:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019
GunDon
источник
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

Обратите внимание, что, как упоминалось на вики-странице, эти значения получены из местоположения вблизи экватора, где степень имеет примерно одинаковую длину по осям X и Y. Для получения более точной информации следует начинать с ошибок lat и long, и вычислите точность в км по оси X на основе широты вашей позиции.

radouxju
источник
Я нахожусь между написанием другого ответа или комментария, но здесь это идет. Ответ логически правильный, но цифры просто неверны. Одна буква не 32-битная, но находится в 32-й базе, то есть всего 5 бит. Одна буква может быть 8-битной, предполагая символ ascii, но в ней нет 256 видимых символов, что не поддается чтению в целях геохэш. Когда у вас есть base32, вы можете использовать ограниченный алфавит для представления 5 бит. Поскольку это нечетное число, с каждой буквой вы можете получить 3lat, 2lon или 2lat, 3long, то, что делает geohash, также является альтернативным, поэтому оно равно 3lat, 2lon, затем 2lat, 3lon, поэтому вы получаете равномерное распределение.
auselen
Спасибо за ваш комментарий. Я проверю и обновлю свой ответ в соответствии с вашим комментарием.
Radouxju