comparing openstreemap-carto to other map styles

Posted by Mateusz Konieczny on 18 July 2016 in English (English)

This is the first part of comparing openstreetmap-carto and other map styles. Note that comparison is focused on finding things that may be improved in openstreetmap-carto.

Relief data

All maps in my basic sample turned out to show relief data. It ranges from subtle, almost unnoticeable to extremely heavy and dominating over all other features. Is is open question whatever adding rendering of elevation data to openstreetmap-carto would be desirable. But it is clear that rendering elevation data is common, and in some cases effect is great.


But even assuming that it would improve map there are some complications:

  • more non OSM data - what would run contrary to attempts reducing usage of external sources. It may be even considered as misleading given that OSM has no terrain data.
  • Default map already renders many things. Adding something completely new to render would need really good justification and would be very complicated to do well
  • To render elevation data source of worldwide elevation data on suitable license is necessary. Some data is available but either it requires major work to fix voids/peaks/pits (see for some examples of complication). There are some sources with this problems partially fixed - and seem to be the most popular, but both have a problematic copyright status. First has “Users are prohibited from any commercial, non-free resale, or redistribution without explicit written permission from CIAT”, second claims that “Elevations and contour lines are facts that should be ineligible for copyright”. While I agree that this should be ineligible for copyright I am not sure whatever these data is eligible for copyright (or fall under equivalent laws). AFAIK it is likely to be covered under database rights (collection of data may be protected even if individual entries are not copyrighted and there is no creative work involved).

See comparison of maps in a basic sample.


The previous comparison is revealing also another weakness in openstreetmap-carto - it is not capable of diplaying landmarks earlier. Google maps is fairly good at this - though with results badly affected by fact that “business paid for advertising” is one of criteria for landmark. Sputnik is trying, sometimes with fairly good results, sometimes with rather poor. But this problem is mostly affecting higher zoom levels.

On lower zoom levels mostly two types of landmarks are visible - “the highest mountain in region” visible above gives quite good results.


Sputnik seems to be also quite good at deciding which airports should be rendered. There are some mistakes, but overall their algorithm works fine. See Atlanta or Bogota with cluster of airpots to the west and cluster of airports in the eastern direction.

It is interesting whatever solely OSM data is used here.

See “Too many tiny private airports on the map at small scales”.

Comment from imagico on 18 July 2016 at 08:07

Regarding relief rendering - this is not feasible to do with shading in combination with the current extensive and highly differentiated area coloring.

In addition Mapnik and similar tools AFAIK are currently not capable to produce high quality shading. Mapzen has recently showed a demo illustrating some very basic techniques for shaded relief - which is already far beyond what Mapnik can do.

By the way BushmanK recently pointed to an interesting new data source for relief data which however also requires significant processing to be useful on a global level.

Regarding point features at low zooms - i think this is usually well doable purely from OSM data, the question is more if it can be done on-the-fly or requires preprocessing.

Comment from Rovastar on 18 July 2016 at 18:21

For the airports the solution has been in that github issue for a year and a half.

Comment from BushmanK on 18 July 2016 at 20:53

How about OpenMapSurfer?

Comment from dieterdreist on 23 February 2017 at 09:20

@imago: why isn’t mapnik capable of producing the shading? Can you please expand on the details, are you referring to feeding hgv / dem data directly into mapnik, or are you referring to adding preprocessed hillshading raster layers? I have used shading in mapnik 0.7 many years ago (with gdal hillshading script) and it already worked. Doesn’t the final quality depend in the first place on the input raster files of your layer, less so on mapnik?

Yes, rendering the hillshading on the fly might be a problem, but blending in preprocessed hillshades in a suitable way (e.g. multiply and screen overlay) isn’t. You can do this for many years.

Login to leave a comment