geo_point_to_s2cell()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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
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 |
---|