Funzione h3_hexring
Si applica a: Databricks SQL 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 di0x08001fffffffffff
0x08ff3b6db6db6db6
, 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
k
della 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