Funzione h3_uncompact
Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Annulla la conformità del set di input di celle H3 alla risoluzione specificata. Il set non compilato copre lo stesso set di celle H3 dell'originale usando celle alla risoluzione specificata.
Sintassi
h3_uncompact ( h3CellIdsExpr, resolutionExpr )
Argomenti
h3CellIdsExpr
: matrice di espressioni BIGINT o MATRICE di espressioni STRINGs esadecimali che rappresentano una matrice di ID cella H3.resolutionExpr
: espressione INTEGER, il cui valore deve essere compreso tra la risoluzione massima delle celle H3 di input e15
inclusiva, specificando la risoluzione degli ID di cella H3 nell'array di output.
Valori restituiti
Matrice di valori dello stesso tipo dei valori nell'espressione h3cellIdsExpr
ARRAY di input. La risoluzione degli ID di cella H3 nell'array di output è uguale al valore di resolutionExpr
.
La funzione restituisce NULL se l'input è NULL.
La funzione esegue la convalida parziale relativa al fatto che l'argomento di input sia un ID cella H3 valido. Una condizione necessaria, ma non sufficiente per un ID H3 valido è che il relativo valore è compreso tra 0x08001fffffffffff
e 0x08ff3b6db6db6db6
.
Il comportamento della funzione non è definito se uno degli ID di cella nell'array di input non è un ID di cella valido.
I valori NULL nella matrice di input vengono ignorati.
Condizioni di errore
- Se
h3CellIdExpr
è un valore STRING che non può essere convertito in bigint o corrisponde a un valore BIGINT minore o maggiore di0x08001fffffffffff
0x08ff3b6db6db6db6
, la funzione restituisce H3_INVALID_CELL_ID. - Se
resolutionExpr
è minore della risoluzione massima della cella H3 nell'array di input o maggiore di15
, la funzione restituisce H3_INVALID_RESOLUTION_VALUE.
Esempi
-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 5);
[599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,599686038138388479,599686039212130303,599686040285872127,599686041359613951,599686042433355775,599686043507097599,599686044580839423]
-- In this example we verify that uncompacting the compacted set of the 2-ring of an H3 cell at the cell’s resolution returns the original 2-ring.
> SELECT COUNT(*) FROM ((SELECT explode(h3_uncompact(h3_compact(h3_kring(599686042433355775, 2)), h3_resolution(599686042433355775)))) MINUS (SELECT explode(h3_kring(599686042433355775, 2))))
0
-- Second input is an invalid resolution value.
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 2);
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 2 must be between 5 and 15, inclusive