Compartir a través de


geo_point_to_geohash()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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

Captura de pantalla de los eventos de tormenta de EE. UU. agrupados por geohash.

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