Funkcja h3_tochildren
Dotyczy: Databricks SQL Databricks Runtime 11.3 LTS i nowsze
Zwraca tablicę komórek podrzędnych H3 wejściowej komórki H3 w określonej rozdzielczości.
Składnia
h3_tochildren ( h3cellIdExpr, resolutionExpr )
Argumenty
h3CellIdExpr
: wyrażenie BIGINT lub wyrażenie szesnastkowe STRING reprezentujące identyfikator komórki H3.resolutionExpr
: Wyrażenie INT, którego wartość ma być międzyh3_resolution(h3CellIdExpr)
i15
inkluzywna, określając rozdzielczość identyfikatorów komórek H3 elementów podrzędnych.
Zwraca
Tablica wartości tego samego typu co typ h3CellIdExpr
wyrażenia odpowiadające identyfikatorom komórek H3 elementów podrzędnych komórki H3 w komórce wejściowej H3 w określonej rozdzielczości.
Funkcja zwraca wartość NULL, jeśli dowolne z dwóch 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ść resolutionExpr
elementu jest równa rozdzielczości wejściowego identyfikatora komórki H3, 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
resolutionExpr
funkcja jest mniejsza lub większa niż15
h3_resolution(h3CellIdExpr)
, funkcja zwraca H3_INVALID_RESOLUTION_VALUE.
Przykłady
-- Simple example taking a long as input.
> SELECT h3_tochildren(599686042433355775, 6)
[604189641121202175,604189641255419903,604189641389637631,604189641523855359,604189641658073087,604189641792290815,604189641926508543]
-- Simple example taking a hexadecimal string as input.
> SELECT h3_tochildren('85283473fffffff', 6)
[862834707ffffff,86283470fffffff,862834717ffffff,86283471fffffff,862834727ffffff,86283472fffffff,862834737ffffff]
-- First input is an invalid H3 cell ID.
> SELECT h3_tochildren(0, 15)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid resolution value.
> SELECT h3_tochildren('85283473fffffff', 0)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 0 must be between 5 and 15, inclusive