geo_point_to_s2cell()
Calcula o valor da cadeia de caracteres do token de célula S2 de um local geográfico.
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 tem bordas geodésicas. As células S2 fazem parte de uma hierarquia que divide a superfície da Terra. Eles têm um máximo de 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 cobertura de á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 elevados, o centro celular é bem preservado. Duas localizações geográficas podem ser 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 latitude y, a função não necessariamente retornará x e y.
Leia mais sobre a hierarquia de células do 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 da longitude em graus. O valor válido é um número real e está no intervalo [-180, +180]. |
latitude | real |
✔️ | Coordenada geoespacial, valor de 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 do token de célula S2 de um determinado local geográfico. 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 aleatório da borda da célula (Reino Unido) | Comprimento máximo da borda aleatória da célula (EUA) |
---|---|---|
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 milh | 2 km |
13 | 850 metros | 1225 milh |
14 | 425 milh | 613 milh |
15 | 212 milh | 306 milh |
16 | 106 metros | 153 milh |
17 | 53 metros | 77 milh |
18 | 27 metros | 38 metros |
19 | 13 metros | 19 metros |
20 | 7 metros | 10 m |
21 | 3 metros | 5min |
22 | 166 centímetros | 2 m |
23 | 83 centímetros | 120 centímetros |
24 | 41 centímetros | 60 centímetros |
25 | 21 centímetros | 30 centímetros |
26 | 10 centímetros | 15 centímetros |
27 | 5 centímetros | 7 centímetros |
28 | 2 centímetros | 4 centímetros |
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 Célula S2.
Para comparação com outros sistemas de grade disponíveis, consulte clustering geoespacial com Kusto Query Language.
Exemplos
Eventos de tempestade nos EUA agregados pela 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 | contagem | Locais |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
Resultados vazios
O exemplo a seguir produz um resultado vazio devido à entrada de coordenada 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 |
---|
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de