Category support in Nominatim
OpenStreetMap / Nominatim · GSoC 2026 contributor · May to August 2026
Nominatim answers “where is this?” for OpenStreetMap, but it had no real idea what a shop=bakery is. Over the summer I built a category model for it, backfilled it across a planet-sized database without stopping search, and wired it into queries.
Merged pull requests
- #4106 Add ltree categories column for multi-tag OSM object support
- #4146 Use ltree categories column instead of place_classtype tables
- #4152 Fix 500 error on category search without matching results
- #4163 Remove the place_classtype tables
- #4164 Add category filters to the search API
- #4166 Update the documentation for the category series
Writing about it
2026
- How I Rebuilt OpenStreetMap’s Category Model During GSoC✦ highlight↗ nominatim.org
- GSoC 2026 final summary: category support in Nominatim↗ openstreetmap.org
- GSoC midterm: category support in Nominatim, first half report↗ openstreetmap.org
- Got into GSoC 2026! Working on category support in Nominatim↗ openstreetmap.org