Reverse geocoding for fleet tracking
A tracker sends many positions, and each address lookup is a call to someone else with your vehicle's location in it. A local server answers them instead.
Point to address Self-hosted apps Server, Docker Logistics, field work
Traccar
<entry key='geocoder.enable'>true</entry> <entry key='geocoder.type'>nominatim</entry> <entry key='geocoder.url'>http://127.0.0.1:8080/reverse</entry> <entry key='geocoder.reuseDistance'>50</entry>
Keys from Traccar's reverse geocoding page, read November 7, 2026; geocoder.reuseDistance reuses the last address for a vehicle that has moved less than that many metres. The answer carries what Traccar's Nominatim reader takes: display_name and address with house_number, road, city, state, postcode, country_code. Checked against the format, not yet on a running Traccar.
The server
$ gridpin-fetch us $ gridpin serve usa.bin --port 8080
One country per process: a fleet in two countries runs two servers and a small router, or uses one container each. Reverse answers come with match_level in extratags when you ask with extratags=1.
Other trackers
- Dawarich: its
NOMINATIM_API_HOSTsetting points at the same server. - OwnTracks Recorder: has no setting for a general reverse geocoder URL; it would need a Lua hook.
A file answers the nearest stored address and says how far it is. Roads without addresses get the nearest house, marked near or approximate; if you need the road name of a motorway, a routing engine is the right tool.