Функция h3_tochildren
Область применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
Возвращает массив дочерних ячеек H3 входной ячейки H3 в указанном разрешении.
Синтаксис
h3_tochildren ( h3cellIdExpr, resolutionExpr )
Аргументы
-
h3CellIdExpr
: выражение BIGINT или шестнадцатеричное строковое выражение, представляющее идентификатор ячейки H3. -
resolutionExpr
: выражение INT, значение которого должно находиться в диапазоне отh3_resolution(h3CellIdExpr)
до15
включительно, указывающее разрешение идентификаторов дочерних ячеек H3.
Возвраты
Массив values того же типа, что и тип выражения h3CellIdExpr
, соответствующий идентификаторам дочерних ячеек H3 для входной ячейки H3 на указанном разрешении.
Функция возвращает значение NULL, если любое из этих двух входных выражений равно NULL.
Функция выполняет частичную проверку, является ли входной аргумент действительным идентификатором ячейки H3. Необходимое, но недостаточное условие для допустимого идентификатора H3 заключается в том, что его значение находится в диапазоне от 0x08001fffffffffff
до 0x08ff3b6db6db6db6
.
Поведение функции не определено, если идентификатор входной ячейки не является допустимым идентификатором ячейки.
Если значение resolutionExpr
равно разрешению идентификатора входной ячейки H3, возвращаемый массив содержит одно значение, равное идентификатору входной ячейки H3.
Условия ошибок
- Если
h3CellIdExpr
— это строка, которая не может быть преобразована в BIGINT или соответствует значению BIGINT, которое меньше0x08001fffffffffff
или больше0x08ff3b6db6db6db6
, функция возвращает H3_INVALID_CELL_ID. - Если значение
resolutionExpr
меньшеh3_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