Funzione h3_kring
Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Restituisce le celle H3 che si trovano entro la distanza k
(griglia) della cella di origine. Il set di queste celle H3 è denominato k
anello della cella di origine.
Sintassi
h3_kring ( 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 valori dello stesso tipo del tipo dell'espressione h3CellIdExpr
, corrispondente agli ID cella H3 che hanno la stessa risoluzione della cella H3 di input e si trovano entro la distanza k
della griglia della cella H3 di input, dove k
è il valore dell'oggetto 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.
Esempi
-- 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