Поделиться через


Функция h3_toparent

Область применения: флажок Databricks SQL флажок Databricks Runtime 11.3 LTS и выше

Возвращает родительскую ячейку H3 входной ячейки H3 в указанном разрешении.

Синтаксис

h3_toparent ( h3cellIdExpr, resolutionExpr )

Аргументы

  • h3CellIdExpr: выражение BIGINT или шестнадцатеричное строковое выражение, представляющее идентификатор ячейки H3.
  • resolutionExpr: выражение INT, значение которого должно находиться в диапазоне от 0 до h3_resolution(h3CellIdExpr) включительно, указывающее разрешение идентификатора родительской ячейки H3.

Возвраты

Значение того же типа, что и тип выражения h3CellIdExpr, соответствующий идентификатору родительской ячейки H3 входной ячейки H3 в указанном разрешении.

Функция возвращает значение NULL, если любое из этих двух входных выражений равно NULL. Функция выполняет частичную проверку, является ли входной аргумент действительным идентификатором ячейки H3. Необходимое, но недостаточное условие для допустимого идентификатора H3 заключается в том, что его значение находится в диапазоне от 0x08001fffffffffff до 0x08ff3b6db6db6db6. Поведение функции не определено, если идентификатор входной ячейки не является допустимым идентификатором ячейки. Если значение resolutionExpr равно разрешению входного идентификатора ячейки H3, возвращается входной идентификатор ячейки H3.

Условия ошибок

  • Если h3CellIdExpr — это строка, которая не может быть преобразована в BIGINT или соответствует значению BIGINT, которое меньше 0x08001fffffffffff или больше 0x08ff3b6db6db6db6, функция возвращает H3_INVALID_CELL_ID.
  • Если значение resolutionExpr меньше 0 или больше h3_resolution(h3CellIdExpr), функция возвращает H3_INVALID_RESOLUTION_VALUE.

Примеры

-- Simple example taking a long as input.
> SELECT h3_toparent(599686042433355775, 0)
  577199624117288959

-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_toparent('85283473fffffff', 0)
  8029fffffffffff

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

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