Share via


A h3_try_distance 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 13.3 LTS és újabb

Ez a függvény a h3_distance hasonlóan viselkedik, azzal a különbségtel, hogy hiba helyett null értéket ad vissza, ha az azonos felbontás két bemeneti H3 cellaazonosítója közötti rácstávolság nincs meghatározva. Pontosabban a két bemeneti H3 cellaazonosító rácstávolságát adja vissza, amelyek várhatóan azonos felbontásban lesznek, vagy NULL értéket, ha a távolság nincs meghatározva.

Syntax

h3_try_distance ( h3CellId1Expr, h3CellId2Expr )

Argumentumok

  • h3CellId1Expr: BIGINT-kifejezés vagy H3 cellaazonosítót képviselő hexadecimális SZTRING-kifejezés.
  • h3CellId2Expr: BIGINT-kifejezés vagy H3 cellaazonosítót képviselő hexadecimális SZTRING-kifejezés.

Válaszok

BIGINT érték, amely a két bemeneti H3 cella rácstávolsága, amely várhatóan azonos felbontással rendelkezik, vagy NULL, ha a távolság nincs meghatározva.

A függvény null értéket ad vissza, ha a bemeneti kifejezések bármelyike NULL. Részben ellenőrzi a bemeneti argumentumokat annak megállapításához, hogy azok érvényes H3 cellaazonosítókat jelölnek-e. Egy érvényes H3-azonosító szükséges, de nem elegendő feltétele, hogy értéke az és a között 0x08001fffffffffff0x08ff3b6db6db6db6legyen. A függvény viselkedése nincs meghatározva, ha a két bemeneti cellaazonosító egyike nem érvényes cellaazonosító.

Hibafeltételek

  • Ha h3CellId1Expr vagy olyan KARAKTERLÁNC, 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.h3CellId2Expr
  • Ha a két bemeneti H3 cella felbontása eltérő, a függvény H3_UNDEFINED_GRID_DISTANCE ad vissza.
  • Ha az azonos felbontású két H3 cella közötti rácstávolság nincs meghatározva, a függvény NULL értéket ad vissza. A rács távolsága az alábbi okok bármelyike miatt nem határozható meg:
    • A két bemeneti H3 cella bármelyike ötszögletű cella.
    • A két H3 cellát ötszögletű cella választja el egymástól.
    • A két H3 cella túl messze van egymástól.

Példák

-- Example where the two arguments are BIGINTs representing H3 cells.
> SELECT h3_distance(599686030622195711, 599686015589810175);
 2

-- Example where the two arguments are hexadecimal STRINGs representing H3 cells.
> SELECT h3_distance('85283447fffffff', '8528340ffffffff')
 2

-- Example of two cells that too far apart from each other.
> SELECT h3_distance(h3_longlatash3(-120, 45, 13), h3_longlatash3(120, 45, 13))
 NULL

-- Example of two cells with different resolutions.
> SELECT h3_distance(h3_longlatash3(120, 45, 13), h3_longlatash3(120, 45, 12));
  [H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 635869868887430591 and 631366269260060159 is undefined

-- First cell ID is a pentagon.
> SELECT h3_distance(590112357393367039, 590678880759578623)
 NULL

-- Distance between two hexagons separated by a pentagon.
> SELECT h3_distance(590112494832320511, 590112632271273983)
 NULL