Udostępnij za pośrednictwem


geo_h3cell_rings()

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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