Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höher
Gibt ein Array von H3-Zellen-IDs zurück, die einen hohlen sechseckigen Ring bilden, der um die Ursprungs-H3-Zelle zentriert ist und sich in Rasterabstand k von der Ursprungs-H3-Zelle befindet.
Syntax
h3_hexring ( 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.kExprdarf 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 die einen hohlen Ring mit dem Mittelpunkt der Ursprungs-H3-Zelle im Abstand k bilden, wobei k den Wert kExpr hat.
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
h3CellIdExprein STRING ist, der nicht in BIGINT konvertiert werden kann oder einem BIGINT-Wert entspricht, der kleiner als0x08001fffffffffffoder größer als0x08ff3b6db6db6db6ist, gibt die Funktion H3_INVALID_CELL_ID zurück. - Wenn
kExprnegativ ist, gibt die Funktion H3_INVALID_GRID_DISTANCE_VALUE zurück. - Wenn in der
kUrsprungszelle ein Fünfeck vorhanden ist, gibt die Funktion H3_PENTAGON_ENCOUNTERED_ERROR zurück.
Beispiele
-- Simple example where the first argument is a BIGINT.
> SELECT h3_hexring(599686042433355775, 1);
[599686014516068351,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175]
-- Simple example where the first argument is a STRING.
> SELECT h3_hexring('85283473fffffff', 1);
[8528340bfffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff]
-- First input is an invalid H3 cell ID.
> SELECT h3_hexring(0, 0);
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid grid distance value.
> SELECT h3_hexring('85283473fffffff', -1);
[H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative
-- The input cell is a hexagonal cell adjacent to a pentagonal cell (the 2-ring of the hexagonal cell contains the pentagon).
> SELECT H3_HexRing('8007fffffffffff', 2);
[H3_PENTAGON_ENCOUNTERED_ERROR] A pentagon was encountered while computing the hex ring of '8007fffffffffff' with grid distance 2