h3_kring
函式
適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
傳回原儲存格在 (grid) 距離 k
內的 H3 儲存格。 這些 H3 儲存格的集合稱為 k
源數據格的 -ring。
語法
h3_kring ( h3CellIdExpr, kExpr )
引數
h3CellIdExpr
:BIGINT 運算式,或代表 H3 單元格標識符的十六進位 STRING 運算式。kExpr
:代表網格線距離的 INTEGER 運算式。kExpr
必須是非負數。
傳回
與表達式類型 h3CellIdExpr
相同的值數位,對應至與輸入 H3 單元格相同解析度的 H3 單元格標識碼,且位於輸入 H3 單元格的方格距離 k
內,其中 k
是 的值 kExpr
。
如果任一輸入表達式為 NULL,此函式會傳回 NULL。
函式會針對輸入自變數是否為有效的 H3 單元格標識碼執行部分驗證。 有效 H3 識別符的必要條件,但沒有足夠的條件是其值介於和0x08ff3b6db6db6db6
之間0x08001fffffffffff
。
如果輸入儲存格標識碼不是有效的儲存格標識碼,則函式的行為是未定義的。
如果方格距離的值為零,傳回的陣列會包含等於輸入 H3 單元格標識碼的單一值。
錯誤條件
- 如果
h3CellIdExpr
是無法轉換成 BIGINT 的 STRING,或對應至小於0x08001fffffffffff
或大於0x08ff3b6db6db6db6
的 BIGINT 值,則函式會 傳回H3_INVALID_CELL_ID。 - 如果
kExpr
為負數,則函式會傳 回H3_INVALID_GRID_DISTANCE_VALUE。
範例
-- Simple example where the first argument is a BIGINT.
> SELECT h3_kring(599686042433355775, 1)
[599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351]
-- Simple example where the first argument is a STRING.
> SELECT h3_kring('85283473fffffff', 1)
[85283473fffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff,8528340bfffffff]
-- First input is an invalid H3 cell ID.
> SELECT h3_kring(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid grid distance value.
> SELECT h3_kring('85283473fffffff', -1)
[H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative