Condividi tramite


Funzione h3_hexring

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

Restituisce una matrice di celle H3 che formano un anello esagonale vuoto centrato nella cella H3 di origine e che si trovano a distanza k griglia dalla cella H3 di origine.

Sintassi

h3_hexring ( h3CellIdExpr, kExpr )

Argomenti

  • h3CellIdExpr: espressione BIGINT o espressione STRING esadecimale che rappresenta un ID cella H3.
  • kExpr: espressione INTEGER che rappresenta la distanza della griglia. kExpr deve essere non negativo.

Valori restituiti

Matrice di values dello stesso tipo dell'espressione h3CellIdExpr, corrispondente agli ID delle celle H3 con la stessa risoluzione della cella H3 di input e che formano un anello vuoto centrato sulla cella H3 di origine a distanza k, where.k è il valore di kExpr.

La funzione restituisce NULL se una delle espressioni di input è NULL. La funzione esegue la convalida parziale relativa al fatto che l'argomento di input sia un ID cella H3 valido. Una condizione necessaria, ma non sufficiente per un ID H3 valido è che il relativo valore è compreso tra 0x08001fffffffffff e 0x08ff3b6db6db6db6. Il comportamento della funzione non è definito se l'ID cella di input non è un ID cella valido. Se il valore della distanza della griglia è zero, la matrice restituita contiene un singolo valore uguale all'ID cella H3 di input.

Condizioni di errore

  • Se h3CellIdExpr è un valore STRING che non può essere convertito in bigint o corrisponde a un valore BIGINT minore o maggiore di 0x08001fffffffffff0x08ff3b6db6db6db6, la funzione restituisce H3_INVALID_CELL_ID.
  • Se kExpr è negativo, la funzione restituisce H3_INVALID_GRID_DISTANCE_VALUE.
  • Se c'è un pentagono ovunque nell'anello kdella cella di origine, la funzione restituisce H3_PENTAGON_ENCOUNTERED_ERROR.

Esempi

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