h3_maxchild 函数

以指定的分辨率返回输入 H3 单元格的最大值的子项。

适用于:勾选“是” Databricks SQL 预览版 勾选“是” Databricks Runtime 11.3 LTS 及更高版本

语法

h3_maxchild ( h3cellIdExpr, resolutionExpr )

参数

  • h3CellIdExpr:表示 H3 单元格 ID 的 BIGINT 表达式或十六进制 STRING 表达式。
  • resolutionExpr:一个 INT 表达式,其值应介于 h3_resolution(h3CellIdExpr)15 之间(含),它指定子 H3 单元格 ID 的分辨率。

返回

h3CellIdExpr 表达式类型相同的类型的值,对应于指定分辨率下输入 H3 单元格 ID 的最大值的子项。

如果两个输入表达式中有任何一个为 NULL,则该函数返回 NULL。 该函数对输入参数是否为有效的 H3 单元格 ID 进行部分验证。 有效 H3 ID 的必要不充分条件是其值介于 0x08001fffffffffff0x08ff3b6db6db6db6 之间。 如果输入单元格 ID 不是有效的单元格 ID,则表示该函数的行为未定义。 如果 resolutionExpr 的值等于输入 H3 单元格 ID 的分辨率,则返回输入 H3 单元格 ID。

错误条件

  • 如果 h3CellIdExpr 是无法转换为 BIGINT 的 STRING 或对应于小于 0x08001fffffffffff 或大于 0x08ff3b6db6db6db6 的 BIGINT 值,则该函数返回 H3_INVALID_CELL_ID
  • 如果 resolutionExpr 小于 h3_resolution(h3CellIdExpr) 或大于 15,则该函数返回 H3_INVALID_RESOLUTION_VALUE

示例

-- Simple example taking a long as input.
> SELECT h3_maxchild(599686042433355775, 10)
  622204040416821247

-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_maxchild('85283473fffffff', 10)
  8a2834736db7fff

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

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