geo_h3cell_rings()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Oblicza pierścienie komórek H3.
Przeczytaj więcej na temat komórki H3.
Składnia
geo_h3cell_rings(
odległość h3cell,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
h3cell | string |
✔️ | Wartość tokenu komórki H3 obliczona przez geo_point_to_h3cell(). |
odległość | int |
✔️ | Definiuje maksymalną odległość pierścienia od danej komórki. Prawidłowa odległość znajduje się w zakresie [0, 142]. |
Zwraca
Uporządkowana tablica tablic pierścieniowych, w której pierwszy pierścień zawiera oryginalną komórkę, drugi pierścień zawiera sąsiednie komórki itd. Jeśli komórka H3 lub odległość jest nieprawidłowa, zapytanie generuje wynik o wartości null.
Uwaga
- W przypadku tylko sąsiadów bezpośrednich komórek H3 zobacz geo_h3cell_neighbors().
- Komórka może nie być obecna w pierścieniu, jeśli napotkano zniekształcenie pentagonu.
Przykłady
Poniższy przykład tworzy pierścienie do odległości 2.
print rings = geo_h3cell_rings('861f8894fffffff', 2)
Wyjście
Pierścienie |
---|
[ ["861f8894fffff"], ["861f88947ff","861f8895fffffff","861f88867ff","861f8d497ff","861f8d4b7ff","861f8896fff"], ["861f88967ff","861f88977ff","861f88957ff","861f8882fff","861f8887ff","861f88847ff", "861f8886fffffff","861f8d49fff","861f8d487ff","861f8d4a7ff","861f8d59fff","861f8d597ff"] ] |
Poniższy przykład tworzy wszystkie komórki na poziomie 1 (wszystkie sąsiady).
print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]
Wyjście
Sąsiadów |
---|
["861f88947ffffff", "861f8895fffff", "861f88867ff", "861f8d497ff", "861f8d4b7ff","861f8896fff"] |
Poniższy przykład tworzy listę komórek ze wszystkich pierścieni.
print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on
(
summarize cells = make_list(rings)
)
Wyjście
Komórek |
---|
["861f8894fffffffff","861f88947ffffffff","861f8895fff","861f888867ff","861f8d497ffffffff","861f8d4b7ff","861f8896fffffff"] |
Poniższy przykład tworzy kolekcję geometrii GeoJSON wszystkich komórek.
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"))
Wyjście
geojson |
---|
{ "type": "Feature", "geometry": { "type": "GeometryCollection", "geometries": [ ... ... ]}, "properties": { "name": "H3 polygons collection" }} |
Poniższy przykład zwraca wartość true z powodu nieprawidłowej komórki.
print is_null = isnull(geo_h3cell_rings('abc', 3))
Wyjście
is_null |
---|
1 |
Poniższy przykład zwraca wartość true z powodu nieprawidłowej odległości.
print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))
Wyjście
is_null |
---|
1 |