Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Databricks SQL
Databricks Runtime 11.3 LTS und höher
Dekomprimiert den Eingabesatz von H3-Zellen auf die angegebene Auflösung. Der unkomprimierte Satz deckt den gleichen Satz von H3-Zellen ab wie der Originalsatz, der Zellen mit der angegebenen Auflösung verwendet.
Syntax
h3_uncompact ( h3CellIdsExpr, resolutionExpr )
Argumente
h3CellIdsExpr
: Ein ARRAY von BIGINT-Ausdrücken oder ein ARRAY von hexadezimalen STRING-Ausdrücken, das ein Array von H3-Zellen-IDs repräsentiert.resolutionExpr
: Ein INTEGER-Ausdruck, dessen Wert voraussichtlich zwischen der maximalen Auflösung der Eingabe-H3-Zellen und15
einschließlich liegt und die Auflösung der H3-Zellen-IDs im Ausgabe-ARRAY angibt.
Gibt zurück
Ein ARRAY von Werten desselben Typs wie die Werte im Eingabe-ARRAY-Ausdruck h3cellIdsExpr
. Die Auflösung der H3-Zellen-IDs im Ausgabe-ARRAY ist gleich dem Wert von resolutionExpr
.
Die Funktion gibt NULL zurück, wenn die Eingabe 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 eine der Zellen-IDs im Eingabe-ARRAY keine gültige Zellen-ID ist.
NULL-Werte im Eingabearray werden ignoriert.
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 als die maximale Auflösung der H3-Zelle im Eingabe-ARRAY oder größer als15
ist, gibt die Funktion H3_INVALID_RESOLUTION_VALUE zurück.
Beispiele
-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 5);
[599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,599686038138388479,599686039212130303,599686040285872127,599686041359613951,599686042433355775,599686043507097599,599686044580839423]
-- In this example we verify that uncompacting the compacted set of the 2-ring of an H3 cell at the cell’s resolution returns the original 2-ring.
> SELECT COUNT(*) FROM ((SELECT explode(h3_uncompact(h3_compact(h3_kring(599686042433355775, 2)), h3_resolution(599686042433355775)))) MINUS (SELECT explode(h3_kring(599686042433355775, 2))))
0
-- Second input is an invalid resolution value.
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 2);
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 2 must be between 5 and 15, inclusive