Freigeben über


h3_tochildren-Funktion

Gilt für:Häkchen ja Databricks SQL Häkchen gesetzt ja 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 zwischen h3_resolution(h3CellIdExpr) und einschließlich 15 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 als 0x08001fffffffffff oder größer als 0x08ff3b6db6db6db6 ist, gibt die Funktion H3_INVALID_CELL_ID zurück.
  • Wenn resolutionExpr kleiner als h3_resolution(h3CellIdExpr) oder größer als 15 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