Andy Allan recently ported the OpenStreetMap standard style from pure Mapnik XML to CartoCSS and TileMill. This is exciting as it’s a huge step towards making contributing to the style more accessible. The port is nearly perfect and kinks are being worked out right now. I took a minute to spot check and pull together a couple of screenshots showing just how close this awesome piece of work is. I hope to see this go up soon on OpenStreetMap.org. Andy’s port wouldn’t change anything about how tiles are being rendered on OpenStreetMap, all that changes is how the style for those styles would be created: In the future, we’d use TileMill and generate the Mapnik XML from user friendly Carto CSS.
Here is San Francisco in the new OSM-carto port, just looks like the existing map:
Setup
For spot checking I use the comparison app that Ian and Tom cobbled together using OpenStreetMap US servers and bl.ocks.org. It shows the existing OSM Standard style to the left (I’ll just call this style ‘OSM’ for the remaining post) and the new port to Carto CSS on the right (I’ll call it ‘OSM-carto’ for the remaining post). Note: right now it’s slow / down as performance problems are being figured out.
What follows here is a quick log from my review, others have been busy spot checking, too, head over to the issue queue to find out more.
School labels are different
School labels aren’t bold in the new OSM-carto style. This has been fixed in the meantime.
OSM (existing):
OSM-carto (new):
Complex junctions
Complex junctions seem to be rendering great with roads correctly rendered on top of each other and labels placed well.
OSM (existing):
OSM-carto (new):
OSM-carto has halo on secondary
OSM has no halo on secondary, while OSM-carto does have one in orange (see Castro street label) #25.
OSM (existing):
OSM-carto (new):
OSM-carto has no halo on tertiary
To the contrary, OSM has a white halo on tertiary highways where OSM-carto has none #24.
OSM (existing):
OSM-carto (new):
Label placement seems to be slightly different
This might be due to slightly stale data and generally doesn’t seem to make a difference in terms of cartographic quality. In this difference rendition between the OSM and the OSM-carto style you can see how all labels seem to be offset by a certain factor and some street labels are placed at different positions along the way.
Low zoom levels
Low zoom levels look almost perfect at quick inspection. I do not know where differences in labels (see Sapporo for instance) come from.
OSM (existing):
OSM-carto (new):
Mid zoom levels are almost 100% the same
OSM (existing):
OSM-carto (new):
Difference:
Differences in landcover order
There are some known differences in the order of land cover. This is being worked out right now in #15. Here is an example where the difference in landcover order surfaces in the visual result.
OSM (existing):
OSM-carto (new):
Discussion
Comment from Gnonthgol on 20 December 2012 at 20:35
I see a flaw in your setup that might be the cause of a lot of the differences. Mapnik is not very determenistic and small variance in the input data such as order of elements etc. can make a big difference in the rendered map. You are using a relativly newly imported database for the carto rendering and a very old database for the osm rendering. For a propper comparason you should use the same database for both maps.
However the differences that are now are not important at all and I think the carto style is a lot closer to the original mapnik style then necessary.
I would love to see some new development on the osm style.
Comment from lxbarth on 20 December 2012 at 20:47
Thanks for pointing this out, Gnonthgol. I sort of had this hunch especially with label placement.
Can’t wait for that, personally.