Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen
Gäller för:
Databricks SQL
Databricks Runtime 11.3 LTS och senare
Returnerar rutnätsavståndet för de två indata-H3-cell-ID:na.
Syntax
h3_distance ( h3CellId1Expr, h3CellId2Expr )
Argument
h3CellId1Expr: Ett BIGINT-uttryck eller ett hexadecimalt STRING-uttryck som representerar ett H3-cell-ID.h3CellId2Expr: Ett BIGINT-uttryck eller ett hexadecimalt STRING-uttryck som representerar ett H3-cell-ID.
Returer
Ett BIGINT-värde som är rutnätsavståndet för de två H3-indatacellerna som förväntas ha samma upplösning.
Funktionen returnerar NULL om något av indatauttrycken är NULL.
Funktionen validerar delvis om indataargumentet är ett giltigt H3-cell-ID. Ett nödvändigt men inte tillräckligt villkor för ett giltigt H3-ID är att dess värde är mellan 0x08001fffffffffff och 0x08ff3b6db6db6db6.
Funktionens beteende är odefinierat om något av de två indatacells-ID:na inte är ett giltigt cell-ID.
Feltillstånd
- Om
h3CellId1Exprellerh3CellId2Exprär en STRÄNG som inte kan konverteras till en BIGINT eller motsvarar ett BIGINT-värde som är mindre än eller större än0x08001fffffffffff0x08ff3b6db6db6db6returnerar funktionen H3_INVALID_CELL_ID. - Om rutnätsavståndet är odefinierat returnerar funktionen H3_UNDEFINED_GRID_DISTANCE. Rutnätsavståndet kan vara odefinierat av någon av följande orsaker:
- De två H3-indatacellerna har olika upplösning.
- Någon av de två indata H3-cellerna är en femkantscell.
- De två H3-cellerna separeras av en femkantscell.
- De två H3-cellerna är för långt ifrån varandra.
Exempel
-- 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