OpenStreetMap

Map Art

Posted by Harry Wood on 15 December 2010 in English (English)

On Friday it's the OpenStreetMap Christmas party, taking place at various wordwide OSM party points: Toronto, Bremen, Grenoble, Belo Horizonte, and of course London. Although it may look like a normal pub meet-up, the idea is to make this a big one, full of Mappy Christmas cheer! It's on a Friday, so hopefully people will make the journey from a little further afield than usual.


I just had to bring out the holly bells picture again. I'm super proud of it. It took me a good few hours to create this image. Obviously I agonised over the artistic aspects of it, such as highway=secondary versus highway=tertiary for the bell stripes, but the real reason it took so long is because I was getting up and running with the dreaded Mapnik. My approach to this kind of thing tends to involve making every mistake in the book before hitting upon a vaguely working installation. Here's how not to do it:


  • Followed the 'Build your own OpenStreetMap Server' tutorial by Richard Weait

  • Discovered that I had already done all the database set-up steps over a year ago, and eventually remembered names and passwords

  • Discovered that I had an ubuntu package installed for Mapnik (Version 0.7.0 is available as a package) ...and wondered if this was going to work

  • Drew a quick holly sketch in JOSM, and saved it as a holly.osm.bz2 file

  • ./osm2pgsql -S default.style --slim -d gis -C 2048 ./holly.osm.bz2

  • ./generate_xml.py --dbname gis --user harry --accept-none

  • Modified the bounding box in generate_image.py to match the "location" of my holly

  • ./generate_image.py gave this 'needs Mapnik version 0.7.1' error

  • Generally misinterpreted that error and fannied around with osm2pgsql for a while. Springmeyer set me straight. Thanks!

  • Downloaded Mapnik 0.7.1 and followed instructions to install from source (UbuntuInstallation)

  • ./generate_image.py Success! Except the zoom level of the rendering was wrong. No text appearing

  • Tried to tweak the zoom settings for ./generate_image.py but found my holly was occupying too much of the planet's surface (in the data)

  • Learned about a new "resize selected objects" feature just added to josm-latest, so upgraded JOSM

  • Resized holly to get a good rendering with "Mappy Christmas" showing

  • added bells

Phew! If you're installing mapnik to draw a stupid picture, you might want to skip a few of those steps :-) By the way... it's not actually a very original idea of mine. Matt did a Mapnik Christmas tree, and did a better of job of it, back in 2008.

But enough of this silliness. Now that I have mapnik installed I can start rendering maps! I was just having a play with it on some London data.

Bond st without buildings and landuse.png

If, like me, you spend a lot of time panning around the map of central London, then this little patch of map will look familiar and yet strangely unfamiliar. The Bond Street area is normally a bit of a mess on the map. Incomplete splodges of landuse and buildings. I tried switching those things off. Quite suddenly London looks great! (I rendered a much bigger image of the whole of central London) I wouldn't suggest dropping those things from the default rendering, but having the power to drop them from my own rendering is quite fun.

So that was commenting out some landuse rules in osm.xml, and setting status="off" in inc/layer-buildings.xml.inc Just some basic fiddling so far.

But enough "cartography"... back to the art.

The Humanitarian OpenStreetMap Team Logo design competition is receiving entries. You can have some feedback from the judges if you manage to get your designs to me at this stage, The suggested deadline for that is tomorrow (Thu). So now would be a good time to fire up inkscape and put together a design. I've only received a handful of entries so far, so you'd be in with a good chance! And remember the winning design could be something very simple.

Login to leave a comment