SlideShare a Scribd company logo
Harry Wood
OpenStreetMap : Open Licensed Geo Data
British Computer Society : Monday 27th
April 2009
Topics
●OpenStreetMap purpose and premise
●Data structures: Nodes, Ways ,Tags etc
●Editor demo
●OpenStreetMap servers and architecture
●Rendering and map displays
●The license
●CloudMade products and services
●Imports and other mapping techniques
●Getting Involved
NOTE:
Ran out of time for
these topics on the day.
The slides for these
have also been
removed from this deck.
Could present them on
another occasion!
Free as in Freedom
●Open license:
–Creative Commons Attribution Share-alike
●“Open Content” like “Open Source”
●Contributors retain ownership of copyright
●People and commercial companies can use the
maps for free under this license.
–Details of license requirements?... coming up
Getting an Open Licensed Map
●Can't copy copyrighted maps
● Not allowed to import copyrighted data
● Not allowed to copy from copyrighted maps
● Not allowed to trace over copyrighted maps
● Not allowed to “derive”
●Can copy some maps, but only...
● Public domain. Unrestricted (incl. relicensing)
● Get permission to release with an open license (big ask)
●Can create maps completely from scratch
● crazy idea?
GPS traces
● How it started. Gadgets!
● Cheap consumer GPS
units or location-aware
mobiles
● Record a line of dots
Record many lines of dots....
Looks like a street map. Kind of
Recording data
Names of streets
Types of streets (trunk, residential, motorway)
One-way restrictions
Footpaths, tracks, pedestrian, rivers, railways
Parks, woodland, industrial areas, cemeteries
POI (pubs, cash machines, post offices, post
boxes, bus stops, toilets, supermarkets, restaurants,
kebab shops, monuments, hotels, picnic sites, barriers, light
houses, piers, sports centres, petrol stations, playgrounds,
cinemas, car parks, universities, bicycle parking, tourist information, etc
etc etc
Mapping Techniques
●Photo Mapping (geo-located photos)
●Audio mapping
●Taking notes
●
●Ditch the GPS
● Taking notes
● Local knowledge!
● Yahoo Aerial Imagery
Mapping: A lot of effort
●Gather data
● GPS traces and other information
●Input data
● using OSM “editor” software
●Requires a lot of effort
● Requires a lot of people!
Community Contribution
●Built by a large online community
●Many hands make light work
●Openly editable (and easy)
●Poor quality contributions?
● Gradual refinement
● Assume good faith
● Monitoring and correction
....Remarkably it works!
Sounds familiar?
Wikipedia
●Large community coming together to build
something great!
●Wikipedia Principles
● Openly editable
● Open content license
● Gradual refinement
● Assume good faith
● “Soft Security” Monitoring and correction
looks like wikipedia
OpenStreetMap = The wikipedia of maps
Community
It's big. 100,000 registered users
Community
Increasing editing activity
Community
Very Active
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
User rank
Less Active
Lopsided
Long tail of less active users
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
Cambridge
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
Global Project!
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
Open Licensed Data
A copyrighted map
...is a justification for OpenStreetMap
(It can't be used freely therefore OSM is better)
...cannot be a source for openstreetmap
Existing maps are very rarely free
Ordnance Survey
●Wonderful data in the UK
●OS license use of maps (and charge ££££££)
●Never allow re-distributing with a different license
●Very strict about copying
and their definition of
“derived” work
Guardian 'Free Our Data' Campaign
● Lobbying government
● Tax paid for data collection
● Tax still pays indirectly
● Economic benefits of free
● Slow progress
● OS might release
● low quality data first
● less-than-free license
● Or might be privatised!
● Whine about it or take action?
OSM and Ordnance Survey
£many
£0
Low quality High quality
OS
OSM
● We can't can't use google maps
● License their data from teleatlas
● ...who license data from Navteq / Teleatlas
● ...Ordnance Survey!
● No access to underlying data
● Google terms & conditions
● Don't allow deriving data from their maps
● Don't allow copying & re-distributing with a different license
● Wonderful hi-res aerial imagery
● T&Cs do not allow deriving maps (tracing)
● Bought in (licensed) from multiple suppliers
Google Maps
Why not use Google Maps?
Wonderful “free” (beer) mash-up API but...
●Errors and omissions
●Car centric. Footpaths and other details
●Cycle routes and Pistes
●Colours / branding - Google maps fatigue
●SVG export. Custom cartography
●Underlying data access!
● Details of OSM map access coming up
●Help OpenStreetMap!
Oxford University Website
OSM has better
maps of Oxford
Encourages the
OSM
community
Other uses
coming up...
Nodes, Ways, Relations
Node
Has latitude and longitude
Can stand alone, or form part of a way
Way
Joins together several nodes
Direction sometimes matters
Can form a 'closed way' (area)
Relation
For complex things such as routes
Tags
Applied to the Nodes, Ways, & Relations
Key value pairs
amenity=pub
name=Hare & Hounds
highway=residential
name=Court Street
http://www.openstreetmap.org/?lat=53.548078&lon=-2.004771&zoom=18
Data Browser demo
Data Browser
Permalink
JOSM demo
JOSM demo
OpenStreetMap Servers
Hosted in UCL
Loads of bandwidth
~10 servers:
Where does the data go?
http://wiki.openstreetmap.org/wiki/Servers
OpenStreetMap Foundation
Custodian of servers and sysadmin access
Oversees funding and vehicle for fund raising
Protection from copyright and liability suits
Database Server
Motherboard Supermicro X7DWN+ motherboard with Intel 5400 (Seaburg) Chipset
CPU 2x Intel Xeon Processor E5420 Quad Core 2.5Ghz
Memory 32GB DDR2 667 ECC
Disk 2x 73GB (3.5) SAS 15K
10x 450GB (3.5) SAS 15K
donate.openstreetmap.org
Raised £10,000 in 2 days
OpenStreetMap : Open Licensed GeoData
API
● REST web service
● HTTP GET & PUT
● Get elements at URLs
http://www.openstreetmap.org/api/0.6/node/297556642
● No bloated request payloads
● Ruby on Rails
Ruby on Rails
● It's easy. Web + REST
● Fashionable. Developers like it
● Developers are our most limited resource.
● It's what SteveC used
● Problems?
● Can't stream data from db
● Memory hungry and leaks somewhere
● Maybe use something else for core API
Nodes
http://www.openstreetmap.org/api/0.6/node/297556642
<node id="297556642"
lat="53.548223"
lon="-2.0056012"
version="2"
changeset="648346"
user="Guy"
uid="10983"
visible="true"
timestamp="2008-09-16T20:42:44Z">
<tag k="name" v="Hare &amp; Hounds"/>
<tag k="created_by" v="Potlatch 0.10b"/>
<tag k="amenity" v="pub"/>
</node>
Ways
http://www.openstreetmap.org/api/0.6/way/27120827
<way id="27120827"
visible="true"
timestamp="2008-09-19T13:19:53Z"
version="2"
changeset="664390"
user="Guy"
uid="10983">
<nd ref="298116100"/>
<nd ref="297555192"/>
<nd ref="297555193"/>
<nd ref="297555194"/>
<tag k="name" v="Court Street"/>
<tag k="created_by" v="Potlatch 0.10b"/>
<tag k="highway" v="residential"/>
</way>
Other API calls
GET a map
All elements within a bounding box
http://api.openstreetmap.org/api/0.6/map?bbox=11.54,48.14,11.543,48.145
PUT elements
Now requires “changeset open” request
Various other operations
History and changeset access
Get GPS points/tracks
Some database details
Switched from MySQL to Postgres last weekend!
Rails migrations in theory
In practice. C++ scripts running all weekend
Why the switch?
Lots of other planned restructuring
including new DB hardware
Good time to do it
MySQL
Generally fast and scalable enough
● Quadtile indexing extension
Several annoying flaws:
● schema changes cause table copies
● different features on different db engines
● (transactions on InnoDB, spatial on MyISAM)
● silently accepts invalid utf8
● constraints can't be deferred
● some non-standard SQL syntax
Postgres
● Addresses a lot of MySQL flaws:
● Faster schema changes
● Better support for transactions, utf8, etc
● Personal preference of our sysops
Full Revision History
Store a full history edits to elements
Essential wiki-like feature
Ideally provide simple roll-back
Access old versions of an element
Difficult to reconstruct old version of a map
Changesets
● Brand new feature
● Every edit belongs in a change set
● Every numbered version of every object
belongs in one particular changeset
● Changesets have comments
● Great for monitoring
Changeset Displays
http://www.openstreetmap.org/browse/changesets
Changeset revert?
● Reverting is still a difficult problem
● Changesets are not atomic
● Changeset 1 User:Sam Node 12345 v1
● Changeset 2 User:SallyNode 12345 v2
● Changeset 3 User:Sid Node 12345 v3
● Changeset 4 User:SallyNode 12345 v3
● Changeset 1 User:Sam Node 12345 v4
● Changeset 1 User:Sam Node 12345 v5
● Many interlinked elements
Conflicts
● Two users editing the same element
– Rarely happens actually
● Version mismatch now reported
– “Optimistic locking”
● Editors (should) do CVS style conflict resolution
● Download reveals conflict
● Upload not allowed until resolved
(Watch nice video)
OSM 2008: A Year of Edits
http://vimeo.com/2598878
planet.osm
● Snapshot of the OpenStreetMap database
● Entire planet. Every node, way, relation, tag
● Only 'current' data. Not history
● XML formatted .osm file
● 5.2 GB with bzip2 compression
● Uncompressed... 150 GB
● Takes several hours to dump. Every Wednesday
● Important part of Openness. Ensures longevity.
Osmosis
● Java toolkit for OpenStreetMap
● Various data transformations
● Minutely, Hourly, Daily diffs .osc.gz files
● Created by Osmosis. Consumed by osmosis
● Streamable changes
Open Tagging
● Mentioned tags briefly
– amenity=pub highway=residential
● Free-form open tagging. Any tags you like!
● Agree on standards
● Main openstreetmap.org map rendering uses
one set of tags
● Other map renderers, other tools, can use other
tagging schemes
'Map Features' wiki page
● BIG list of tags
Which tags go on this page?
● Wiki proposal process
● Wiki discussion and voting
● Wiki dabates (& blazing rows!)
– Different ways of tagging the same thing.
– Things which should not be tagged
● Wiki documentation
Smoothness Debate
● Vehement Objections
– Too subjective
– Verifiability
– Poor english
● Disruption
– Disregarding vote
– Wiki fiddlers
vs Mappers
– Wiki edit wars
– New process?
● Lock down?
The wrong way to think about tags
● Come up with lots of ideas for new tags
● Submit proposals, organise votes, generally
fiddle with the OSM wiki a lot
● Pester people to use tags in map renderings
...oh and maybe do a bit of actual mapping
The right way to think about tags
● Do mapping!
● Found something without a documented tag?
– Search thoroughly (in mailing list too)
– Use a less specific tag and qualify with type=
– Use a note= tag
– Just invent a tag
● Do more mapping!
● Discuss politely. Improve existing docs.
● maybe... possibly.... do a proposal
● Focus on mapping. Don't worry about rendering
TagWatch
● Tag usage stats
● Split by country
● Tags used in
conjunction
Rendering
● Topic follows on although...
tagging is not just about rendering
● Go from geodata (nodes, ways, relations & tags)
to rasterized map images
Rendering
Which tags to render?
● Thousands of different tags in the DB
● Can't show them all
● Choose features to show at different
zoom levels
– Cartography!
● What do you want to emphasise?
Rendering Toolchain
Slippy Map
Display
Mapnik
● Open Source rendering software
● Fast!
● C++
● Requires PostGIS database
Mapnik Stylesheet
● XML format
● 'styles', 'filters' and 'rules'
● >7000 lines long
● Pre-processing steps
– Cascadenik
– and also...
osm2pgsql
● Step before using Mapnik (& stylesheet)
● load OSM data into a Postgres database
● Lossy conversion. Only take tags of interest
● nodes and ways → linestrings and polygons
Slippy Map
Display
● Open Source JavaScript library
● Dynamic slippy map on your website
● WMS layers
● Tile based map layers
● Transparent overlay layers
● Markers, Boxes, Polygons, Click events
In the end we want a map display...
Tiles
● Small map images
● Cacheable
● Fast loading
● Sized to optimize speed
– Too big. Unneeded map area
– Too small. Too many requests
– 256x256pixels
Tile Naming
● Slice the world into tiles at each zoom level
● Tiles are always 256x256 pixels
● Represent different sized area of the world at
different zoom levels
Tile Naming
Zoom level 0 has only one tile (whole world):
Tile Naming
Zoom level 1 has 2x2 tiles
Tile Naming
● Zoom level 2 has 4x4 tiles
● Zoom level 3 has 8x8 tiles
● Zoom level 4 has 16x16 tiles
...
●
Zoom level n has 2n
x2n
tiles
...
● Zoom level 18 has
262144 x 262144 tiles
Tile Naming
● Every tile has a URL
http://tile.openstreetmap.org/12/2047/1362.png
y
Zoom Level
(0-18)
x
● Tile naming scheme followed by OpenLayers
● Same used by google maps
● Looks like filesystem URL
Tiles =High Performance Computing
262144 x 262144 = 68,719,476,736 tiles
inode problem!
5 kB each = 320 terabytes
But then there's zoom 17.... another 80 terabytes
etc...
Tiles =High Performance Computing
OpenStreetMap updates?
● Apply diffs
● Re-render tile images!
● CPU problem!
Caching and mod_tile
● mod_tile
– Apache module. Very fast
– Render-on-demand if necessary
– Clever caching
– Serves old cached images and labels as dirty
– Dirty tiles get re-rendered by render daemon
Slippy Map
Display
Bandwidth
● Serving terrabytes of tile data. High bandwidth
● UCL
OpenCycleMap.org
● Using OpenStreetMap
– Presenting special interest map
– Same data. Different cartographic choices
● Toolchain running on another server
– Updates fed in
– Passionate sub-set of the OSM community
Route relations, Cycle Parking, Bike Shops, Drink
Relief maps!
SRTM
● NASA - Shuttle Radar Tomography Mission
● Public Domain
● Problems
– Spot heights – not contours
– Course grid
– Voids and other anomalies
CycleMap tool chain
● Downloads weekly planet dump
● SRTM. More steps in the chain!
● Bandwidth problems. Now hosted by CloudMade
OpenPisteMap
Hiking Map
Whitewater Map
Bus map
Kosmos
● .NET (windows only)
● Desktop app
● Can generate tiles
● wiki based
style config
osmarender
● First good OSM renderer
● Used to be the only way to get SVG
● Complex perl XSLT
● Generates SVG (XML vector graphics format)
● Feed in .osm file and style config
● Can't be used to generate tiles.... or can it?
'osmarender' layer
tiles@home
● Distributed tile rendering
– Instructions dished out from tiles@home server
– Many clients download via API and upload
images
● 'osmarender' layer
– Used to provide the fastest updates
● XSLT transforms & inkscape SVG rendering
– Eats massive amounts of CPU
– Mapnik more sensible. ...no need to distribute
Other renderers?
● Plenty of scope to develop but..
● high performance problem
● Complex graphics problem
● e.g. phprender
Needs
a bit
of
work!
We want people to be free to use our maps!
OSM License Requirements
● Free to bring maps into “collective” works
– Must give “attribution”
● Free to create “derivative” works
– must share-alike
● Awkward complications:
– What exactly counts as “derivative work”?
– How do you give credit to the “authors”?
ODbL + ODC-Factual
● Open Data Commons
● Open Database License
● Factual Information License
● Benefits:
– copyright, database right, and contract
– Expressly written for data
– More strict about underlying data (forcing sharing),
but less strict about end products
Commercial use is allowed!
● OSM destroys business models ...or does it?
– Destroys monopolies on geo data
● Allowed to charge for distribution
– Can't disallow further distribution
– Monetary value tends towards zero
● Allowed to charge for services
– Distribute different formats / renderings
● Solve difficult problems (+time dependant problems)
● Hosting
– Consulting services
● Just use maps. Core business not in geo-data
Flickr
Nestoria
'Trails' iPhone app
Get Involved!
http://wiki.openstreetmap.org/
http://lists.openstreetmap.org/
irc://irc.oftc.net #osm
http://trac.openstreetmap.org
Harry Wood worked as an enterprise integration
consultant for 8 years, but led a secret double-life as
addicted contributor to wikipedia and other collaborative
open content projects. He got involved in
OpenStreetMap three years ago, as a mapper, wiki
gardener, and developer. Since January this year (2009)
he has worked for CloudMade, as a full time
OpenStreetMap developer
CloudMade is a company providing products and
services around OpenStreetMap.
More information at http://cloudmade.com
These slides are (of course) freely re-usable under the
Creative Commons Attribution-ShareAlike 2.0 License

More Related Content

PDF
An Introduction to OpenStreetMap
PDF
shift2010 - 17apr2010 - OpenStreetMap: a free map for our world
ODP
OpenStreetMap, an introduction
ODP
GeOng presentation about OpenStreetMap
PDF
An introduction to OpenStreetMap (HUMBUG)
PDF
An introduction to OpenStreetMap for bushwalkers
PDF
Introduction to OpenStreetMap
PDF
An Introduction to OpenStreetMap (UQ GIS Students)
An Introduction to OpenStreetMap
shift2010 - 17apr2010 - OpenStreetMap: a free map for our world
OpenStreetMap, an introduction
GeOng presentation about OpenStreetMap
An introduction to OpenStreetMap (HUMBUG)
An introduction to OpenStreetMap for bushwalkers
Introduction to OpenStreetMap
An Introduction to OpenStreetMap (UQ GIS Students)

What's hot (20)

PPT
Open street map final ppt
ODP
Participatory mapping with OSM in Ulan Bator, Mongolia: general presentation ...
ODP
Open Cities Africa (Accra) - Stakeholders OpenStreetMap Introduction
PDF
Osm Presentation
PDF
PoliMappers - Introduction to OpenStreetMap
PPTX
OpenStreetMap-Introduction
PPT
OpenStreetMap Using, Tools, Services & Hows its changed Humanitarian Response
ODP
HOT OSM Community mapping in Lower Shire, Malawi
ODP
JRC OpenStreetMap, editing and tasking mechanisms, 20130326
PDF
Open streetmap
PPTX
Ieee 2014 tech_training_open_streetmap_20121011
ODP
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
PDF
H.O.T at UNGIWG 10
PDF
Geopaparazzi, state of the art
PDF
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
PDF
OSM for Wikimedians
PDF
Osm application
PDF
Open Geo Data in Italy and the OpenStreetMap case
ODP
Open streetmap response-to-ebola-crisis-geong-2014-09-23
PDF
ESRI Gisconferentie 2012 - OpenStreetMap
Open street map final ppt
Participatory mapping with OSM in Ulan Bator, Mongolia: general presentation ...
Open Cities Africa (Accra) - Stakeholders OpenStreetMap Introduction
Osm Presentation
PoliMappers - Introduction to OpenStreetMap
OpenStreetMap-Introduction
OpenStreetMap Using, Tools, Services & Hows its changed Humanitarian Response
HOT OSM Community mapping in Lower Shire, Malawi
JRC OpenStreetMap, editing and tasking mechanisms, 20130326
Open streetmap
Ieee 2014 tech_training_open_streetmap_20121011
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
H.O.T at UNGIWG 10
Geopaparazzi, state of the art
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OSM for Wikimedians
Osm application
Open Geo Data in Italy and the OpenStreetMap case
Open streetmap response-to-ebola-crisis-geong-2014-09-23
ESRI Gisconferentie 2012 - OpenStreetMap
Ad

Viewers also liked (20)

PDF
Stat planet - tutorial
PPT
Aerial Images from Around the World – Andreas Buchholz, GIS and Research Cura...
PPTX
Geo standard
PPT
evelopment of a server to manage a customised local version of OpenStreetMap...
PPT
Getting Started with PostGIS geographic database - Lasma Sietinsone, EDINA
PPT
Pertemuan 1 - Introduction StatPlanet
PPT
Web mapping
PDF
Architecture & planning for software & web
PDF
OpenStreetMap a servizio delle emergenze
ODP
Geodjango and HTML 5
PPT
Mapping Your Data 2
ZIP
OpenStreetMap Response to Haiti earthquake
ODP
Rendering OpenStreetMap Data using Mapnik
PDF
Making use of OpenStreetMap data with Python
PPTX
Azure App Service Architecture. Web Apps.
PPT
Developing Java Web Applications
PDF
Web of Things Application Architecture
PPT
Map Styling Tools and Interactive maps on the web with OpenLayers - Addy Pope...
PPT
Web Application Development Fundamentals
PPTX
Web application architecture
Stat planet - tutorial
Aerial Images from Around the World – Andreas Buchholz, GIS and Research Cura...
Geo standard
evelopment of a server to manage a customised local version of OpenStreetMap...
Getting Started with PostGIS geographic database - Lasma Sietinsone, EDINA
Pertemuan 1 - Introduction StatPlanet
Web mapping
Architecture & planning for software & web
OpenStreetMap a servizio delle emergenze
Geodjango and HTML 5
Mapping Your Data 2
OpenStreetMap Response to Haiti earthquake
Rendering OpenStreetMap Data using Mapnik
Making use of OpenStreetMap data with Python
Azure App Service Architecture. Web Apps.
Developing Java Web Applications
Web of Things Application Architecture
Map Styling Tools and Interactive maps on the web with OpenLayers - Addy Pope...
Web Application Development Fundamentals
Web application architecture
Ad

Similar to OpenStreetMap : Open Licensed GeoData (20)

PPTX
OpenStreetMap in 3D - current developments
ODP
OSM vs Commercial providers
PPTX
State of GeoServer, GeoTools and Friends 2014
PDF
webthing-iotjs-tizenrt-cdl2018-20181117rzr
PDF
Geonode 2.0
PPTX
Using JavaScript to write Native Mobile Applications
ODP
Open streetmapによる鳥取ガイドの試み3
PPTX
Ouroboros and Go (Buidler Fest 2024).pptx
PDF
Saving Money with Open Source GIS
PDF
Digibury: SciVisum - Making your website fast - and scalable
PDF
blueMarine Sailing with NetBeans Platform
PDF
GeoNode intro and demo
PDF
ODN - Technical introduction of the platform
PDF
webthing-iotjs-20181027rzr
ODP
Os hardware meets os software
PPTX
GIS User to Web-GIS Developer Journey
KEY
Drupal Camp Sthml 09
PDF
GIS in Pharo PharoOWS & GeoView (ESUG 2025)
PDF
Agi08 Jeremy Morley
PDF
Counterclockwise past present future
OpenStreetMap in 3D - current developments
OSM vs Commercial providers
State of GeoServer, GeoTools and Friends 2014
webthing-iotjs-tizenrt-cdl2018-20181117rzr
Geonode 2.0
Using JavaScript to write Native Mobile Applications
Open streetmapによる鳥取ガイドの試み3
Ouroboros and Go (Buidler Fest 2024).pptx
Saving Money with Open Source GIS
Digibury: SciVisum - Making your website fast - and scalable
blueMarine Sailing with NetBeans Platform
GeoNode intro and demo
ODN - Technical introduction of the platform
webthing-iotjs-20181027rzr
Os hardware meets os software
GIS User to Web-GIS Developer Journey
Drupal Camp Sthml 09
GIS in Pharo PharoOWS & GeoView (ESUG 2025)
Agi08 Jeremy Morley
Counterclockwise past present future

More from Harry Wood (11)

ODP
OpenStreetMap SOTM 2011 - Blossoms Weeds and Blade of Grass
ODP
Transport mapping: The OSM Route
ODP
Article25
ODP
OpenStreetMap OpenTech 2011
ODP
Wiki wed learning portuguese the wiki way
ODP
Party Time! Good and bad ways to run OpenStreetMap mapping parties
ODP
OpenStreetMap For Aid Information
ODP
Wiki Wednesday - CrisisCommons Wiki
ODP
OpenStreetMap at Where2.0Now
ODP
OpenStreetMap: The Wikipedia of Maps
ODP
SOTM09 talk - Community Smoothness
OpenStreetMap SOTM 2011 - Blossoms Weeds and Blade of Grass
Transport mapping: The OSM Route
Article25
OpenStreetMap OpenTech 2011
Wiki wed learning portuguese the wiki way
Party Time! Good and bad ways to run OpenStreetMap mapping parties
OpenStreetMap For Aid Information
Wiki Wednesday - CrisisCommons Wiki
OpenStreetMap at Where2.0Now
OpenStreetMap: The Wikipedia of Maps
SOTM09 talk - Community Smoothness

Recently uploaded (20)

PDF
Mushroom cultivation and it's methods.pdf
PDF
Approach and Philosophy of On baking technology
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
project resource management chapter-09.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Getting Started with Data Integration: FME Form 101
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
A Presentation on Touch Screen Technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Mushroom cultivation and it's methods.pdf
Approach and Philosophy of On baking technology
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A Presentation on Artificial Intelligence
Univ-Connecticut-ChatGPT-Presentaion.pdf
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
project resource management chapter-09.pdf
Assigned Numbers - 2025 - Bluetooth® Document
A novel scalable deep ensemble learning framework for big data classification...
Getting Started with Data Integration: FME Form 101
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Enhancing emotion recognition model for a student engagement use case through...
TLE Review Electricity (Electricity).pptx
Group 1 Presentation -Planning and Decision Making .pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A Presentation on Touch Screen Technology
Programs and apps: productivity, graphics, security and other tools
MIND Revenue Release Quarter 2 2025 Press Release

OpenStreetMap : Open Licensed GeoData

  • 1. Harry Wood OpenStreetMap : Open Licensed Geo Data British Computer Society : Monday 27th April 2009
  • 2. Topics ●OpenStreetMap purpose and premise ●Data structures: Nodes, Ways ,Tags etc ●Editor demo ●OpenStreetMap servers and architecture ●Rendering and map displays ●The license ●CloudMade products and services ●Imports and other mapping techniques ●Getting Involved NOTE: Ran out of time for these topics on the day. The slides for these have also been removed from this deck. Could present them on another occasion!
  • 3. Free as in Freedom ●Open license: –Creative Commons Attribution Share-alike ●“Open Content” like “Open Source” ●Contributors retain ownership of copyright ●People and commercial companies can use the maps for free under this license. –Details of license requirements?... coming up
  • 4. Getting an Open Licensed Map ●Can't copy copyrighted maps ● Not allowed to import copyrighted data ● Not allowed to copy from copyrighted maps ● Not allowed to trace over copyrighted maps ● Not allowed to “derive” ●Can copy some maps, but only... ● Public domain. Unrestricted (incl. relicensing) ● Get permission to release with an open license (big ask) ●Can create maps completely from scratch ● crazy idea?
  • 5. GPS traces ● How it started. Gadgets! ● Cheap consumer GPS units or location-aware mobiles ● Record a line of dots
  • 6. Record many lines of dots.... Looks like a street map. Kind of
  • 7. Recording data Names of streets Types of streets (trunk, residential, motorway) One-way restrictions Footpaths, tracks, pedestrian, rivers, railways Parks, woodland, industrial areas, cemeteries POI (pubs, cash machines, post offices, post boxes, bus stops, toilets, supermarkets, restaurants, kebab shops, monuments, hotels, picnic sites, barriers, light houses, piers, sports centres, petrol stations, playgrounds, cinemas, car parks, universities, bicycle parking, tourist information, etc etc etc
  • 8. Mapping Techniques ●Photo Mapping (geo-located photos) ●Audio mapping ●Taking notes ● ●Ditch the GPS ● Taking notes ● Local knowledge! ● Yahoo Aerial Imagery
  • 9. Mapping: A lot of effort ●Gather data ● GPS traces and other information ●Input data ● using OSM “editor” software ●Requires a lot of effort ● Requires a lot of people!
  • 10. Community Contribution ●Built by a large online community ●Many hands make light work ●Openly editable (and easy) ●Poor quality contributions? ● Gradual refinement ● Assume good faith ● Monitoring and correction ....Remarkably it works! Sounds familiar?
  • 11. Wikipedia ●Large community coming together to build something great! ●Wikipedia Principles ● Openly editable ● Open content license ● Gradual refinement ● Assume good faith ● “Soft Security” Monitoring and correction
  • 12. looks like wikipedia OpenStreetMap = The wikipedia of maps
  • 13. Community It's big. 100,000 registered users
  • 15. Community Very Active 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 User rank Less Active Lopsided Long tail of less active users
  • 43. Open Licensed Data A copyrighted map ...is a justification for OpenStreetMap (It can't be used freely therefore OSM is better) ...cannot be a source for openstreetmap Existing maps are very rarely free
  • 44. Ordnance Survey ●Wonderful data in the UK ●OS license use of maps (and charge ££££££) ●Never allow re-distributing with a different license ●Very strict about copying and their definition of “derived” work
  • 45. Guardian 'Free Our Data' Campaign ● Lobbying government ● Tax paid for data collection ● Tax still pays indirectly ● Economic benefits of free ● Slow progress ● OS might release ● low quality data first ● less-than-free license ● Or might be privatised! ● Whine about it or take action?
  • 46. OSM and Ordnance Survey £many £0 Low quality High quality OS OSM
  • 47. ● We can't can't use google maps ● License their data from teleatlas ● ...who license data from Navteq / Teleatlas ● ...Ordnance Survey! ● No access to underlying data ● Google terms & conditions ● Don't allow deriving data from their maps ● Don't allow copying & re-distributing with a different license ● Wonderful hi-res aerial imagery ● T&Cs do not allow deriving maps (tracing) ● Bought in (licensed) from multiple suppliers Google Maps
  • 48. Why not use Google Maps? Wonderful “free” (beer) mash-up API but... ●Errors and omissions ●Car centric. Footpaths and other details ●Cycle routes and Pistes ●Colours / branding - Google maps fatigue ●SVG export. Custom cartography ●Underlying data access! ● Details of OSM map access coming up ●Help OpenStreetMap!
  • 49. Oxford University Website OSM has better maps of Oxford Encourages the OSM community Other uses coming up...
  • 50. Nodes, Ways, Relations Node Has latitude and longitude Can stand alone, or form part of a way Way Joins together several nodes Direction sometimes matters Can form a 'closed way' (area) Relation For complex things such as routes
  • 51. Tags Applied to the Nodes, Ways, & Relations Key value pairs amenity=pub name=Hare & Hounds highway=residential name=Court Street
  • 57. OpenStreetMap Servers Hosted in UCL Loads of bandwidth ~10 servers: Where does the data go? http://wiki.openstreetmap.org/wiki/Servers
  • 58. OpenStreetMap Foundation Custodian of servers and sysadmin access Oversees funding and vehicle for fund raising Protection from copyright and liability suits
  • 59. Database Server Motherboard Supermicro X7DWN+ motherboard with Intel 5400 (Seaburg) Chipset CPU 2x Intel Xeon Processor E5420 Quad Core 2.5Ghz Memory 32GB DDR2 667 ECC Disk 2x 73GB (3.5) SAS 15K 10x 450GB (3.5) SAS 15K donate.openstreetmap.org Raised £10,000 in 2 days
  • 61. API ● REST web service ● HTTP GET & PUT ● Get elements at URLs http://www.openstreetmap.org/api/0.6/node/297556642 ● No bloated request payloads ● Ruby on Rails
  • 62. Ruby on Rails ● It's easy. Web + REST ● Fashionable. Developers like it ● Developers are our most limited resource. ● It's what SteveC used ● Problems? ● Can't stream data from db ● Memory hungry and leaks somewhere ● Maybe use something else for core API
  • 64. Ways http://www.openstreetmap.org/api/0.6/way/27120827 <way id="27120827" visible="true" timestamp="2008-09-19T13:19:53Z" version="2" changeset="664390" user="Guy" uid="10983"> <nd ref="298116100"/> <nd ref="297555192"/> <nd ref="297555193"/> <nd ref="297555194"/> <tag k="name" v="Court Street"/> <tag k="created_by" v="Potlatch 0.10b"/> <tag k="highway" v="residential"/> </way>
  • 65. Other API calls GET a map All elements within a bounding box http://api.openstreetmap.org/api/0.6/map?bbox=11.54,48.14,11.543,48.145 PUT elements Now requires “changeset open” request Various other operations History and changeset access Get GPS points/tracks
  • 66. Some database details Switched from MySQL to Postgres last weekend! Rails migrations in theory In practice. C++ scripts running all weekend Why the switch? Lots of other planned restructuring including new DB hardware Good time to do it
  • 67. MySQL Generally fast and scalable enough ● Quadtile indexing extension Several annoying flaws: ● schema changes cause table copies ● different features on different db engines ● (transactions on InnoDB, spatial on MyISAM) ● silently accepts invalid utf8 ● constraints can't be deferred ● some non-standard SQL syntax
  • 68. Postgres ● Addresses a lot of MySQL flaws: ● Faster schema changes ● Better support for transactions, utf8, etc ● Personal preference of our sysops
  • 69. Full Revision History Store a full history edits to elements Essential wiki-like feature Ideally provide simple roll-back Access old versions of an element Difficult to reconstruct old version of a map
  • 70. Changesets ● Brand new feature ● Every edit belongs in a change set ● Every numbered version of every object belongs in one particular changeset ● Changesets have comments ● Great for monitoring
  • 72. Changeset revert? ● Reverting is still a difficult problem ● Changesets are not atomic ● Changeset 1 User:Sam Node 12345 v1 ● Changeset 2 User:SallyNode 12345 v2 ● Changeset 3 User:Sid Node 12345 v3 ● Changeset 4 User:SallyNode 12345 v3 ● Changeset 1 User:Sam Node 12345 v4 ● Changeset 1 User:Sam Node 12345 v5 ● Many interlinked elements
  • 73. Conflicts ● Two users editing the same element – Rarely happens actually ● Version mismatch now reported – “Optimistic locking” ● Editors (should) do CVS style conflict resolution ● Download reveals conflict ● Upload not allowed until resolved
  • 74. (Watch nice video) OSM 2008: A Year of Edits http://vimeo.com/2598878
  • 75. planet.osm ● Snapshot of the OpenStreetMap database ● Entire planet. Every node, way, relation, tag ● Only 'current' data. Not history ● XML formatted .osm file ● 5.2 GB with bzip2 compression ● Uncompressed... 150 GB ● Takes several hours to dump. Every Wednesday ● Important part of Openness. Ensures longevity.
  • 76. Osmosis ● Java toolkit for OpenStreetMap ● Various data transformations ● Minutely, Hourly, Daily diffs .osc.gz files ● Created by Osmosis. Consumed by osmosis ● Streamable changes
  • 77. Open Tagging ● Mentioned tags briefly – amenity=pub highway=residential ● Free-form open tagging. Any tags you like! ● Agree on standards ● Main openstreetmap.org map rendering uses one set of tags ● Other map renderers, other tools, can use other tagging schemes
  • 78. 'Map Features' wiki page ● BIG list of tags Which tags go on this page? ● Wiki proposal process ● Wiki discussion and voting ● Wiki dabates (& blazing rows!) – Different ways of tagging the same thing. – Things which should not be tagged ● Wiki documentation
  • 79. Smoothness Debate ● Vehement Objections – Too subjective – Verifiability – Poor english ● Disruption – Disregarding vote – Wiki fiddlers vs Mappers – Wiki edit wars – New process? ● Lock down?
  • 80. The wrong way to think about tags ● Come up with lots of ideas for new tags ● Submit proposals, organise votes, generally fiddle with the OSM wiki a lot ● Pester people to use tags in map renderings ...oh and maybe do a bit of actual mapping
  • 81. The right way to think about tags ● Do mapping! ● Found something without a documented tag? – Search thoroughly (in mailing list too) – Use a less specific tag and qualify with type= – Use a note= tag – Just invent a tag ● Do more mapping! ● Discuss politely. Improve existing docs. ● maybe... possibly.... do a proposal ● Focus on mapping. Don't worry about rendering
  • 82. TagWatch ● Tag usage stats ● Split by country ● Tags used in conjunction
  • 83. Rendering ● Topic follows on although... tagging is not just about rendering ● Go from geodata (nodes, ways, relations & tags) to rasterized map images Rendering
  • 84. Which tags to render? ● Thousands of different tags in the DB ● Can't show them all ● Choose features to show at different zoom levels – Cartography! ● What do you want to emphasise?
  • 86. Mapnik ● Open Source rendering software ● Fast! ● C++ ● Requires PostGIS database
  • 87. Mapnik Stylesheet ● XML format ● 'styles', 'filters' and 'rules' ● >7000 lines long ● Pre-processing steps – Cascadenik – and also...
  • 88. osm2pgsql ● Step before using Mapnik (& stylesheet) ● load OSM data into a Postgres database ● Lossy conversion. Only take tags of interest ● nodes and ways → linestrings and polygons Slippy Map Display
  • 89. ● Open Source JavaScript library ● Dynamic slippy map on your website ● WMS layers ● Tile based map layers ● Transparent overlay layers ● Markers, Boxes, Polygons, Click events In the end we want a map display...
  • 90. Tiles ● Small map images ● Cacheable ● Fast loading ● Sized to optimize speed – Too big. Unneeded map area – Too small. Too many requests – 256x256pixels
  • 91. Tile Naming ● Slice the world into tiles at each zoom level ● Tiles are always 256x256 pixels ● Represent different sized area of the world at different zoom levels
  • 92. Tile Naming Zoom level 0 has only one tile (whole world):
  • 93. Tile Naming Zoom level 1 has 2x2 tiles
  • 94. Tile Naming ● Zoom level 2 has 4x4 tiles ● Zoom level 3 has 8x8 tiles ● Zoom level 4 has 16x16 tiles ... ● Zoom level n has 2n x2n tiles ... ● Zoom level 18 has 262144 x 262144 tiles
  • 95. Tile Naming ● Every tile has a URL http://tile.openstreetmap.org/12/2047/1362.png y Zoom Level (0-18) x ● Tile naming scheme followed by OpenLayers ● Same used by google maps ● Looks like filesystem URL
  • 96. Tiles =High Performance Computing 262144 x 262144 = 68,719,476,736 tiles inode problem! 5 kB each = 320 terabytes But then there's zoom 17.... another 80 terabytes etc...
  • 97. Tiles =High Performance Computing OpenStreetMap updates? ● Apply diffs ● Re-render tile images! ● CPU problem!
  • 98. Caching and mod_tile ● mod_tile – Apache module. Very fast – Render-on-demand if necessary – Clever caching – Serves old cached images and labels as dirty – Dirty tiles get re-rendered by render daemon Slippy Map Display
  • 99. Bandwidth ● Serving terrabytes of tile data. High bandwidth ● UCL
  • 100. OpenCycleMap.org ● Using OpenStreetMap – Presenting special interest map – Same data. Different cartographic choices ● Toolchain running on another server – Updates fed in – Passionate sub-set of the OSM community
  • 101. Route relations, Cycle Parking, Bike Shops, Drink
  • 103. SRTM ● NASA - Shuttle Radar Tomography Mission ● Public Domain ● Problems – Spot heights – not contours – Course grid – Voids and other anomalies
  • 104. CycleMap tool chain ● Downloads weekly planet dump ● SRTM. More steps in the chain! ● Bandwidth problems. Now hosted by CloudMade
  • 109. Kosmos ● .NET (windows only) ● Desktop app ● Can generate tiles ● wiki based style config
  • 110. osmarender ● First good OSM renderer ● Used to be the only way to get SVG ● Complex perl XSLT ● Generates SVG (XML vector graphics format) ● Feed in .osm file and style config ● Can't be used to generate tiles.... or can it?
  • 112. tiles@home ● Distributed tile rendering – Instructions dished out from tiles@home server – Many clients download via API and upload images ● 'osmarender' layer – Used to provide the fastest updates ● XSLT transforms & inkscape SVG rendering – Eats massive amounts of CPU – Mapnik more sensible. ...no need to distribute
  • 113. Other renderers? ● Plenty of scope to develop but.. ● high performance problem ● Complex graphics problem ● e.g. phprender Needs a bit of work!
  • 114. We want people to be free to use our maps! OSM License Requirements ● Free to bring maps into “collective” works – Must give “attribution” ● Free to create “derivative” works – must share-alike ● Awkward complications: – What exactly counts as “derivative work”? – How do you give credit to the “authors”?
  • 115. ODbL + ODC-Factual ● Open Data Commons ● Open Database License ● Factual Information License ● Benefits: – copyright, database right, and contract – Expressly written for data – More strict about underlying data (forcing sharing), but less strict about end products
  • 116. Commercial use is allowed! ● OSM destroys business models ...or does it? – Destroys monopolies on geo data ● Allowed to charge for distribution – Can't disallow further distribution – Monetary value tends towards zero ● Allowed to charge for services – Distribute different formats / renderings ● Solve difficult problems (+time dependant problems) ● Hosting – Consulting services ● Just use maps. Core business not in geo-data
  • 117. Flickr
  • 121. Harry Wood worked as an enterprise integration consultant for 8 years, but led a secret double-life as addicted contributor to wikipedia and other collaborative open content projects. He got involved in OpenStreetMap three years ago, as a mapper, wiki gardener, and developer. Since January this year (2009) he has worked for CloudMade, as a full time OpenStreetMap developer CloudMade is a company providing products and services around OpenStreetMap. More information at http://cloudmade.com These slides are (of course) freely re-usable under the Creative Commons Attribution-ShareAlike 2.0 License

Editor's Notes

  • #53: http://www.openstreetmap.org/?lat=53.54599&amp;lon=-2.00424&amp;zoom=16&amp;layers=B000FTTTT