共用方式為


h3_uncompact 函式

適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime 11.3 LTS 和更新版本

將 H3 儲存格的輸入集分解為指定的解析度。 未編譯的集合涵蓋與使用指定解析度之單元格的原始 H3 單元格集相同。

語法

h3_uncompact ( h3CellIdsExpr, resolutionExpr )

引數

  • h3CellIdsExpr:BIGINTs 表達式的ARRAY,或代表 H3 單元格標識符陣列的十六進位 STRINGs 運算式數位。
  • resolutionExpr:INTEGER 運算式,其值預期介於輸入 H3 單元格的最大解析度與 15 內含之間,指定輸出 ARRAY 中 H3 單元格標識碼的解析度。

傳回

與輸入ARRAY運算式 h3cellIdsExpr中的值相同型別值的ARRAY。 輸出 ARRAY 中 H3 單元格識別碼的解析度等於的值 resolutionExpr

如果輸入為 NULL,函式會傳回 NULL。 函式會針對輸入自變數是否為有效的 H3 單元格標識碼執行部分驗證。 有效 H3 識別符的必要條件,但沒有足夠的條件是其值介於和0x08ff3b6db6db6db6之間0x08001fffffffffff。 如果輸入 ARRAY 中的任何儲存格識別碼不是有效的儲存格標識碼,函式的行為就不會定義。 輸入陣列中的NULL值會被忽略。

錯誤狀況

  • 如果 h3CellIdExpr 是無法轉換成 BIGINT 的 STRING,或對應至小於 0x08001fffffffffff 或大於 0x08ff3b6db6db6db6的 BIGINT 值,則函式會 傳回H3_INVALID_CELL_ID
  • 如果 resolutionExpr 小於輸入ARRAY中H3儲存格的最大解析度,或大於 15,則函式會 傳回H3_INVALID_RESOLUTION_VALUE

範例

-- 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