Funkcja h3_kring
Dotyczy: Databricks SQL Databricks Runtime 11.3 LTS i nowsze
Zwraca komórki H3 znajdujące się w odległości k
(siatki) komórki początkowej. Zestaw tych komórek H3 jest nazywany k
-pierścieniem komórki początkowej.
Składnia
h3_kring ( h3CellIdExpr, kExpr )
Argumenty
h3CellIdExpr
: wyrażenie BIGINT lub wyrażenie szesnastkowe STRING reprezentujące identyfikator komórki H3.kExpr
: Wyrażenie INTEGER reprezentujące odległość siatki.kExpr
musi być nieujemna.
Zwraca
Tablica wartości tego samego typu co typ h3CellIdExpr
wyrażenia, odpowiadający identyfikatorom komórek H3, które mają taką samą rozdzielczość jak wprowadzania komórki H3 i znajdują się w odległości k
siatki wejściowej komórki H3, gdzie k
jest wartością kExpr
.
Funkcja zwraca wartość NULL, jeśli dowolne z wyrażeń wejściowych ma wartość NULL.
Funkcja wykonuje częściową walidację dotyczącą tego, czy argument wejściowy jest prawidłowym identyfikatorem komórki H3. Wymagany, ale nie wystarczający warunek prawidłowego identyfikatora H3 jest taki, że jego wartość mieści się między 0x08001fffffffffff
i 0x08ff3b6db6db6db6
.
Zachowanie funkcji jest niezdefiniowane, jeśli identyfikator komórki wejściowej nie jest prawidłowym identyfikatorem komórki.
Jeśli wartość odległości siatki wynosi zero, zwracana tablica zawiera pojedynczą wartość równą wejściowemu identyfikatorowi komórki H3.
Warunki błędu
- Jeśli
h3CellIdExpr
jest ciągiem, którego nie można przekonwertować na BIGINT lub odpowiada wartości BIGINT, która jest mniejsza lub większa niż0x08001fffffffffff
0x08ff3b6db6db6db6
, funkcja zwraca H3_INVALID_CELL_ID. - Jeśli
kExpr
jest ujemna, funkcja zwraca H3_INVALID_GRID_DISTANCE_VALUE.
Przykłady
-- 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