¿Cuál es la precisión de un Geohash?

20

Me gustaría saber la precisión de un geohash con una longitud determinada. Si hay una fórmula 'simple' que puede usar para calcularla, sería genial.

Wikipedia enumera la precisión de hasta 8 caracteres:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019
Gundon
fuente
1
que es lo que quieres saber?
Vince
La precisión al tener geohashes con 9, 10, 11 .. caracteres
Gundon
1
Cuando se trata de eso, no se trata tanto de los decimales que tienes, sino de cuántos son relevantes. Consulte aquí para obtener una respuesta a su pregunta: gis.stackexchange.com/questions/8650/… , pero preste atención a la diferencia entre precisión y precisión .
Martin
El artículo de Wikipedia sobre Geohash también establece que "cada bit subsiguiente reduce a la mitad [el] error". Este no es el error de km (o incluso el error de grado decimal), sino más bien la ventana / rango de posibles ubicaciones.
Erica
Gracias por mencionar que Erica. Lo entendí, pero tal vez no me hice lo suficientemente claro. @Martin Geohashes no son lo mismo que las coordenadas lat / long, aunque se derivan de eso ... No creo que esta pregunta sea un duplicado de la otra. Si fue así: ¿Puedes decirme la ventana km de un geohash con 9 caracteres?
Gundon

Respuestas:

33

entonces un símbolo (letras o dígitos) es la base 32 (8 bits) Cada primer bit se usa para ventanas altas o bajas, luego los bits siguientes dividen la precisión por 2. (así que divida por 8 en el mejor de los casos) pero hay una alternancia entre lat y precisión larga, por lo que termina dividiendo entre 4 y 8 alternativamente.

#   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

Tenga en cuenta que, como se menciona en la página Wiki, esos valores provienen de una ubicación cerca del ecuador, donde un grado tiene casi la misma longitud en X e Y. Para obtener una información más precisa, debe comenzar con los errores lat y long, y Calcule la precisión de km a lo largo del eje X según la latitud de su posición.

radouxju
fuente
Estoy entre escribir otra respuesta o un comentario, pero aquí va. La respuesta es lógicamente correcta pero los números son completamente incorrectos Una letra no es de 32 bits pero está en la base 32, que es de solo 5 bits. Una letra puede ser de 8 bits, suponiendo un carácter ascii pero que no tiene 256 caracteres visibles, lo que desafía el propósito de legibilidad de geohash. Cuando tienes base32 puedes usar un alfabeto limitado para representar 5bits. Como este es un número impar, con cada letra puede obtener 3lat, 2lon o 2lat, 3long, lo que hace geohash también es alternativo, por lo que es 3lat, 2lon luego 2lat, 3lon para obtener una distribución uniforme.
auselen
Gracias por tu comentario. Comprobaré y actualizaré mi respuesta según su comentario.
radouxju