Skip to content

Coordinate Conversion functions in the A5 Geospatial Index DuckDB extension

Function category

Coordinate Conversion

4 functions

a5_cell_to_lonlat

Scalar function Coordinate Conversion
Signature
a5_cell_to_lonlat(cell: UBIGINT) → DOUBLE[2]
Arguments (Positional)
Argument cell Type UBIGINT Mode Positional Description
Description
1 Example 1
SELECT a5_cell_to_lonlat(a5_lonlat_to_cell(-122.4, 37.8, 10));

Output

a5_cell_to_lonlat(a5_lonlat_to_cell(-122.4, 37.8, 10))
(-122.37432272230853, 37.78289994807169)

a5_hex_to_u64

Scalar function Coordinate Conversion
Signature
a5_hex_to_u64(hex: VARCHAR) → UBIGINT
Arguments (Positional)
Argument hex Type VARCHAR Mode Positional Description
Description
1 Example 1
SELECT a5_hex_to_u64('1600000000000000');

Output

a5_hex_to_u64('1600000000000000')
1585267068834414592

a5_lonlat_to_cell

Scalar function Coordinate Conversion
Signature
a5_lonlat_to_cell( longitude: DOUBLE, latitude: DOUBLE, resolution: INTEGER ) → UBIGINT
Arguments (Positional)
Argument longitude Type DOUBLE Mode Positional Description
Argument latitude Type DOUBLE Mode Positional Description
Argument resolution Type INTEGER Mode Positional Description
Description
1 Example 1
SELECT a5_lonlat_to_cell(-122.4194, 37.7749, 10);

Output

a5_lonlat_to_cell(-122.4194, 37.7749, 10)
1937278465245970432

a5_u64_to_hex

Scalar function Coordinate Conversion
Signature
a5_u64_to_hex(cell: UBIGINT) → VARCHAR
Arguments (Positional)
Argument cell Type UBIGINT Mode Positional Description
Description
1 Example 1
SELECT a5_u64_to_hex(a5_lonlat_to_cell(-122.4, 37.8, 10));

Output

a5_u64_to_hex(a5_lonlat_to_cell(-122.4, 37.8, 10))
1ae2988000000000