A h3_distance
függvény
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
A két bemeneti H3 cellaazonosító rácstávolságát adja vissza.
Syntax
h3_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
EGY BIGINT érték, amely a két bemeneti H3 cella rácstávolsága, amely várhatóan ugyanazzal a felbontással rendelkezik.
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 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 kisebb0x08001fffffffffff
vagy nagyobb0x08ff3b6db6db6db6
, a függvény H3_INVALID_CELL_ID ad vissza.h3CellId2Expr
- Ha a rács távolsága nincs meghatározva, a függvény H3_UNDEFINED_GRID_DISTANCE 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 felbontása eltérő.
- 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))
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 635723017894513407 and 635869868887430591 is undefined
-- 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)
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 590112357393367039 and 590678880759578623 is undefined
-- Distance between two hexagons separated by a pentagon.
> SELECT h3_distance(590112494832320511, 590112632271273983)
[H3_UNDEFINED_GRID_DISTANCE] H3 grid distance between 590112494832320511 and 590112632271273983 is undefined