geo_h3cell_rings()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula os anéis da célula H3.
Leia mais sobre o H3 Cell.
Sintaxe
geo_h3cell_rings(
h3distância da célula,
)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
h3cell | string |
✔️ | Um valor de token de célula H3 conforme calculado por geo_point_to_h3cell(). |
distance | int |
✔️ | Define a distância máxima do anel de uma determinada célula. A distância válida está dentro do intervalo [0, 142]. |
Devoluções
Uma matriz ordenada de matrizes de anéis em que o primeiro anel contém a célula original, o segundo anel contém células vizinhas e assim por diante. Se a célula H3 ou a distância for inválida, a consulta produzirá um resultado nulo.
Observação
- Apenas para vizinhos imediatos da célula H3, consulte geo_h3cell_neighbors().
- Uma célula pode não estar presente no anel se a distorção pentagonal for encontrada.
Exemplos
O exemplo a seguir produz anéis até a distância 2.
print rings = geo_h3cell_rings('861f8894fffffff', 2)
Saída
Anéis |
---|
[ ["861f8894fffffff"], ["861f88947ffffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"], ["861f88967ffffff","861f88977ffffff","861f88957ffffff","861f8882fffffff","861f88877ffffff","861f88847ffffff","861f8886fffffff","861f8d49fffffff","861f8d487ffffff","861f8d4a7ffffff","861f8d59fffffff","861f8d597ffffff"] ] |
O exemplo a seguir produz todas as células no nível 1 (todos os vizinhos).
print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]
Saída
Vizinhos |
---|
["861f88947ffffff", "861f8895fffffff", "861f88867ffffff", "861f8d497ffffff", "861f8d4b7ffffff","861f8896fffffff"] |
O exemplo a seguir produz uma lista de células de todos os anéis.
print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on
(
summarize cells = make_list(rings)
)
Saída
Células |
---|
["861f8894fffffff","861f88947ffffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f896fffffff","861f8896fffffff"] |
O exemplo a seguir monta a coleção de geometria GeoJSON de todas as células.
print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on
(
summarize make_list(rings)
)
| mv-expand list_rings to typeof(string)
| project polygon = geo_h3cell_to_polygon(list_rings)
| summarize polygon_lst = make_list(polygon)
| project geojson = bag_pack(
"type", "Feature",
"geometry", bag_pack("type", "GeometryCollection", "geometries", polygon_lst),
"properties", bag_pack("name", "H3 polygons collection"))
Saída
geojson |
---|
{ "type": "Recurso", "geometry": { "type": "GeometryCollection", "geometries": [ ... ... ... ]}, "properties": { "name": "Coleção de polígonos H3" }} |
O exemplo a seguir retorna true devido à célula inválida.
print is_null = isnull(geo_h3cell_rings('abc', 3))
Saída
is_null |
---|
1 |
O exemplo a seguir retorna true devido à distância inválida.
print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))
Saída
is_null |
---|
1 |