h3_compact函數

適用於:勾選“是”磚的SQL勾選“是”Databricks運行時11.2及以上

壓縮H3單元格的輸入集。壓縮集涵蓋了與原始集相同的H3細胞集。

語法

h3_compacth3CellIdsExpr

參數

  • h3CellIdsExpr: ARRAY of bigint表達式,或ARRAY of十六進製string表達式,表示H3單元格id數組。

返回

由H3單元格id組成的ARRAY,其類型與輸入ARRAY表達式中的值相同h3CellIdsExpr

如果輸入為NULL,則函數返回NULL。該函數對輸入參數是否為有效的H3單元格ID進行部分驗證。一個有效H3 ID的必要但不是充分條件是它的值在0 x08001fffffffffff而且0 x08ff3b6db6db6db6.如果輸入ARRAY中的任何單元格ID不是有效的單元格ID,則該函數的行為是未定義的。輸入數組中的NULL值將被忽略。

錯誤條件

  • 如果h3CellIdExpr是一個不能轉換為BIGINT或對應的BIGINT值小於0 x08001fffffffffff或者大於0 x08ff3b6db6db6db6,函數返回H3_INVALID_CELL_ID

例子

輸入是bigint數組的例子>選擇h3_compact數組599686042433355775599686030622195711599686044580839423599686038138388479599686043507097599599686015589810175599686014516068351599686034917163007599686029548453887599686032769679359599686198125920255599686040285872127599686041359613951599686039212130303599686023106002943599686027400970239599686013442326527599686012368584703599686018811035647));599686030622195711599686015589810175599686014516068351599686034917163007599686029548453887599686032769679359599686198125920255599686023106002943599686027400970239599686013442326527599686012368584703599686018811035647595182446027210751輸入是十六進製字符串數組的例子>選擇h3_compact數組“85283473 fffffff”“85283447 fffffff”“8528347 bfffffff”“85283463 fffffff”“85283477 fffffff”“8528340 ffffffff”“8528340 bfffffff”“85283457 fffffff”“85283443 fffffff”“8528344 ffffffff”“852836 b7fffffff”“8528346 bfffffff”“8528346 ffffffff”“85283467 fffffff”“8528342 bfffffff”“8528343 bfffffff”“85283407 fffffff”“85283403 fffffff”“8528341 bfffffff”));85283447fffffff8528340ffffffff8528340bfffffff85283457fffffff85283443fffffff8528344ffffffff852836b7fffffff8528342bfffffff8528343bfffffff85283407fffffff85283403fffffff8528341bfffffff8428347ffffffff—輸入ARRAY由單個元素組成的示例(因此不能進一步壓縮)。>選擇h3_compact數組“85283473 fffffff”));85283473fffffff—例如,我們比較H3細胞的2環與其壓縮版本的大小。>選擇ARRAY_SIZEh3_kring5996860424333557752)),ARRAY_SIZEh3_compacth3_kring5996860424333557752)))1913一個單元格id超出範圍的例子。>選擇h3_compact數組5996860424333557750))H3_INVALID_CELL_ID0一個有效的H3細胞ID