Funkcja h3_tochildren

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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ędzy h3_resolution(h3CellIdExpr) i 15 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ż 0x08001fffffffffff0x08ff3b6db6db6db6, funkcja zwraca H3_INVALID_CELL_ID.
  • Jeśli resolutionExpr funkcja jest mniejsza lub większa niż 15h3_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