Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Função
Aplica-se a: Databricks SQL
Databricks Runtime 11.3 LTS e superior
Devolve uma matriz de células H3 que formam um anel hexagonal oco centrado na célula H3 de origem e que estão à distância k
da grelha da célula H3 de origem.
Sintaxe
h3_hexring ( h3CellIdExpr, kExpr )
Argumentos
-
h3CellIdExpr
: Uma expressão BIGINT ou uma expressão STRING hexadecimal que representa um ID de célula H3. -
kExpr
: Uma expressão inteira que representa a distância da grade.kExpr
deve ser não-negativo.
Devoluções
Uma MATRIZ de valores do mesmo tipo que o tipo da expressão h3CellIdExpr
, correspondente aos IDs de célula H3 que têm a mesma resolução que a célula H3 de entrada e que formam um anel oco centrado na célula H3 de origem à distância k
, onde k
é o valor de kExpr
.
A função retorna NULL se qualquer uma das 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 da distância da grade for zero, a matriz retornada conterá um único valor igual ao ID da 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 menor0x08001fffffffffff
ou maior que0x08ff3b6db6db6db6
, a função retornará H3_INVALID_CELL_ID. - Se
kExpr
for negativo, a função retornará H3_INVALID_GRID_DISTANCE_VALUE. - Se houver um pentágono em qualquer lugar no
k
anel da célula de origem, a função retornará H3_PENTAGON_ENCOUNTERED_ERROR.
Exemplos
-- Simple example where the first argument is a BIGINT.
> SELECT h3_hexring(599686042433355775, 1)
[599686014516068351,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175]
-- Simple example where the first argument is a STRING.
> SELECT h3_hexring('85283473fffffff', 1)
[8528340bfffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff]
-- First input is an invalid H3 cell ID.
> SELECT h3_hexring(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid grid distance value.
> SELECT h3_hexring('85283473fffffff', -1)
[H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative
-- The input cell is a hexagonal cell adjacent to a pentagonal cell (the 2-ring of the hexagonal cell contains the pentagon).
> SELECT H3_HexRing('8007fffffffffff', 2)
[H3_PENTAGON_ENCOUNTERED_ERROR] A pentagon was encountered while computing the hex ring of '8007fffffffffff' with grid distance 2