Funktionen h3_kring
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Returnerar de H3-celler som ligger inom (rutnätet) avstånd k
från ursprungscellen. Uppsättningen av dessa H3-celler kallas k
-ringen för ursprungscellen.
Syntax
h3_kring ( h3CellIdExpr, kExpr )
Argument
h3CellIdExpr
: Ett BIGINT-uttryck eller ett hexadecimalt STRING-uttryck som representerar ett H3-cell-ID.kExpr
: Ett INTEGER-uttryck som representerar rutnätsavståndet.kExpr
måste vara icke-negativ.
Returer
En MATRIS med värden av samma typ som typen av h3CellIdExpr
uttryck, som motsvarar H3-cell-ID:t som har samma upplösning som indata-H3-cellen och ligger inom rutnätsavståndet k
för indata-H3-cellen, där k
är värdet för kExpr
.
Funktionen returnerar NULL om något av indatauttrycken är NULL.
Funktionen validerar delvis om indataargumentet är ett giltigt H3-cell-ID. Ett nödvändigt men inte tillräckligt villkor för ett giltigt H3-ID är att dess värde är mellan 0x08001fffffffffff
och 0x08ff3b6db6db6db6
.
Funktionens beteende är odefinierat om indatacells-ID:t inte är ett giltigt cell-ID.
Om värdet för rutnätsavståndet är noll innehåller den returnerade matrisen ett enda värde som är lika med indata-H3-cell-ID:t.
Feltillstånd
- Om
h3CellIdExpr
är en STRÄNG som inte kan konverteras till en BIGINT eller motsvarar ett BIGINT-värde som är mindre än eller större än0x08001fffffffffff
0x08ff3b6db6db6db6
returnerar funktionen H3_INVALID_CELL_ID. - Om
kExpr
är negativt returnerar funktionen H3_INVALID_GRID_DISTANCE_VALUE.
Exempel
-- Simple example where the first argument is a BIGINT.
> SELECT h3_kring(599686042433355775, 1)
[599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351]
-- Simple example where the first argument is a STRING.
> SELECT h3_kring('85283473fffffff', 1)
[85283473fffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff,8528340bfffffff]
-- First input is an invalid H3 cell ID.
> SELECT h3_kring(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid grid distance value.
> SELECT h3_kring('85283473fffffff', -1)
[H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative