Sdílet prostřednictvím


Funkce h3_toparent

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í nadřazenou buňku H3 vstupní buňky H3 v zadaném rozlišení.

Syntaxe

h3_toparent ( 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 má být mezi 0 a h3_resolution(h3CellIdExpr) včetně, určuje rozlišení nadřazeného ID buňky H3.

Návraty

Hodnota stejného typu jako typ výrazu h3CellIdExpr odpovídající ID nadřazené buňky 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átí se vstupní 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šíh3_resolution(h3CellIdExpr), 0 vrátí funkce H3_INVALID_RESOLUTION_VALUE.

Příklady

-- Simple example taking a long as input.
> SELECT h3_toparent(599686042433355775, 0)
  577199624117288959

-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_toparent('85283473fffffff', 0)
  8029fffffffffff

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

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