h3_distance
関数
適用対象: Databricks SQL Databricks Runtime 11.3 LTS 以降
2 つの入力 H3 セル ID のグリッド距離を返します。
構文
h3_distance ( h3CellId1Expr, h3CellId2Expr )
引数
h3CellId1Expr
: H3 セル ID を表す BIGINT 式または 16 進数の STRING 式。h3CellId2Expr
: H3 セル ID を表す BIGINT 式または 16 進数の STRING 式。
戻り値
同じ解像度を持つと思われる 2 つの入力 H3 セルのグリッド距離である BIGINT 値。
いずれかの入力式が NULL の場合、この関数は NULL を返します。
この関数は、入力引数が有効な H3 セル ID であるかどうかに関する部分的な検証を行います。 有効な H3 ID の必要条件 (ただし、十分条件ではない) は、その値が 0x08001fffffffffff
と 0x08ff3b6db6db6db6
の間にあることです。
2 つの入力セル ID のいずれかが有効なセル ID でない場合、関数の動作は未定義です。
エラー条件
h3CellId1Expr
またはh3CellId2Expr
が BIGINT に変換できない STRING の場合、または、0x08001fffffffffff
より小さいか0x08ff3b6db6db6db6
より大きい BIGINT 値に対応する STRING の場合、関数は H3_INVALID_CELL_ID を返します。- グリッド距離が未定義の場合、関数は H3_UNDEFINED_GRID_DISTANCE を返します。 グリッド距離は、次のいずれかの理由で未定義にすることができます。
- 2 つの入力 H3 セルの解像度が異なる。
- 2 つの入力 H3 セルのいずれか 1 つが五角形セルである。
- 2 つの H3 セルが五角形セルによって分離される。
- 2 つの H3 セルが互いに離れすぎている。
例
-- Example where the two arguments are BIGINTs representing H3 cells.
> SELECT h3_distance(599686030622195711, 599686015589810175);
2
-- Example where the two arguments are hexadecimal STRINGs representing H3 cells.
> SELECT h3_distance('85283447fffffff', '8528340ffffffff')
2
-- Example of two cells that too far apart from each other.
> SELECT h3_distance(h3_longlatash3(-120, 45, 13), h3_longlatash3(120, 45, 13))
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 635723017894513407 and 635869868887430591 is undefined
-- Example of two cells with different resolutions.
> SELECT h3_distance(h3_longlatash3(120, 45, 13), h3_longlatash3(120, 45, 12));
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 635869868887430591 and 631366269260060159 is undefined
-- First cell ID is a pentagon.
> SELECT h3_distance(590112357393367039, 590678880759578623)
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 590112357393367039 and 590678880759578623 is undefined
-- Distance between two hexagons separated by a pentagon.
> SELECT h3_distance(590112494832320511, 590112632271273983)
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 590112494832320511 and 590112632271273983 is undefined