Partilhar via


Função h3_kring

Aplica-se a:Sim, com marca de verificação Databricks SQL Sim, com marca de verificação Databricks Runtime 11.3 LTS e superior

Retorna as células H3 que estão dentro da distância de grade k da célula de origem. O conjunto dessas células H3 é chamado o k-anel da célula de origem.

Sintaxe

h3_kring ( 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 grelha. 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 das células H3 que têm a mesma resolução da célula H3 de entrada e estão dentro de uma distância de grade k da célula H3 de entrada, onde k é o valor do 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 grelha for zero, a matriz retornada contém 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 menor 0x08001fffffffffff ou maior que 0x08ff3b6db6db6db6, a função retornará H3_INVALID_CELL_ID.
  • Se kExpr for negativo, a função retornará H3_INVALID_GRID_DISTANCE_VALUE.

Exemplos

-- Simple example where the first argument is a BIGINT.
> SELECT h3_kring(599686042433355775, 1);
  [599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351]

-- Simple example where the first argument is a STRING.
> SELECT h3_kring('85283473fffffff', 1);
  [85283473fffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff,8528340bfffffff]

-- First input is an invalid H3 cell ID.
> SELECT h3_kring(0, 0);
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid grid distance value.
> SELECT h3_kring('85283473fffffff', -1);
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative