3

Is there any difference in rendering performance between using a osm2pgsql vs imposm imported PostGIS DB in Mapnik? Or asking it differently, is there any downside of using imposm if I only want to support full imports?

I'd be using OSM Bright style, which supports both, and I've seen that there is a big difference in import speed between the two, but I haven't found any information about how is the rendering part.

5

Besides hardware and other software, rendering performance depends on the database, custom indexes, and the SQL in the style rendered. The style makes a huge difference, and badly written layer definitions can result in abysmal performance.

If you change the database schema, it requires changing both the custom indexes and layer SQL, so it's not possible to directly compare.

Both imposm and osm2pgsql can import the data into tables in a way you define, so there's more overlap than not. This wasn't always the case, as osm2pgsql used to only support the standard schema.

Imposm has some features to do more import-time processing like simplification, and in the right conditions this can lead to some speed increases, particularly on middle zooms. This mainly matters when rendering for a WMS server, not a typical tile server.

My advice would be to go with whichever you find easier to develop with. When you start to worry about performance, you'll find it more productive to optimize the queries and custom indexes.

osm2pgsql has been around longer and is more commonly used, so you'll find more documentation and resources for it. The downside is there's more information around that was accurate 5 or more years ago, but is outdated now.

If you're looking to pay someone for work, Omniscale provides commercial support for Imposm, but there are more independent consultants who are familiar with osm2pgsql - including myself, so both have good options.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.