geo_h3cell_rings()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula los anillos de celda H3.
Obtenga más información sobre la celda H3.
Sintaxis
geo_h3cell_rings(
distancia de h3cell,
)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
h3cell | string |
✔️ | Valor de token de celda H3 tal como se calculó geo_point_to_h3cell ().. |
distance | int |
✔️ | Define la distancia máxima del anillo de la celda dada. La distancia válida está en el intervalo [0, 142]. |
Devoluciones
Matriz ordenada de matrices de anillos donde el primer anillo contiene la celda original, el segundo anillo contiene celdas vecinas, etc. Si la celda H3 o la distancia no son válidas, la consulta genera un resultado nulo.
Nota:
- Solo para los vecinos inmediatos de H3 Cell, consulte geo_h3cell_neighbors().
- Es posible que una celda no esté presente en el anillo si se encontró distorsión del pentágono.
Ejemplos
En el ejemplo siguiente se generan anillos hasta la distancia 2.
print rings = geo_h3cell_rings('861f8894fffffff', 2)
Salida
Anillos |
---|
[ ["861f8894fffff"], ["861f88947ffffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffff"], ["861f88967ffffff","861f88977ffffff","861f88957ffffff","861f8882fffff","861f8887ffffff","861f88847ffffff",""861f8886fffff","861f8d49fffff","861f8d487ffffff","861f8d4a7ffffff","861f8d59fffff","861f8d597ffff"] ] |
En el ejemplo siguiente se generan todas las celdas en el nivel 1 (todos los vecinos).
print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]
Salida
Vecinos |
---|
["861f88947ffffff", "861f8895fffffff", "861f88867ffffff", "861f8d497ffffff", "861f8d4b7ffffff","861f8896fffff"] |
En el ejemplo siguiente se genera una lista de celdas de todos los anillos.
print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on
(
summarize cells = make_list(rings)
)
Salida
células |
---|
["861f8894fffff","861f88947ffffff","861f8895fffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"] |
En el ejemplo siguiente se ensambla la colección de geometría GeoJSON de todas las celdas.
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"))
Salida
geojson |
---|
{ "type": "Feature", "geometry": { "type": "GeometryCollection", "geometries": [ ... ... ... ]}, "properties": { "name": "H3 polygons collection" }} |
En el ejemplo siguiente se devuelve true debido a la celda no válida.
print is_null = isnull(geo_h3cell_rings('abc', 3))
Salida
is_null |
---|
1 |
En el ejemplo siguiente se devuelve true debido a la distancia no válida.
print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))
Salida
is_null |
---|
1 |