Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen
Gäller för:
Databricks SQL
Databricks Runtime 11.3 LTS och senare
Packar upp indata set av H3-celler till den specificerade upplösningen. Den okomprimerade set täcker samma set av H3-celler som den ursprungliga, med hjälp av celler vid angiven upplösning.
Syntax
h3_uncompact ( h3CellIdsExpr, resolutionExpr )
Argument
-
h3CellIdsExpr: En MATRIS med BIGINTs-uttryck eller en MATRIS med hexadecimala STRING:er som representerar en matris med H3-cell-ID:er. -
resolutionExpr: Ett INTEGER-uttryck, vars värde förväntas ligga mellan den maximala upplösningen för H3-indatacellerna och15inkluderande, som anger upplösningen för H3-cell-ID:erna i utdataMATRISen.
Returer
En MATRIS med values av samma typ som values i indata-ARRAY-uttrycket h3cellIdsExpr. Upplösningen för H3-cell-ID:erna i utdataMATRISen är lika med värdet för resolutionExpr.
Funktionen returnerar NULL om indata är NULL.
Funktionen validerar delvis om indataargumentet är ett giltigt H3-cell-ID. Ett nödvändigt men inte tillräckligt villkor för ett giltigt H3-ID är att dess värde är mellan 0x08001fffffffffff och 0x08ff3b6db6db6db6.
Funktionens beteende är odefinierat om något av cell-ID:na i indataMATRISen inte är ett giltigt cell-ID.
NULL-values i inmatningsmatrisen ignoreras.
Feltillstånd
- Om
h3CellIdExprär en STRÄNG som inte kan konverteras till en BIGINT eller motsvarar ett BIGINT-värde som är mindre än eller större än0x08001fffffffffff0x08ff3b6db6db6db6returnerar funktionen H3_INVALID_CELL_ID. - Om
resolutionExprär mindre än den maximala upplösningen för H3-cellen i indataMATRISen, eller större än15, returnerar funktionen H3_INVALID_RESOLUTION_VALUE.
Exempel
-- 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