Udostępnij za pośrednictwem


Funkcja h3_toparent

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Zwraca nadrzędną komórkę H3 wejściowej komórki H3 w określonej rozdzielczości.

Składnia

h3_toparent ( 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 0 i h3_resolution(h3CellIdExpr) inkluzywna, określając rozdzielczość nadrzędnego identyfikatora komórki H3.

Zwraca

Wartość tego samego typu co typ h3CellIdExpr wyrażenia, odpowiadająca nadrzędnej komórce H3 wejściowej komórki 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, zwracany jest wejściowy identyfikator 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ż h3_resolution(h3CellIdExpr)0 , funkcja zwraca H3_INVALID_RESOLUTION_VALUE.

Przykłady

-- Simple example taking a long as input.
> SELECT h3_toparent(599686042433355775, 0)
  577199624117288959

-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_toparent('85283473fffffff', 0)
  8029fffffffffff

-- First input is an invalid H3 cell ID.
> SELECT h3_toparent(0, 0)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid resolution value.
> SELECT h3_toparent('85283473fffffff', -1)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution -1 must be between 0 and 5, inclusive