I want to make a map of Cardiff, Wales, showing features useful to tourists, e.g. roads with road names, parks, museums, other POIs, etc. I want the final map to be clear to read - simple roads and names, basic outlines/boundaries - so editing (moving/manipulating) the data from its true georeferenced position would be ideal.

Using data from OpenStreetMap, I can't work out how to make a simple map in QGIS, and using Maperitive I can't find a way to edit the data from its original, simple view, despite being vector data.

A lot of the information online seems to be quite old, for example the OSM plugin is no longer available in the latest version of QGIS.

Is anyone able to offer advise on making a simple, editable map of a city?


I've blogged my workflow which uses OSM + Osmosis (might be optional) + ogr2ogr + QGIS to create maps which look like Google Maps.

While QGIS can load .osm files, I found that performance and access to attributes is much improved if the .osm file is converted to spatialite. Luckily, that’s easy using ogr2ogr:

C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm

When we load the spatialite tables, there are a lot of features and some issues:

  1. There is no land polygon. Instead, there are “coastline” line features.
  2. Most river polygons are missing. Instead there are “riverbank” line features.

Luckily, creating the missing river polygons is not a big deal: First, we need to select all the lines where waterway=riverbank. Then, we can use the Polygonize tool from the processing toolbox to automatically create polygons from the areas enclosed by the selected riverbank lines.

Creating the land polygon is more involved since - most of the time - the coastline will not be closed for the simple reason that we are often cutting a piece of land out of the main continent. Therefore, before we can use the Polygonize tools, we have to close the area. To do that, I suggest to first select the coastline using "other_tags" LIKE '%"natural"=>"coastline"%' and create a new layer from this selection (save selection as …) and edit it (don’t forget to enable snapping!) to add lines to close the area. Then polygonize.

enter image description here

  • 1
    The performance and access to attributes can be improved more by creating indexes for attributes which are used in rendering styles. Highway attribute on the lines layer is perhaps the most important. Funny, but indexes can be created with ogrinfo: ´ogrinfo noirmoutier.db -sql "create index lines_highway_idx on lines(highway)"` – user30184 Jun 6 '14 at 19:39

You can download the data in shapefile format from http://extract.bbbike.org/ which is ready to be used in qgis.


As you already found out, you can also use Maperitive that uses .OSM XML files as input. So you can just tweak the OSM data files and refresh the rendering in Maperitive and will get an very simple workflow for editable highres map styling :)

  • Thanks for your reply. How (with what) would you tweak the OSM files? Excuse my being a novice to this! Thanks again. – user31106 Jun 7 '14 at 7:20
  • You should try JOSM editor, as it supports offline editing. See wiki.openstreetmap.org/wiki/Video_tutorials – Mapper Jun 8 '14 at 7:30

Well, using QGIS or ArcMap is as simple as it gets, i fear.

My suggestion would be to simply use an online map service like Google Maps or osm with a tourist-specific overlay.

But if you still want to create your own map, i can at least help you with the osm data. Here you can find the complete osm dataset of Wales. Good luck :)

  • Thank you for your advice, Karpfen. I've got a lot to learn, but I'm determined to do it properly! – user31106 Jun 6 '14 at 17:20

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.