h3_uncompact işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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ücrelerinin 15 en yüksek çözünürlüğü ile dahil arasında olması beklenen INTEGER ifadesi.

Döndürülenler

GIRIŞ ARRAY ifadesindeki h3cellIdsExprdeğerlerle aynı türde değerler dizisi. ÇıKıŞ ARRAY içindeki H3 hücre kimliklerinin çözünürlüğü değerinin resolutionExprdeğ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 0x08ff3b6db6db6db6arası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ük 0x08ff3b6db6db6db6bir 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 15bü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