Función h3_toparent
Se aplica a Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Esta función se usa para obtener la celda H3 primaria de la celda H3 de entrada en la resolución que se especifique.
Sintaxis
h3_toparent ( h3cellIdExpr, resolutionExpr )
Argumentos
h3CellIdExpr
: expresión BIGINT o expresión STRING hexadecimal que representa un identificador de celda H3.resolutionExpr
: expresión INT cuyo valor se espera que esté entre0
yh3_resolution(h3CellIdExpr)
(incluidos). Se usa para especificar la resolución de los id. de la celda H3 primaria.
Devoluciones
Un valor del mismo tipo que el de la expresión h3CellIdExpr
, que se corresponde con el id. de la celda H3 primaria de la celda H3 de entrada en la resolución que se especifique.
La función devuelve NULL si alguna de las dos expresiones de entrada es NULL.
La función realiza una validación parcial con respecto a si el argumento de entrada es un identificador de celda H3 válido. Una condición necesaria, pero no suficiente para un identificador H3 válido es que su valor está entre 0x08001fffffffffff
y 0x08ff3b6db6db6db6
.
El comportamiento de la función no está definido si el identificador de celda de entrada no es un identificador de celda válido.
Si el valor de resolutionExpr
es igual a la resolución del id. de la celda H3 de entrada, se devolverá el id. de la celda H3 de entrada.
Condiciones de error
- Si
h3CellIdExpr
es una cadena que no se puede convertir en BIGINT o corresponde a un valor BIGINT menor que0x08001fffffffffff
o mayor que0x08ff3b6db6db6db6
, la función devuelve H3_INVALID_CELL_ID. - Si
resolutionExpr
es menor que0
o mayor queh3_resolution(h3CellIdExpr)
, la función devuelve H3_INVALID_RESOLUTION_VALUE.
Ejemplos
-- 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