FOSS4G 2023

Locality-Sensitive Hashing with the Hilbert Curve for fast reverse geocoding
06-29, 13:30–14:00 (Europe/Tirane), UBT D / N112 - Second Floor

3geonames.org is a free api for fast reverse geocoding, using a new technique of locality-preserving hashing of 2d/3d spatial points to 1d integers via a combination of Hilbert curve and bit interlacing. This talk expands on the use-case and the performance/accuracy advantages of this technique. (The talk slides will be available at: https://3geonames.org/prizren.html )


https://api.3geonames.org/
Fast Reverse Geocoder Lite - A simple but fast reverse geocoding API up to city/neighborhood granularity level.

Convert a geographic coordinate (latitude and longitude) into city, neighborhood name, wikipedia, wikidata, geocode, elevation, timezone, country, region and OSM tags.

Generate a truly random location anywhere on Earth; or in a particular country. Get locality results in either XML or JSON.

This reverse geocoding API is ideal for applications which process location data (for example mobile GPS data) and need to correlate this quickly with real place names.
It takes as input a Latitude, Longitude pair, and outputs either XML (default) or JSON text with the name of the nearest city/neighborhood and other regional information based on both Geonames.org and OpenStreetMap.org regional/city/neighborhood polygons.

Send a reverse geocoding request as per API spec: <url>/latitude,longitude
e.g.,
https://api.3geonames.org/51.4647,0.0079 (XML output - Default)
or
https://api.3geonames.org/51.4647,0.0079.json (JSON output)

Other API Functions

Pick a random location at or near land: http://api.3geonames.org/randomland

Pick a random location anywhere: http://api.3geonames.org/random - (Note: Since the earth is mostly Ocean, most returned results will have no placename reverse geocoding responses, only latitude,longitude, geocode, geonumber and threegeonames)

Pick a random location in a give country (eg., Germany - DE): http://api.3geonames.org/randomland.DE (XML Default)- http://api.3geonames.org/randomland.DE.json (JSON)

I'm the founder of several bootstrapped startups and a researcher working mostly in the areas of Natural Language Processing and Computational Geometry.