Partilhar via


geo_h3cell_rings()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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