h3_kring
関数
適用対象: Databricks SQL Databricks Runtime 11.3 LTS 以降
元のセルの (グリッド) 距離 k
内にある H3 セルを返します。 これらの H3 セルのセットは、元のセルの k
-ring と呼ばれます。
構文
h3_kring ( h3CellIdExpr, kExpr )
引数
h3CellIdExpr
: H3 セル ID を表す BIGINT 式または 16 進数の STRING 式。kExpr
: グリッド距離を表す INTEGER 式。kExpr
は負以外でなければなりません。
戻り値
h3CellIdExpr
式の型と同じ型の値の配列。入力 H3 セルと同じ解像度を持ち、入力 H3 セルのグリッド距離 k
内にある H3 セル ID に対応します。k
は kExpr
の値です。
いずれかの入力式が NULL の場合、この関数は NULL を返します。
この関数は、入力引数が有効な H3 セル ID であるかどうかに関する部分的な検証を行います。 有効な H3 ID の必要条件 (ただし、十分条件ではない) は、その値が 0x08001fffffffffff
と 0x08ff3b6db6db6db6
の間にあることです。
入力セル ID が有効なセル ID でない場合、関数の動作は未定義です。
グリッド距離の値が 0 の場合、返される配列には入力 H3 セル ID と等しい 1 つの値が含まれます。
エラー条件
h3CellIdExpr
が BIGINT に変換できない STRING の場合、または、0x08001fffffffffff
より小さいか0x08ff3b6db6db6db6
より大きい BIGINT 値に対応する STRING の場合、関数は 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