Tuesday, 25 January 2011

Simulating Urban Atlas using OSM

A few days ago the EEA Urban Atlas data came to my notice (thanks mackerski). I blogged my preliminary impressions, noting that it should be possible to use OSM as a starting baseline for such data. Today I show that this is not only possible, but straightforward and quick.

The main picture shows OSM data for the city of Nottingham and surrounding district councils of Ashfield, Broxtowe, Erewash, Gedling and Rushcliffe (area UK029L in Urban Atlas). Data have been plotted for each land cover class in Urban Atlas, except that all residential areas have been plotted as class 11220.

The basic methodology was as follows:

  • Download OSM extract for England from Geofabrik.

  • Extract a bounding box using osmosis

  • Load the bounding box into PostGIS using osm2pqsql

  • Extract a shape file for each landcover class using PostGIS

  • Layer shape files and change symbology in PostGIS


Output was generated so as to resemble the PDF file distributed by the Urban Atlas project for the Nottingham area (included in this zip file). A legend was not generated for technical reasons concerning QGIS.

A few remarks about the processing:
  • Roads and railways were buffered to generate an approximate landcover with buffers of 30m for motorways, 15m for primary and trunk roads, 10m for railways, 7.5m for secondary roads, 5 m for tertiary and 3.75m for others.
  • Residential areas were not broken down as comprehensive building outlines are not available in OSM. Furthermore, residential areas would require breaking down using intersection operations before this could be done.
  • Nature reserves should have been processed with agriculture. No doubt other groups of polygons were probably missed accidentally.
  • Spherical mercator projection was used throughout because I could not easily get the projection option of osm2pgsql to work under windows.
The next step is to repeat this within PostGIS and do a direct comparison with the official data. However, there are some obvious edits which I can do now to make the OSM data even better.

Oh, and how long did it take me: just over 3 hours, and it would have been faster if I hadn't clipped the bounding box a little too tightly on the first pass.

No comments:

Post a Comment