Sdílet prostřednictvím


geo_h3cell_rings()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Vypočítá prstence buňky H3.

Přečtěte si další informace o buňce H3.

Syntaxe

geo_h3cell_rings(h3cell,vzdálenost)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
h3cell string ✔️ Hodnota tokenu buňky H3 vypočítaná geo_point_to_h3cell ().
vzdálenost int ✔️ Definuje maximální vzdálenost kruhu od dané buňky. Platná vzdálenost je v rozsahu [0, 142].

Návraty

Uspořádaná matice kruhových matic, kde první prstenec obsahuje původní buňku, druhý prstenec obsahuje sousední buňky atd. Pokud je buňka H3 nebo vzdálenost neplatná, dotaz vytvoří výsledek null.

Poznámka:

  • Pouze u sousedních buněk H3 najdete geo_h3cell_neighbors().
  • Buňka nemusí být v kroužku přítomna, pokud došlo k narušení pětiúhelníku.

Příklady

Následující příklad vytvoří kroužky až do vzdálenosti 2.

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

Výstup

zvoní
[
["861f8894fffff"],
["861f88947ffff","861f8895fffffff","861f8867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"],
["861f88967ffff","861f8897ffff","861f8957ffffff","861f8882fffffff","861f8877ffffff","861f8888847ffffff","861f8847ffff",". "861f886fffff","861f8d49fffff","861f887ffffff","861f8d4a7ffffff","861f8d59fffffff","861f8d597ffffff"]
]

Následující příklad vytvoří všechny buňky na úrovni 1 (všechny sousedy).

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

Výstup

sousedé
["861f88947ffffff", "861f8895fffffff", "861f8867ffffff", "861f8d497ffffff", "861f8d4b7ffffff","861f8896fffffff"]

Následující příklad vytvoří seznam buněk ze všech kroužků.

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

Výstup

buňky
["861f8894fffffff","861f88947ffff","861f895fffffff","861f888867ffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffff"]

Následující příklad sestaví geometrii GeoJSON kolekce všech buněk.

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

Výstup

geojson
{ "type": "Feature", "geometry": { "type": "GeometryCollection", "geometrie": [ ... ... ... ... ]}, "properties": { "name": "H3 polygons collection" }}

Následující příklad vrátí hodnotu true kvůli neplatné buňce.

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

Výstup

is_null
0

Následující příklad vrátí hodnotu true z důvodu neplatné vzdálenosti.

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

Výstup

is_null
0