geo_h3cell_rings()

Vypočítá prstence buněk H3.

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

Syntax

geo_h3cell_rings(h3cell,Vzdálenost)

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

Parametry

Název Typ Vyžadováno Popis
h3cell string ✔️ Hodnota tokenu buňky H3 vypočítaná pomocí 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

Seřazené pole prstencový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 vygeneruje výsledek null.

Poznámka

  • Pouze bezprostřední sousedé buňky H3 najdete v tématu geo_h3cell_neighbors().
  • Buňka nemusí být v prstenci přítomna, pokud bylo zjištěno pětiúhelníkové zkreslení.

Příklady

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

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

Výstup

Kroužky
[
["861f8894fffffff"],
["861f88947ffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"],
["861f88967ffff","861f88977ffff","861f88957ffff","861f8882fffffff","861f8887ffffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f88847ffff","861f"861f8886fffffff","861f8d49fffffff","861f8d487ffffff","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

Sousedy
["861f88947ffffff", "861f8895fffffff", "861f88867ffffff", "861f8d497ffffff", "861f8d4b7ffffff","861f8896fffffff"]

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

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

Výstup

Buňky
["861f8894fffffff","861f88947ffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"]

Následující příklad sestaví kolekci geometrie GeoJSON 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", "geometries": [ ... ... ... ]}, "properties": { "name": "H3 polygons collection" }}

Následující příklad vrátí hodnotu true z důvodu neplatné buňky.

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

Výstup

is_null
1

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
1