Aracılığıyla paylaş


h3_hexring 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

Merkez H3 hücresinde ortalanmış ve kaynak H3 hücresinden kılavuz uzaklığında k olan boş bir altıgen halka oluşturan bir H3 hücreleri dizisi döndürür.

Söz dizimi

h3_hexring ( h3CellIdExpr, kExpr )

Bağımsız değişkenler

  • h3CellIdExpr: H3 hücre kimliğini temsil eden bir BIGINT ifadesi veya onaltılık STRING ifadesi.
  • kExpr: Kılavuz uzaklığı temsil eden integer ifadesi. kExpr negatif olmamalıdır.

Döndürülenler

giriş H3 hücresiyle aynı çözünürlüğe sahip olan ve uzaklık knoktasındaki kaynak H3 hücresinde ortalanmış boş bir halka oluşturan H3 hücre kimliklerine karşılık gelen, ifadenin türüyle aynı türde h3CellIdExpr değerler dizisidir; burada k değeridirkExpr.

Giriş ifadelerinden herhangi biri 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ş hücresi kimliği geçerli bir hücre kimliği değilse işlevin davranışı tanımsız olur. Kılavuz uzaklığı değeri sıfırsa, döndürülen dizi giriş H3 hücre kimliğine eşit tek bir değer içerir.

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.
  • Negatifse kExpr işlev H3_INVALID_GRID_DISTANCE_VALUE döndürür.
  • Kaynak hücrenin k-halkasının herhangi bir yerinde bir beşgen varsa, işlev H3_PENTAGON_ENCOUNTERED_ERROR döndürür.

Örnekler

-- 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