Partilhar via


Função h3_tochildren

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

Retorna uma matriz das células H3 filhas da célula H3 de entrada na resolução especificada.

Sintaxe

h3_tochildren ( h3cellIdExpr, resolutionExpr )

Argumentos

  • h3CellIdExpr: Uma expressão BIGINT ou uma expressão STRING hexadecimal que representa um ID de célula H3.
  • resolutionExpr: Uma expressão INT, cujo valor se espera que seja entre h3_resolution(h3CellIdExpr) e 15 inclusivo, especificando a resolução dos IDs de célula H3 das crianças.

Devoluções

Uma MATRIZ de valores do mesmo tipo que o tipo da h3CellIdExpr expressão, correspondente aos IDs de célula H3 filhos da célula H3 de entrada na resolução especificada.

A função retorna NULL se qualquer uma das duas expressões de entrada for NULL. A função faz validação parcial em relação a se o argumento de entrada é um ID de célula H3 válido. Uma condição necessária, mas não suficiente, para um ID H3 válido é que seu valor esteja entre 0x08001fffffffffff e 0x08ff3b6db6db6db6. O comportamento da função é indefinido se o ID da célula de entrada não for um ID de célula válido. Se o valor do for igual à resolução do ID da célula H3 de entrada, a matriz retornada conterá um único valor igual ao ID da resolutionExpr célula H3 de entrada.

Condições de erro

  • Se h3CellIdExpr for um STRING que não pode ser convertido em um BIGINT ou corresponder a um valor BIGINT menor 0x08001fffffffffff ou maior que 0x08ff3b6db6db6db6, a função retornará H3_INVALID_CELL_ID.
  • Se resolutionExpr for menor h3_resolution(h3CellIdExpr) ou maior que 15, a função retornará H3_INVALID_RESOLUTION_VALUE.

Exemplos

-- 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