h3_tochildren
-Funktion
Gilt für: Databricks SQL Databricks Runtime 11.3 LTS und höher
Gibt ein Array der untergeordneten H3-Zellen der Eingabe-H3-Zelle mit der angegebenen Auflösung zurück.
Syntax
h3_tochildren ( h3cellIdExpr, resolutionExpr )
Argumente
h3CellIdExpr
: Ein BIGINT-Ausdruck oder ein hexadezimaler STRING-Ausdruck, der eine H3-Zellen-ID darstellt.resolutionExpr
:Ein INT-Ausdruck, dessen Wert zwischenh3_resolution(h3CellIdExpr)
und einschließlich15
erwartet wird und der die Auflösung für die H3-Zellen-IDs angibt.
Gibt zurück
Ein ARRAY von Werten desselben Typs wie der Typ des h3CellIdExpr
-Ausdrucks, die den IDs der untergeordneten H3-Zellen der Eingabe-H3-Zelle mit der angegebenen Auflösung entsprechen.
Die Funktion gibt NULL zurück, wenn einer der beiden Eingabeausdrücke NULL ist.
Die Funktion überprüft teilweise, ob das Eingabeargument eine gültige H3-Zellen-ID ist. Eine notwendige, aber nicht hinreichende Bedingung für eine gültige H3-ID ist, dass ihr Wert zwischen 0x08001fffffffffff
und 0x08ff3b6db6db6db6
liegt.
Das Verhalten der Funktion ist undefiniert, wenn die Eingabezellen-ID keine gültige Zellen-ID ist.
Wenn der Wert von resolutionExpr
gleich der Auflösung der eingegebenen H3-Zellen-ID ist, enthält das zurückgegebene Array einen einzelnen Wert, der der eingegebenen H3-Zellen-ID entspricht.
Fehlerbedingungen
- Wenn
h3CellIdExpr
ein STRING ist, der nicht in BIGINT konvertiert werden kann oder einem BIGINT-Wert entspricht, der kleiner als0x08001fffffffffff
oder größer als0x08ff3b6db6db6db6
ist, gibt die Funktion H3_INVALID_CELL_ID zurück. - Wenn
resolutionExpr
kleiner alsh3_resolution(h3CellIdExpr)
oder größer als15
ist, gibt die Funktion H3_INVALID_RESOLUTION_VALUE zurück.
Beispiele
-- 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