Add place detail proxy with Nominatim-first routing and Overpass fallback

New /api/place/<osm_type>/<osm_id> endpoint returns cleaned OSM tag data
for PlaceDetail panel enrichment. Routes to local Nominatim (Idaho coverage)
first, falls back to Overpass public API for out-of-region queries. Responses
cached in SQLite (data/place_cache.db) with no expiry.

New modules: lib/place_detail.py (proxy + cache), lib/osm_categories.py
(~50 category humanization mappings). Profile YAMLs updated with
place_details config block and has_nominatim_details flag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt 2026-04-21 03:06:51 +00:00
commit 2121ee4936
5 changed files with 574 additions and 2 deletions

View file

@ -20,6 +20,11 @@ traffic:
provider: "tomtom"
proxy_url: "/api/traffic/flow/{z}/{x}/{y}.png"
place_details:
local_source: "nominatim"
local_bbox: [-117.2, 41.98, -111.04, 49.0]
fallback_source: "overpass"
services:
geocode: "/api/geocode"
reverse: "/api/reverse"
@ -27,7 +32,7 @@ services:
valhalla: "/valhalla"
features:
has_nominatim_details: false
has_nominatim_details: true
has_kiwix_wiki: false
has_hillshade: true
has_3d_terrain: false