h3_uncompact
işlevi
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 11.3 LTS ve üzeri
H3 hücrelerinin giriş kümesini belirtilen çözünürlüğe göre çözer. İşlenmemiş küme, belirtilen çözünürlükte hücreleri kullanan özgün hücreyle aynı H3 hücre kümesini kapsar.
Söz dizimi
h3_uncompact ( h3CellIdsExpr, resolutionExpr )
Bağımsız değişkenler
h3CellIdsExpr
: H3 hücre kimlikleri dizisini temsil eden bir BIGINTs dizisi veya onaltılık STRING dizisi ifadesi.resolutionExpr
: Çıkış DIZIsindeki H3 hücre kimliklerinin çözünürlüğünü belirten, değeri giriş H3 hücrelerinin15
en yüksek çözünürlüğü ile dahil arasında olması beklenen INTEGER ifadesi.
Döndürülenler
GIRIŞ ARRAY ifadesindeki h3cellIdsExpr
değerlerle aynı türde değerler dizisi. ÇıKıŞ ARRAY içindeki H3 hücre kimliklerinin çözünürlüğü değerinin resolutionExpr
değerine eşittir.
Giriş NULL ise işlev NULL döndürür.
İşlev, giriş bağımsız değişkeninin geçerli bir H3 hücre kimliği olup olmadığıyla ilgili kısmi doğrulama yapar. Geçerli bir H3 kimliği için gerekli ancak yeterli olmayan bir koşul, değerinin ile 0x08ff3b6db6db6db6
arasında 0x08001fffffffffff
olmasıdır.
GIRIŞ DIZIsindeki hücre kimliklerinden herhangi biri geçerli bir hücre kimliği değilse işlevin davranışı tanımlanmamıştır.
Giriş dizisindeki NULL değerler yoksayılır.
Hata koşulları
- BIR BIGINT'e dönüştürülemeyen veya değerinden küçük
0x08001fffffffffff
veya daha büyük0x08ff3b6db6db6db6
bir BIGINT değerine karşılık gelen bir STRING iseh3CellIdExpr
, işlev H3_INVALID_CELL_ID döndürür. - Giriş DIZIsindeki H3 hücresinin en yüksek çözünürlüğünden küçükse veya değerinden
15
büyükseresolutionExpr
, işlev H3_INVALID_RESOLUTION_VALUE döndürür.
Örnekler
-- 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