Funkce h3_toparent
Platí pro: Databricks SQL 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 mezi0
ah3_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