Condividi tramite


Funzione h3_uncompact

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì 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 e 15 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 h3cellIdsExprARRAY 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 di 0x08001fffffffffff 0x08ff3b6db6db6db6, la funzione restituisce H3_INVALID_CELL_ID.
  • Se resolutionExpr è minore della risoluzione massima della cella H3 nell'array di input o maggiore di 15, 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