共用方式為


h3_hexring 函式

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

會傳回 H3 單元格陣列,該儲存格形成以原 H3 儲存格置中置中且距離原 H3 單元格的網格線距離 k 的空心六邊環。

語法

h3_hexring ( h3CellIdExpr, kExpr )

引數

  • h3CellIdExpr:BIGINT 運算式,或代表 H3 單元格標識符的十六進位 STRING 運算式。
  • kExpr:代表網格線距離的 INTEGER 運算式。 kExpr 必須是非負數。

傳回

與表達式類型 h3CellIdExpr 相同的值陣列,對應至與輸入H3單元格具有相同解析度的H3單元格標識符,並且形成位於距離 k原H3單元格的空心環形,其中 k 是的值 kExpr

如果任一輸入表達式為 NULL,此函式會傳回 NULL。 函式會針對輸入自變數是否為有效的 H3 單元格標識碼執行部分驗證。 有效 H3 識別符的必要條件,但沒有足夠的條件是其值介於和0x08ff3b6db6db6db6之間0x08001fffffffffff。 如果輸入儲存格標識碼不是有效的儲存格標識碼,則函式的行為是未定義的。 如果方格距離的值為零,傳回的陣列會包含等於輸入 H3 單元格標識碼的單一值。

錯誤狀況

範例

-- Simple example where the first argument is a BIGINT.
> SELECT h3_hexring(599686042433355775, 1)
  [599686014516068351,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175]

-- Simple example where the first argument is a STRING.
> SELECT h3_hexring('85283473fffffff', 1)
  [8528340bfffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff]

-- First input is an invalid H3 cell ID.
> SELECT h3_hexring(0, 0)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid grid distance value.
> SELECT h3_hexring('85283473fffffff', -1)
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative

-- The input cell is a hexagonal cell adjacent to a pentagonal cell (the 2-ring of the hexagonal cell contains the pentagon).
> SELECT H3_HexRing('8007fffffffffff', 2)
  [H3_PENTAGON_ENCOUNTERED_ERROR] A pentagon was encountered while computing the hex ring of '8007fffffffffff' with grid distance 2