Compartir a través de


geo_point_to_s2cell()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Calcula el valor de cadena de token de celda S2 de una ubicación geográfica.

Obtenga más información sobre la jerarquía de celdas S2. La celda S2 puede ser una herramienta útil de agrupación en clústeres geoespaciales. Una celda S2 es una celda en una superficie esférica y tiene bordes geodesic. Las celdas S2 forman parte de una jerarquía que divide la superficie de la Tierra. Tienen un máximo de 31 niveles, que van de cero a 30, que definen el número de veces que se subdivide una celda. Los niveles van desde la cobertura más grande en el nivel cero con cobertura de área de 85.011.012.19km², hasta la cobertura más baja de 0,44 cm² en el nivel 30. A medida que las celdas S2 se subdividir en niveles superiores, el centro de celdas se conserva bien. Dos ubicaciones geográficas pueden estar muy cerca entre sí, pero tienen tokens de celda S2 diferentes.

Nota:

Si invoca la función geo_s2cell_to_central_point() en una cadena de token de celda S2 que se calculó en longitud x y latitud y, la función no devolverá necesariamente x e y.

Obtenga más información sobre la jerarquía de celdas S2.

Sintaxis

geo_point_to_s2cell(latitud de longitud,, [ nivel ])

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].
level int Define el nivel de celda solicitado. Los valores admitidos están en el intervalo [0, 30]. Si no se especifica, se usa el valor predeterminado 11.

Devoluciones

Valor de cadena de token de celda S2 de una ubicación geográfica determinada. Si las coordenadas o niveles no son válidas, la consulta genera un resultado vacío.

Cobertura de área aproximada de celda S2 por valor de nivel

Para cada nivel, el tamaño de la celda S2 es similar, pero no exactamente igual. Los tamaños de celda cercanos tienden a ser más iguales.

Nivel Longitud mínima del borde de celda aleatoria (UK) Longitud máxima del borde de celda aleatoria (EE. UU.)
0 7842 km 7842 km
1 3921 km 5004 km
2 1825 km 2489 km
3 840 km 1310 km
4 432 km 636 km
5 210 km 315 km
6 108 km 156 km
7 54 km 78 km
8 27 km 39 km
9 14 km 20 km
10 7 km 10 km
11 3 km 5 km
12 1699 m 2 km
13 850 m 1225 m
14 425 m 613 m
15 212 m 306 m
16 106 m 153 m
17 53 m 77 m
18 27 m 38 m
19 13 m 19 m
20 7 m 10 m
21 3 m 5 m
22 166 cm 2 m
23 83 cm 120 cm
24 41 cm 60 cm
25 21 cm 30 cm
26 10 cm 15 cm
27 5 cm 7 cm
28 2 cm 4 cm
29 12 mm 18 mm
30 6 mm 9 mm

El origen de la tabla se puede encontrar en este recurso estadístico S2 Cell.

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

Eventos de tormenta de EE. UU. agregados por la celda S2

En el ejemplo siguiente se encuentran los eventos de tormenta de EE. UU. agregados por celdas S2.

StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_s2cell(BeginLon, BeginLat, 5)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind=map)

Salida

Captura de pantalla de una representación de mapa de los eventos de tormenta de EE. UU. agregados por la celda S2.

En el ejemplo siguiente se calcula el identificador de celda S2.

print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)

Salida

s2cell
88d9b

Buscar un grupo de coordenadas

En el ejemplo siguiente se buscan grupos de coordenadas. Cada par de coordenadas del grupo reside en la celda S2 con un área máxima de 1632,45 km².

datatable(location_id:string, longitude:real, latitude:real)
[
  "A", 10.1234, 53,
  "B", 10.3579, 53,
  "C", 10.6842, 53,
]
| summarize count = count(),                                        // items per group count
            locations = make_list(location_id)                      // items in the group
            by s2cell = geo_point_to_s2cell(longitude, latitude, 8) // s2 cell of the group

Salida

s2cell count locations
47b1d 2 ["A", "B"]
47ae3 1 ["C"]

Resultados vacíos

En el ejemplo siguiente se genera un resultado vacío debido a la entrada de coordenadas no válida.

print s2cell = geo_point_to_s2cell(300,1,8)

Salida

s2cell

En el ejemplo siguiente se genera un resultado vacío debido a la entrada de nivel no válida.

print s2cell = geo_point_to_s2cell(1,1,35)

Salida

s2cell

En el ejemplo siguiente se genera un resultado vacío debido a la entrada de nivel no válida.

print s2cell = geo_point_to_s2cell(1,1,int(null))

Salida

s2cell