analysing openstreetmap data with qgis
DESCRIPTION
Presentation to UK QGIS South East User Group, 2nd April 2014 at Imperial College LondonTRANSCRIPT
Analysing Analysing OpenStreetMap Data OpenStreetMap Data
with QGISwith QGIS
JerryJerry CloughCloughSK53 on OpenStreetMap
My BackgroundMy Background
● Biologist, Computer Scientist, Management ConsultantNaturalist
● GIS--, DB++– OLAP platforms since late 1980s
● OSM since Dec 2008● QGIS since Jan 2011 (1.1 => 2.0)● Mainly analytical uses● Interests: landuse, landcover, biotopes, local
government open data, (pubs)
OSM Need to KnowOSM Need to Know
● Open Vector Data● 3 Geo-primitives
– Node (= point)– Way (= linestring)
● Closed ways may represent areas
– Relations● More complex geothings
– Multipolygons– Geo-relations
● NO layers
● Volunteer Sourced– “Wiki map of the
world”
● Free Tagging– aka Folksonomy
● Variable Coverage–
Some 'Interesting' Stats for GBSome 'Interesting' Stats for GB(with apologies to Ordnance Survey)
● Pylons: 58,487 (OSGB: 80,517)● Post Boxes: 42,742 (93.728) ● Camp sites: 3,192 (8,908) ● Buildings: 1,890,835 (35,397,754)● Bus Stops: 215,720 (354,099) ● Petrol Stations: (7,702)● Addresses: 27,341,262 (OSGB);
532,886● Electricity Poles: 94,199 (183, 987)● Road length: 522,627 km
(407,532 km)
● 5 post boxes with Edward VIII cypher
● Only 110 War Memorials● 847 Fire Hydrants● 1,378 Real Ale pubs
– 82 with Real Fires
● 4771 Cycle Parking● 300 Wildlife Hides● 5,552 Stiles● 1,774 Canal Locks● 2 Knitting Shops
Ordnance Survey figures: /www.ordnancesurvey.co.uk/blog/2013/04/10-fascinating-facts-from-ordnance-survey/OSM figures (April '13): /taginfo.openstreetmap.org.uk/
How I use QGISHow I use QGIS
● OSM data => PostGIS DB● Initial analysis in QGIS● PostGIS routines for more complex data
manipulation● R and other tools for stats/segmentation● Visualisation in QGIS
Case Study 1 : PubsCase Study 1 : Pubs
Pub Density in Great BritainPub Density in Great Britain
Cartograms based on PubsCartograms based on Pubs
Cartograms based on PubsCartograms based on Pubs
Case Study 2:Case Study 2:Simulating Urban AtlasSimulating Urban Atlas
● 300+ EU cities population >100k– 119 in April 2010– 228 in Sept. 2010
● Baseline date 2006-7● Used 2.5 m imagery● 5-6 year refresh cycle● Minimum Map Unit (MMU) 0.25 ha
urban / 1 ha rural
http://sia.eionet.europa.eu/Land Monitoring Core Service/Urban Atlas
Examples of mapping OSM Tags Examples of mapping OSM Tags to Urban Atlas Categoriesto Urban Atlas Categories
UA Code
UA Description OSM Tags Comments
14100 Parks, Urban Green Space amenity=graveyardlanduse=cemeteryleisure=parkleisure=village_green
14200 Sports Areas landuse=allotmentslanduse=recreation_groundleisure=golf_courseleisure=pitchleisure=stadium
20000 Agricultural Land landuse=farmlanduse=farmlandlanduse=pasturelanduse=orchardlanduse=vineyardleisure=nature_reservenatural=scrub,natural=heathnatural=wetlandnatural=rock,natural=scree
Additional OSM tags are also valid for this code (e.g., natural=glacier)
30000 Woods & Forest natural=woodlanduse=forest
50000 Water landuse=reservoirwaterway=riverbanknatural=water
Painter’s Algorithm in QGISPainter’s Algorithm in QGIS
Case Study 3:Case Study 3:
Retail in OSMRetail in OSM
Retail Geo-dataRetail Geo-data
DriversDrivers
–Personal interest• Used to consult to large retail chains & FMCG firm
–Article in Directions about Geolytix• Featured Nottingham, my main mapping location
– Availability of Food Hygiene Open Data
QuestionsQuestions– How difficult was it to systematically get retail landuse and retail
sites into OSM?
– Was OSM data good enough for segmentation of landuse?
Source: Geolytix in Directions Magazine
FHRS 1
(local) Government Open Data
• Addresses
• Partial geolocation
– postcode
• Business Type
– Pub/Bar/Nightclub
– Supermarket
– Café/Restaurant
– Other Retail
• Covers at least 50-60% of retail outlets
• Usually current
– Typical inspection interval 6-12 months
Tracking my ownTracking my ownOSM MappingOSM Mapping● Plot premises by postcode centroid
● OpenLayers plugin for background
● Track areas visited and added to OSM in Excel Spreadsheet
● S/s linked in as layer
● Update to show places to map
● Push un-surveyed postcodes out as a GPX
● Load GPX on Garmin
Conclusions Nottingham Retail 2
Conclusions Nottingham Retail 3
Classifying Retail Areas
Case Study 4 : Street LightsCase Study 4 : Street Lights
Street Lights and OSM QualityStreet Lights and OSM Quality
Street Lights and OSM QualityStreet Lights and OSM Quality
Maps for DogsMaps for Dogs
Approaches to using OSM DataApproaches to using OSM Data● Direct from OSM (API/ XML
files)– Earlier Plugin (deprecated)
– 2.0 method
– ogr2ogr
● via Postgres DB– osm2pgsql
– osmosis
– imposm
– osm2postgresql
– osm2pgrouting
● via Shapefiles– Geofabrik
● Limited number of layers
● Limited sets of attributes
– Roll your own
http://wiki.openstreetmap.org/wiki/Osmosis http://wiki.openstreetmap.org/wiki/Osm2postgresqlhttp://sourceforge.net/projects/osm2postgresql/http://download.geofabrik.de/
Postgre-SQL/GIS and osm2pgsqlPostgre-SQL/GIS and osm2pgsql● osm2pgsql converts osm
data to postgres/postgis– Slightly lossy
● Relationship between members of multipolygons
● Road and other network topologies
– Can choose projection ● default 3087
– Can tweak import rules● Style files● LUA
– Fiddly under Windows
● osmconvert & osmfilter– Very useful tools to preprocess
data for particular purposes● Filter on OSM tag values● Convert polygons to centroids
● ALWAYS USE -k option – Stores less widely used tags as
an hstore column– Maximises flexibility– Throws away coastline by
default (sometimes useful to keep it)
http://wiki.openstreetmap.org/wiki/Osm2pgsqlhttp://wiki.openstreetmap.org/wiki/Osmconverthttp://wiki.openstreetmap.org/wiki/Osmfilter
ProblemsProblems
● Polygon Handling● Generalisation● Missing data● Free-form Tagging
The Problem with PolygonsThe Problem with Polygons
• No Area primitive in OSM• Overlapping polygons• OSM
– Broken polygons– Intersecting polygons
– osm2pgsql
• In QGIS
– Render OK– Geometry Operations fail
• Essential tool: cleangeometry PostGIS function (SOGIS)
http://www.sogis1.so.ch/sogis/dl/postgis/cleanGeometry.sql
GeneralisationGeneralisation
• Multiple Ways– Most objects will be formed
from many OSM ways (e.g, Thames, M4)
• No simplified data– Dual carriageways– Roundabouts and flares– Built-up areas – Over noded for many uses
• Fine-grain tagging
• May require elaborate pre-processing
Tagging IssuesTagging Issues• Synonymy
– natural=wood
– landuse=forest
• Variable Semantics
– highway=path
– place=hamlet
– highway=trunk (gets changed every now & then)
• Tagging for the Render
– natural=sand for Golf bunker
– landuse=grass Everywhere
• Semantic Degradation
– Tag with accepted semantics being used for something else
– landuse=recreation_ground for Ski areas in US
• Odd names
– shop=mall Shopping Centre
Incomplete DataIncomplete Data
Other things I do in QGISOther things I do in QGIS
● Vice County maps using OSGB Open Data– Plan to investigate Atlas module now
● Distribution Maps of Trees in N. Hemisphere● Attempts to analyse suburban structure based
on building dates– Used Portland Oregon data
– Huge Delauney triangulation
ConclusionsConclusions● QGIS fantastic tool for a wide range of manipulations of
OpenStreetMap data– Particularly well suited for
● Prototyping & visualisation● Combining with other Open Data sources
● Recommend use with PostGIS– Maximises flexibility
– Reduces complexity of potential learning curve for the OSM toolchain
– Ability to manipulate data in PostGIS may be important
● Be aware of limitations and gotchas of OSM data
Supplementary SlidesSupplementary Slides
● Managing polygons for detailed analysis (Urban Atlas)
PostGIS ProcessingOSM
Polygons
OSMLines
Painter'sAlgorithm
Rules
ClippedPolygons
ClippedLines
Cleaned &Clipped
Polygons
UA ShapePolygons
Clean GeometryGridded UA
ClassesFilter on Tags & Grid
Gridded &Buffered
UA ClassesTag Filter, Grid & Buffer
Clip to Area
Clip to Area
Piecewise Union Union Step 1
Un
ion
Union Step 2
Me
rge
Class GriddedPolygons
Merge
GridGridded UAPolygons
UnionClipping areasby UA Class
Clip
pin
g R
eg
ion
FinalPolygons
CompareUA/OSM
Union/Intersect/Difference
Comparison 1
No OSM Data
Residential
Disagreement
Agreement
Nottingham Area
Comparison 2
No OSM Data
Residential
Disagreement
Agreement
Agreement
Supplementary SlidesSupplementary Slides
● Examples of OSM Mapping from Port-au-Prince January 2010