Skip to main content


Cartographic generalization is the process turning detailed geographic data into more general data for smaller zoom levels or smaller scale maps. It is essential for generating good-looking, easy to interpret, and fast rendering small scale maps.

Currently osm2pgsql has almost no built-in support for generalization, usually it is done using lots of SQL magic after the initial import of the data with osm2pgsql. From September 2022 to February 2023 we ran a project funded by the Prototype Fund and the German Federal Ministry of Education and Research to add more support for generalization to osm2pgsql. This included adding some generalization support directly to osm2pgsql but also using the capabilities of the PostgreSQL database and especially the PostGIS extension in a more easy to use fashion.

Here are the posts from Jochen’s blog describing the progress of the project:

And here are the most important related pull requests (already merged):

In addition a lot of code has been added in many small PRs to add and extend some (basic) functionality needed for this project.

The code is now merged into osm2pgsql master branch but still marked as experimental. See the preliminary documentation for all the details.

Jochen gave a talk (in German) about this project at FOSSGIS 2023: slides, video download

September 2022 bis Februar 2023
FKZ 01IS22S29