A h3_hexring
függvény
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
Olyan H3 cellatömböt ad vissza, amely egy üreges hatszögletű gyűrűt alkot, amely a forrás H3 cellájának közepén helyezkedik el, és rácstávolságban k
van a forrás H3 cellától.
Syntax
h3_hexring ( h3CellIdExpr, kExpr )
Argumentumok
h3CellIdExpr
: BIGINT-kifejezés vagy H3 cellaazonosítót képviselő hexadecimális SZTRING-kifejezés.kExpr
: A rács távolságát jelképező EGÉSZ SZÁM kifejezés.kExpr
nem lehet negatív.
Válaszok
A kifejezés típusával h3CellIdExpr
megegyező típusú értékek tömbje, amely megfelel a H3 cellaazonosítóknak, amelyek felbontása megegyezik a bemeneti H3 cella felbontásával, és amelyek egy üreges gyűrűt alkotnak, amely a forrás k
H3 cella távolságában középre van állítva , ahol k
az érték kExpr
.
A függvény null értéket ad vissza, ha a bemeneti kifejezések bármelyike NULL.
A függvény részlegesen ellenőrzi, hogy a bemeneti argumentum érvényes H3 cellaazonosító-e. Egy érvényes H3-azonosító szükséges, de nem megfelelő feltétele, hogy értéke a és a között 0x08001fffffffffff
0x08ff3b6db6db6db6
legyen.
A függvény működése nincs meghatározva, ha a bemeneti cellaazonosító nem érvényes cellaazonosító.
Ha a rács távolsága nulla, a visszaadott tömb egyetlen értéket tartalmaz, amely megegyezik a bemeneti H3 cellaazonosítóval.
Hibafeltételek
- Ha
h3CellIdExpr
olyan SZTRING, amely nem konvertálható BIGINT-vé, vagy olyan BIGINT-értéknek felel meg, amely kisebb0x08001fffffffffff
vagy nagyobb0x08ff3b6db6db6db6
, a függvény H3_INVALID_CELL_ID ad vissza. - Ha
kExpr
negatív, a függvény H3_INVALID_GRID_DISTANCE_VALUE ad vissza. - Ha a
k
forráscella -gyűrűjében egy ötszög található, a függvény H3_PENTAGON_ENCOUNTERED_ERROR ad vissza.
Példák
-- 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