共用方式為


h3_uncompact函式

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

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

語法

h3_uncompact ( h3CellIdsExpr, resolutionExpr )

引數

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

退貨

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

如果輸入為 NULL,函式會傳回 NULL。 函式會針對輸入自變數是否為有效的 H3 單元格標識碼執行部分驗證。 作為有效 H3 識別符號的必要條件,但不是充分條件,其值必須介於 0x08001fffffffffff0x08ff3b6db6db6db6 之間。 如果輸入 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