ryerson university openstreetmap hack weekend workshop on using osm data in open source gis

10
Workshop/Seminar (~1 hr) Consuming OpenStreetMap Data in an Open Source GIS Michael Markieta <[email protected] > Geographic Analysis – Ryerson University Provided under CC-BY-SA 3.0 . Please leave the attribution in tact but feel free to alter this work.

Upload: michael-markieta

Post on 27-Jan-2015

118 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Workshop/Seminar (~1 hr)

Consuming OpenStreetMap Data in an Open Source GIS

Michael Markieta <[email protected]>Geographic Analysis – Ryerson University

Provided under CC-BY-SA 3.0. Please leave the attribution in tact but feel free to alter this work.

Page 2: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Now that we know all about OpenStreetMap

● How should we consume OSM data?

– Data Formats● xml, shp, kml, etc...

– Methods● CLI tools, QGIS Plugins, ArcMap Extensions, etc...

– Performance● Mix of robustness, efficiency and ease of use

Page 3: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Where can I download OSM data?

● Variety of mirrors that specialize in:

– Areas of the “planet” or the “planet” itself– Update schedule (monthly, weekly, daily, etc...)– Diffs (for tracking changes)

● List of current “planet” mirrors:http://wiki.openstreetmap.org/wiki/Planet.osm

– We can use this list to find extracts of smaller areas as well (e.g.: City of Toronto, Melbourne, etc...)

Page 4: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Choosing an appropriate data format

● Depends on:

– size– intent– skills– wants/needs

● Balancing act!

– No need for a full blown database when all you need is a snapshot of the Ryerson Campus buildings

● Lets take a look at what kind of data is available here: http://download.bbbike.org/osm/bbbike/

0

5

10

Page 5: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Selecting an extract format

Any GIS Software will open a “shapefile”

.osm files for database imports

Page 6: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Methods (briefly)

Page 7: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Ubuntu 12.10 CLI● Working with the Toronto.osm.gz extract from bbbike.org● Add repositories, update, upgrade and install everything we need

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstablesudo add-apt-repository ppa:kakrueger/openstreetmapsudo apt-get updatesudo apt-get upgradesudo apt-get install qgis osm2pgsql

● osm2pgsql will ask to automically create and configure a database, sounds good!Give the postgres user a password:

sudo -u postgres psql postgres\password postgres

● Just for reference

dbname=OSM username=postgres password=workshop

● Add the PostGIS extension to our database

sudo su postgrespsql -U postgres OSMCREATE EXTENSION postgis;

● Download Toronto.osm.gz and unpack it (.gz means its compressed)

wget http://download.bbbike.org/osm/bbbike/Toronto/Toronto.osm.gz && gunzip Toronto.osm.gz

Page 8: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Ubuntu 12.10 CLI● Working with the toronto.osm.gz extract from bbbike.org● Populate the database with the Toronto.osm extract

sudo su postgresosm2pgsql -s -U postgres -d OSM -W -E 'EPSG:4326' -G Toronto.osm

● What does this do exactly?

osm2pgsql : the script that parses the toronto.osm file into the database-s : run in slim mode (to reduce RAM usage incase we don't have enough)-U postgres : database username-d OSM : database name-W : force password prompt-E 'EPSG:4326' : coordinate system used to store the data (WGS84)-G : generate multi-geometry (multi-point, multi-line, multi-polygon)

● That's it! About 12 lines of code and we have put the latest data from OpenStreetMap for Toronto into our database, ready to be queried.

Page 9: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Using QGIS to access the data

● Data stored as:

planet_osm_pointplanet_osm_lineplanet_osm_polygon

● Example query in SQL

select * from planet_osm_point where “amenity”='cafe';

● QGIS Query Builder

“amenity” = 'cafe'

Page 10: Ryerson University OpenStreetMap Hack Weekend Workshop on Using OSM Data in open source GIS

Try it out on your own machine!

VMWare Virtual Machine running Ubuntu 12.10

QGIS File : “~/desktop/Toronto Demo.qgs”Database : OSM <localhost postgres:workshop>

Data : Toronto

QGIS File : “~/desktop/Melbourne Demo.qgs”Database : OSM2 <localhost postgres:workshop>

Data : Melbourne