Freigeben über


h3_kring-Funktion

Gilt für: Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 11.3 LTS und höher

Gibt die H3-Zellen zurück, die sich innerhalb des (Raster-)Abstands k der Ursprungszelle befinden. Die Satz dieser H3-Zellen wird als k-Ring der Ursprungszelle bezeichnet.

Syntax

h3_kring ( h3CellIdExpr, kExpr )

Argumente

  • h3CellIdExpr: Ein BIGINT-Ausdruck oder ein hexadezimaler STRING-Ausdruck, der eine H3-Zellen-ID darstellt.
  • kExpr: Ein INTEGER-Ausdruck, der den Rasterabstand darstellt. kExpr darf nicht negativ sein.

Gibt zurück

Ein ARRAY von Werten des gleichen Typs wie der Typ des h3CellIdExpr-Ausdrucks, der den H3-Zellen-IDs entspricht, die dieselbe Auflösung wie die Eingabe-H3-Zelle aufweisen und sich innerhalb des Rasterabstands k der Eingabe-H3-Zelle befinden, wobei k der Wert von kExpr ist.

Die Funktion gibt NULL zurück, wenn einer der 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 des Rasterabstands null ist, enthält das zurückgegebene Array einen einzelnen Wert, der der Eingabe-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 kExpr negativ ist, gibt die Funktion H3_INVALID_GRID_DISTANCE_VALUE zurück.

Beispiele

-- Simple example where the first argument is a BIGINT.
> SELECT h3_kring(599686042433355775, 1)
  [599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351]

-- Simple example where the first argument is a STRING.
> SELECT h3_kring('85283473fffffff', 1)
  [85283473fffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff,8528340bfffffff]

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

-- Second input is an invalid grid distance value.
> SELECT h3_kring('85283473fffffff', -1)
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative