次の方法で共有


h3_kring 関数

適用対象: check marked yes 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 に対応します。kkExpr の値です。

いずれかの入力式が NULL の場合、この関数は NULL を返します。 この関数は、入力引数が有効な H3 セル ID であるかどうかに関する部分的な検証を行います。 有効な H3 ID の必要条件 (ただし、十分条件ではない) は、その値が 0x08001fffffffffff0x08ff3b6db6db6db6 の間にあることです。 入力セル 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