Share via


A h3_hexring függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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 kH3 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 0x08001fffffffffff0x08ff3b6db6db6db6legyen. 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 kisebb 0x08001fffffffffff 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 kforrá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