Função h3_toparent
Aplica-se a: SQL do Databricks Databricks Runtime 11.3 LTS e versões posteriores
Retorna a célula H3 pai da célula H3 de entrada na resolução especificada.
Sintaxe
h3_toparent ( h3cellIdExpr, resolutionExpr )
Argumentos
h3CellIdExpr
: uma expressão BIGINT ou uma expressão de CADEIA de caracteres hexadecimal que representa uma ID de célula H3.resolutionExpr
: uma expressão INT, cujo valor deve estar entre0
eh3_resolution(h3CellIdExpr)
especificando a resolução da ID da célula pai H3.
Retornos
Um valor do mesmo tipo que o tipo da expressão h3CellIdExpr
, correspondente à ID da célula H3 pai 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 se o argumento de entrada for uma ID de célula H3 válida. Uma condição necessária, mas não suficiente para uma ID H3 válida, é que seu valor esteja entre 0x08001fffffffffff
e 0x08ff3b6db6db6db6
.
O comportamento da função será indefinido se o ID da célula de entrada não for um ID de célula válido.
Se o valor do resolutionExpr
for igual à resolução da ID da célula H3 de entrada, a ID da célula H3 de entrada será retornada.
Condições de erro
- Se
h3CellIdExpr
for uma STRING que não pode ser convertida em um BIGINT ou corresponde a um valor BIGINT menor que0x08001fffffffffff
ou maior que0x08ff3b6db6db6db6
, a função retorna H3_INVALID_CELL_ID. - Se
resolutionExpr
for menor0
ou maior queh3_resolution(h3CellIdExpr)
, a função retorna H3_INVALID_RESOLUTION_VALUE.
Exemplos
-- 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