Sdílet prostřednictvím


Funkce h3_tochildren

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší

Vrátí pole podřízených buněk H3 vstupní buňky H3 v zadaném rozlišení.

Syntaxe

h3_tochildren ( h3cellIdExpr, resolutionExpr )

Argumenty

  • h3CellIdExpr: Výraz BIGINT nebo šestnáctkový výraz STRING představující ID buňky H3.
  • resolutionExpr: Výraz INT, jehož hodnota by měla být mezi h3_resolution(h3CellIdExpr) a 15 včetně, určuje rozlišení ID podřízených buněk H3.

Návraty

POLE hodnot stejného typu jako typ výrazu h3CellIdExpr odpovídající ID podřízených buněk H3 vstupní buňky H3 v zadaném rozlišení.

Funkce vrátí hodnotu NULL, pokud některý ze dvou vstupních výrazů má hodnotu NULL. Funkce provádí částečné ověření týkající se toho, jestli je vstupním argumentem platné ID buňky H3. Nezbytným, ale ne dostatečným předpokladem platného ID H3 je, že jeho hodnota je mezi 0x08001fffffffffff a 0x08ff3b6db6db6db6. Chování funkce není definováno, pokud id vstupní buňky není platné ID buňky. Pokud je hodnota resolutionExpr rovna rozlišení vstupního ID buňky H3, vrácená matice obsahuje jednu hodnotu, která se rovná vstupnímu ID buňky H3.

Chybové podmínky

  • Pokud h3CellIdExpr je řetězec, který nelze převést na BIGINT nebo odpovídá hodnotě BIGINT, která je menší nebo větší než 0x08001fffffffffff 0x08ff3b6db6db6db6, vrátí funkce H3_INVALID_CELL_ID.
  • Pokud resolutionExpr je menší než nebo větší15, h3_resolution(h3CellIdExpr) vrátí funkce H3_INVALID_RESOLUTION_VALUE.

Příklady

-- Simple example taking a long as input.
> SELECT h3_tochildren(599686042433355775, 6)
  [604189641121202175,604189641255419903,604189641389637631,604189641523855359,604189641658073087,604189641792290815,604189641926508543]

-- Simple example taking a hexadecimal string as input.
> SELECT h3_tochildren('85283473fffffff', 6)
  [862834707ffffff,86283470fffffff,862834717ffffff,86283471fffffff,862834727ffffff,86283472fffffff,862834737ffffff]

-- First input is an invalid H3 cell ID.
> SELECT h3_tochildren(0, 15)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid resolution value.
> SELECT h3_tochildren('85283473fffffff', 0)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 0 must be between 5 and 15, inclusive