Share via


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

Visszaadja az összes H3 cellát (hosszú egész számként vagy sztringként jelölve) a H3 forráscellától való rácstávolságon k belül, valamint a forrás H3 cellától való távolságukat.

Syntax

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

Az elnevezett szerkezetek tömbje két mezővel, névvel cellid , illetve distance, ahol az struktúra első mezője egy H3 cellaazonosító (hosszú egész számként vagy sztringként jelenik meg), a szerkezet második mezője pedig a H3 forráscellától való távolsága (egész számként jelölve). A kimenetben lévő H3 cellaazonosítók típusa megegyezik a típusával h3CellIdExpr.

A visszaadott TÖMB elemei a H3 forráscellától való távolságuk alapján vannak rendezve. A visszaadott TÖMB azonos távolságának megfelelő elemek bármilyen sorrendben visszaadhatók. 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 nagyobb vagy 0x08ff3b6db6db6db6kisebb 0x08001fffffffffff BIGINT-értéknek felel meg, a függvény H3_INVALID_CELL_ID
  • Ha kExpr negatív, a függvény H3_INVALID_GRID_DISTANCE_VALUE

Példák

-- Simple example where the first argument is a BIGINT.
> SELECT h3_kringdistances(599686042433355775, 1)
  [{"cellid":599686042433355775,"distance":0},{"cellid":599686030622195711,"distance":1},{"cellid":599686044580839423,"distance":1},{"cellid":599686038138388479,"distance":1},{"cellid":599686043507097599,"distance":1},{"cellid":599686015589810175,"distance":1},{"cellid":599686014516068351,"distance":1}]

-- Simple example where the first argument is a STRING.
> SELECT h3_kringdistances('85283473fffffff', 1)
  [{"cellid":"85283473fffffff","distance":0},{"cellid":"85283447fffffff","distance":1},{"cellid":"8528347bfffffff","distance":1},{"cellid":"85283463fffffff","distance":1},{"cellid":"85283477fffffff","distance":1},{"cellid":"8528340ffffffff","distance":1},{"cellid":"8528340bfffffff","distance":1}]

-- First input is an invalid H3 cell ID.
> SELECT h3_kringdistances(0, 0)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid grid distance value.
> SELECT h3_kringdistances('85283473fffffff', -1)
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative