Función h3_tochildren
Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Devuelve una matriz de las celdas H3 secundarias de la celda H3 de entrada en la resolución especificada.
Sintaxis
h3_tochildren ( 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é entreh3_resolution(h3CellIdExpr)
y15
inlcuidos, especificando la resolución de los identificadores de la celda H3 secundarios.
Devoluciones
Matriz de valores del mismo tipo que el tipo de la expresión h3CellIdExpr
, correspondiente a los identificadores de la celda H3 secundarios de la celda H3 de entrada en la resolución especificada.
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 identificador de la celda H3 de entrada, la matriz devuelta contiene un único valor igual al identificador 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 queh3_resolution(h3CellIdExpr)
o mayor que15
, la función devuelve H3_INVALID_RESOLUTION_VALUE.
Ejemplos
-- 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