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 的必要不充分条件是其值介于 0x08001fffffffffff
和 0x08ff3b6db6db6db6
之间。
如果输入单元格 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