Compartir vía


Función h3_tochildren

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí 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é entre h3_resolution(h3CellIdExpr) y 15 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 que 0x08001fffffffffff o mayor que 0x08ff3b6db6db6db6, la función devuelve H3_INVALID_CELL_ID.
  • Si resolutionExpr es menor que h3_resolution(h3CellIdExpr) o mayor que 15, 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