geo_point_to_geohash()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula el valor de cadena geohash de una ubicación geográfica.
Obtenga más información sobre geohash.
Sintaxis
geo_point_to_geohash(
latitud de longitud,
,
[ precisión ])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
longitude | real |
✔️ | Coordenada geoespacial, valor de longitud en grados. El valor válido es un número real y en el intervalo [-180, +180]. |
latitude | real |
✔️ | Coordenada geoespacial, valor de latitud en grados. El valor válido es un número real y en el intervalo [-90, +90]. |
exactitud | int |
Define la precisión solicitada. Los valores admitidos están en el intervalo [1, 18]. Si no se especifica, se usa el valor predeterminado 5 . |
Devoluciones
Valor de cadena geohash de una ubicación geográfica determinada con longitud de precisión solicitada. Si la coordenada o la precisión no son válidas, la consulta genera un resultado vacío.
Nota:
- Geohash puede ser una herramienta útil de agrupación en clústeres geoespaciales.
- Geohash tiene 18 niveles de precisión con cobertura de área que van desde 25 millones de km² al nivel más alto de 1 a 0,6 μ² en el nivel más bajo 18.
- Los prefijos comunes de geohash indican la proximidad de puntos entre sí. Cuanto más largo sea un prefijo compartido, cuanto más cerca estén los dos lugares. El valor de precisión se traduce a la longitud de geohash.
- Geohash es un área rectangular en una superficie plana.
- Invocar la función geo_geohash_to_central_point() en una cadena de geohash que se calculó en longitud x y latitud y no devolverá necesariamente x e y.
- Debido a la definición de geohash, es posible que dos ubicaciones geográficas estén muy cerca entre sí, pero que tengan códigos geohash diferentes.
Cobertura de área rectangular geohash por valor de precisión:
Precisión | Ancho | Height |
---|---|---|
1 | 5000 km | 5000 km |
2 | 1250 km | 625 km |
3 | 156,25 km | 156,25 km |
4 | 39,06 km | 19,53 km |
5 | 4,88 km | 4,88 km |
6 | 1,22 km | 0,61 km |
7 | 152,59 m | 152,59 m |
8 | 38,15 m | 19,07 m |
9 | 4,77 m | 4,77 m |
10 | 1,19 m | 0,59 m |
11 | 149.01 mm | 149.01 mm |
12 | 37,25 mm | 18,63 mm |
13 | 4,66 mm | 4,66 mm |
14 | 1,16 mm | 0,58 mm |
15 | 145.52 μ | 145.52 μ |
16 | 36.28 μ | 18.19 μ |
17 | 4.55 μ | 4.55 μ |
18 | 1.14 μ | 0.57 μ |
Consulte también geo_point_to_s2cell() geo_point_to_h3cell().
Para ver la comparación con otros sistemas de cuadrícula disponibles, consulte agrupación en clústeres geoespaciales con Lenguaje de consulta Kusto.
Ejemplos
En el ejemplo siguiente se encuentran los eventos de tormenta de EE. UU. agregados por geohash.
StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_geohash(BeginLon, BeginLat, 3)
| project geo_geohash_to_central_point(hash)
| render scatterchart with (kind=map)
Salida
En el ejemplo siguiente se calcula y se devuelve el valor de cadena geohash.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Salida
geohash |
---|
dhwfz15h |
En el ejemplo siguiente se buscan grupos de coordenadas. Cada par de coordenadas del grupo reside en un área rectangular de 4,88 km a 4,88 km.
datatable(location_id:string, longitude:real, latitude:real)
[
"A", double(-122.303404), 47.570482,
"B", double(-122.304745), 47.567052,
"C", double(-122.278156), 47.566936,
]
| summarize count = count(), // items per group count
locations = make_list(location_id) // items in the group
by geohash = geo_point_to_geohash(longitude, latitude) // geohash of the group
Salida
geohash | count | locations |
---|---|---|
c23n8 | 2 | ["A", "B"] |
c23n9 | 1 | ["C"] |
En el ejemplo siguiente se genera un resultado vacío debido a la entrada de coordenadas no válida.
print geohash = geo_point_to_geohash(200,1,8)
Salida
geohash |
---|
En el ejemplo siguiente se genera un resultado vacío debido a la entrada de precisión no válida.
print geohash = geo_point_to_geohash(1,1,int(null))
Salida
geohash |
---|