Partager via


geo_h3cell_rings()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcule les anneaux de cellule H3.

En savoir plus sur la cellule H3.

Syntaxe

geo_h3cell_rings(distance h3cell,)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
h3cell string ✔️ Valeur de jeton de cellule H3 telle qu’elle a été calculée par geo_point_to_h3cell().
distance int ✔️ Définit la distance d’anneau maximale de la cellule donnée. La distance valide est comprise entre [0, 142].

Retours

Tableau ordonné de tableaux d’anneaux où le premier anneau contient la cellule d’origine, le deuxième anneau contient des cellules voisines, et ainsi de suite. Si la cellule H3 ou la distance n’est pas valide, la requête produit un résultat null.

Remarque

  • Pour les voisins immédiats de la cellule H3 uniquement, consultez geo_h3cell_neighbors().
  • Une cellule peut ne pas être présente dans l’anneau si une distorsion pentagoneale a été rencontrée.

Exemples

L’exemple suivant produit des anneaux jusqu’à la distance 2.

print rings = geo_h3cell_rings('861f8894fffffff', 2)

Sortie

anneaux
[
["861f8894fffffff"],
["861f88947ffffff »,"861f8895fffff »,"861f88867ff »,"861f8d497ffffff »,"861f8d4b7ff »,"861f8896fffff"],
["861f88967ffffff »,"861f8897ffffff »,"861f88957ff »,"861f8882fff »,"861f87ff »,"861f8ff »,"861f88847ffffff »,"861f8847ffffff », « 861f8886fff »,"861f8d49fffffff »,"861f8d487ff »,"861f8d4a7ffffff »,"861f8d59fff »,"861f8d597ffffff"]
]

L’exemple suivant produit toutes les cellules au niveau 1 (tous les voisins).

print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]

Sortie

voisins
["861f88947ffffff », « 861f8895fffffff », « 861f88867ff », « 861f8d497ff », « 861f8d4b7ff »,"861f8896fffff"]

L’exemple suivant génère la liste des cellules de tous les anneaux.

print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on 
(
  summarize cells = make_list(rings)
)

Sortie

Cellules
["861f8894fffffff »,"861f88947ffffff »,"861f8895fffffff »,"861f888867ffffff »,"861f8d497ffffff »,"861f8d4b7ffffff »,"861f8896fff"]

L’exemple suivant assemble la collection géométrique GeoJSON de toutes les cellules.

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"))

Sortie

geojson
{ « type » : « Feature », « geometry » : { « type » : « GeometryCollection », « geometries » : [ ... ...}, « properties » : { « name » : « H3 polygons collection » }}

L’exemple suivant retourne true en raison de la cellule non valide.

print is_null = isnull(geo_h3cell_rings('abc', 3))

Sortie

is_null
1

L’exemple suivant retourne true en raison de la distance non valide.

print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))

Sortie

is_null
1