h3_distance
-functie
Van toepassing op: Databricks SQL Databricks Runtime 11.3 LTS en hoger
Retourneert de rasterafstand van de twee H3-cel-id's van invoer.
Syntaxis
h3_distance ( h3CellId1Expr, h3CellId2Expr )
Argumenten
h3CellId1Expr
: Een BIGINT-expressie of een hexadecimale TEKENREEKS-expressie die een H3-cel-id vertegenwoordigt.h3CellId2Expr
: Een BIGINT-expressie of een hexadecimale TEKENREEKS-expressie die een H3-cel-id vertegenwoordigt.
Retouren
Een BIGINT-waarde die de rasterafstand is van de twee H3-invoercellen die naar verwachting dezelfde resolutie hebben.
De functie retourneert NULL als een van de invoerexpressies NULL is.
De functie voert gedeeltelijke validatie uit met betrekking tot of het invoerargument een geldige H3-cel-id is. Een noodzakelijke, maar niet voldoende voorwaarde voor een geldige H3-id is dat de waarde tussen 0x08001fffffffffff
en 0x08ff3b6db6db6db6
.
Het gedrag van de functie is niet gedefinieerd als een van de twee invoercel-id's geen geldige cel-id is.
Foutvoorwaarden
- Als
h3CellId1Expr
ofh3CellId2Expr
een TEKENREEKS is die niet kan worden geconverteerd naar een BIGINT of overeenkomt met een BIGINT-waarde die kleiner is dan0x08001fffffffffff
of groter0x08ff3b6db6db6db6
is, retourneert de functie H3_INVALID_CELL_ID. - Als de rasterafstand niet is gedefinieerd, retourneert de functie H3_UNDEFINED_GRID_DISTANCE. De rasterafstand kan om een van de volgende redenen niet worden gedefinieerd:
- De twee H3-invoercellen hebben een andere resolutie.
- Een van de twee invoer H3-cellen is een vijfhoekige cel.
- De twee H3-cellen worden gescheiden door een vijfhoekige cel.
- De twee H3-cellen liggen te ver van elkaar af.
Voorbeelden
-- 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