h3_hexring
işlevi
Şunlar için geçerlidir: Databricks SQL 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 k
noktası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 0x08ff3b6db6db6db6
arası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ük0x08ff3b6db6db6db6
bir 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