次の方法で共有


h3_tochildren 関数

適用対象: check marked yes Databricks SQL Databricks Runtime 11.3 LTS 以降

指定した解像度の入力 H3 セルの子 H3 セルの配列を返します。

構文

h3_tochildren ( h3cellIdExpr, resolutionExpr )

引数

  • h3CellIdExpr: H3 セル ID を表す BIGINT 式または 16 進数の STRING 式。
  • resolutionExpr: 子 H3 セル ID の解像度を指定し、値が h3_resolution(h3CellIdExpr)15 の間であると想定される INT 式。

戻り値

指定した解像度の入力 H3 セルの子 H3 セル ID に対応する、h3CellIdExpr 式の型と同じ型の値の配列。

2 つの入力式のいずれかが NULL の場合、この関数は NULL を返します。 この関数は、入力引数が有効な H3 セル ID であるかどうかに関する部分的な検証を行います。 有効な H3 ID の必要条件 (ただし、十分条件ではない) は、その値が 0x08001fffffffffff0x08ff3b6db6db6db6 の間にあることです。 入力セル ID が有効なセル ID でない場合、関数の動作は未定義です。 resolutionExpr の値が入力 H3 セル ID の解像度と等しい場合、返される配列には入力 H3 セル ID と等しい単一の値が含まれます。

エラー条件

  • h3CellIdExpr が BIGINT に変換できない STRING の場合、または、0x08001fffffffffff より小さいか 0x08ff3b6db6db6db6 より大きい BIGINT 値に対応する STRING の場合、関数は H3_INVALID_CELL_ID を返します。
  • resolutionExprh3_resolution(h3CellIdExpr) より小さいか 15 より大きい場合、関数は H3_INVALID_RESOLUTION_VALUE を返します。

-- Simple example taking a long as input.
> SELECT h3_tochildren(599686042433355775, 6)
  [604189641121202175,604189641255419903,604189641389637631,604189641523855359,604189641658073087,604189641792290815,604189641926508543]

-- Simple example taking a hexadecimal string as input.
> SELECT h3_tochildren('85283473fffffff', 6)
  [862834707ffffff,86283470fffffff,862834717ffffff,86283471fffffff,862834727ffffff,86283472fffffff,862834737ffffff]

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

-- Second input is an invalid resolution value.
> SELECT h3_tochildren('85283473fffffff', 0)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 0 must be between 5 and 15, inclusive