geo_point_to_s2cell()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula o valor da string de token de célula S2 de uma localização geográfica.
Leia mais sobre a hierarquia de células S2. A célula S2 pode ser uma ferramenta útil de agrupamento geoespacial. Uma célula S2 é uma célula em uma superfície esférica e possui bordas geodésicas. As células S2 fazem parte de uma hierarquia que divide a superfície da Terra. Eles têm no máximo 31 níveis, variando de zero a 30, que definem o número de vezes que uma célula é subdividida. Os níveis variam desde a maior cobertura no nível zero, com área de 85.011.012,19 km², até a menor cobertura de 0,44 cm² no nível 30. Como as células S2 são subdivididas em níveis mais altos, o centro celular é bem preservado. Duas localizações geográficas podem estar muito próximas uma da outra, mas têm tokens de célula S2 diferentes.
Observação
Se você invocar a função geo_s2cell_to_central_point() em uma cadeia de caracteres de token de célula S2 que foi calculada na longitude x e na latitude y, a função não retornará necessariamente x e y.
Leia mais sobre a hierarquia de células S2.
Sintaxe
geo_point_to_s2cell(
longitude,
latitude,
[ nível ])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
longitude | real |
✔️ | Coordenada geoespacial, valor de longitude em graus. O valor válido é um número real e está no intervalo [-180, +180]. |
latitude | real |
✔️ | Coordenada geoespacial, valor da latitude em graus. O valor válido é um número real e está no intervalo [-90, +90]. |
level | int |
Define o nível de célula solicitado. Os valores suportados estão no intervalo [0, 30]. Se não for especificado, o valor padrão 11 será usado. |
Devoluções
O valor da cadeia de caracteres de token de célula S2 de uma determinada localização geográfica. Se as coordenadas ou níveis forem inválidos, a consulta produzirá um resultado vazio.
Cobertura de área aproximada da célula S2 por valor de nível
Para cada nível, o tamanho da célula S2 é semelhante, mas não exatamente igual. Os tamanhos das células próximas tendem a ser mais iguais.
Nível | Comprimento mínimo da borda da célula aleatória (Reino Unido) | Comprimento máximo da borda da célula aleatória (US) |
---|---|---|
0 | 7842 quilômetros | 7842 quilômetros |
1 | 3921 km | 5004 km |
2 | 1825 quilômetros | 2489 quilômetros |
3 | 840 km | 1310 km |
4 | 432 km | 636 km |
5 | 210 quilômetros | 315 quilômetros |
6 | 108 quilômetros | 156 km |
7 | 54 km | 78 km |
8 | 27 quilômetros | 39 km |
9 | 14 km | 20 km |
10 | 7 km | 10 km |
11 | 3 km | 5 km |
12 | 1699 metros acima do nível do mar | 2 km |
13 | 850 metros acima do nível do mar | 1225 metros acima do nível do mar |
14 | 425 metros acima do nível do mar | 613 metros acima do nível do mar |
15 | 212 metros acima do nível do mar | 306 metros acima do nível do mar |
16 | 106 metros acima do nível do mar | 153 metros acima do nível do mar |
17 | 53 metros acima do nível do mar | 77 metros acima do nível do mar |
18 | 27 metros acima do nível do mar | 38 metros acima do nível do mar |
19 | 13 metros acima do nível do mar | 19 metros acima do nível do mar |
20 | 7 metros acima do nível do mar | 10 m |
21 | 3 metros acima do nível do mar | 5min |
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 milímetros | 18 milímetros |
30 | 6 milímetros | 9 milímetros |
A fonte da tabela pode ser encontrada neste recurso estatístico da Célula S2.
Para comparação com outros sistemas de grade disponíveis, consulte clustering geoespacial com a Linguagem de Consulta Kusto.
Exemplos
Eventos de tempestade nos EUA agregados por célula S2
O exemplo a seguir localiza eventos de tempestade dos EUA agregados por células 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)
Saída
O exemplo a seguir calcula a ID da célula S2.
print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)
Saída
s2célula |
---|
88d9b |
Localizar um grupo de coordenadas
O exemplo a seguir localiza grupos de coordenadas. Cada par de coordenadas no grupo reside na célula S2 com uma á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
Saída
s2célula | count | Locais |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
Resultados vazios
O exemplo a seguir produz um resultado vazio devido à entrada de coordenadas inválida.
print s2cell = geo_point_to_s2cell(300,1,8)
Saída
s2célula |
---|
O exemplo a seguir produz um resultado vazio devido à entrada de nível inválida.
print s2cell = geo_point_to_s2cell(1,1,35)
Saída
s2célula |
---|
O exemplo a seguir produz um resultado vazio devido à entrada de nível inválida.
print s2cell = geo_point_to_s2cell(1,1,int(null))
Saída
s2célula |
---|