Introduzione ad OpenStreetMap, tenuto il 20130228 per la conferenza "OpenGeoData Italia, istruzioni per l'uso" presso il Centro Congressi Frentani, Roma
Openstreetmap la libertà nelle mappe - Linux Day 2013 di Genova
In giro per un mappamondo libero: introduzione ad OpenStreetMap
1. Introduzione ad OpenStreetMap
In giro per un mappamondo libero:
introduzione ad OpenStreetMap
Roma, Centro Congressi Frentani, 28.02.2013
Martin Koppenhöfer
dieterdreist@gmail.com
2. Che cos'è Openstreetmap?
E' un progetto per creare insieme la mappa libera
del mondo
Principio simile a wikipedia:
● Crowd-sourced (tutti possono partecipare)
● libero (free and open):
– utilizzabile gratuitamente da chiunque anche a scopo
di lucro
– tutti possono modificare tutto
– tutti dati sono distribuiti con licenza open (ODbL)
3. Che cos'è Openstreetmap?
iniziato nel 2004
in Inghilterra
Pagina iniziale del 2005 da archive.org
4. Che cos'è Openstreetmap?
iniziato nel 2004
in Inghilterra
da Steve Coast
Pagina iniziale del 2005 da archive.org
5. Che cos'è OpenStreetMap? pietre miliari
2004 Steve Coast dà avvio al progetto
La OpenStreetMapFoundation (OSMF)
2006
viene registrata a Londra
2007 Prima Conferenza (State of the Map, SotM)
Mapping Kibera, Kenya, la baraccopoli più
2009
grande dell'Africa
Nuove ortofoto: a maggio Portale Cartogr.
2010
Nazionale ed a novembre Bing Aerial
2011 Un miliardo di nodi
2012 Cambio licenza, da cc-by-sa 2.0 a ODbL 1.0
2013 Un milione di utenti registrati
2013 La quantità dei nodi supera 231, i programmi
devono prevedere 64 Bit node IDs.
10. Ottenere i dati - planet file
banca dati centrale a Londra (postgresql), API
riservata all'editing
OSMFoundation pubblica un planet-file (dump di
tutti i dati attuali) per settimana
updates incrementali (diff)
● minutely (ogni minuto)
● hourly (ogni ora)
● daily (ogni giorno)
ogni tanto full-history-planet
11. Ottenere i dati - formati principali
● Formato API 0.6, usato da aprile 2009
● XML ( .osm .osm.bz2)
● leggibile e modificabile con un editore di testo
● ci sono varianti (con e privo di metadati)
● generalmente compresso con bzip2
● PBF ( .pbf)
● Protocolbuffer Binary Format
● usa Google protocol buffers
● no “tag hardcoding” (tags sono inclusi in strings)
● OSC ( .osc, .osc.gz): diffs (per aggiornamenti incrementali)
12. Ottenere i dati – altri servizi
Oltre a main API e planet files ci sono altri servizi,
persone ed aziende che distribuiscono i dati di OSM
Servizi readonly API:
● XAPI (“zappy”), l'originale in GT.M (MUMPS), offline
● JXAPI, implementato in Java
● Xappy.js, implementato in javascript (node.js)
● Overpass API
– XAPI compatibility layer
– Overpass QL (Query Language)
13. Ottenere i dati - download da terzi
Estratti dati geografici e tematici (esemplare):
download.geofabrik.de
● Copertura globale (continenti e paesi)
● Formati xml, pbf e shapefile, aggiornato ogni giorno
download.gfoss.it/osm/osm/
● Italia e regioni in xml, aggiornato ogni settimana
metro.teczno.com (Michal Migurski)
● Estratti di 100+ zone metropolitane, xml, pbf, shp
openstreetmapdata.com/data (Jochen Topf)
● linee di costa e poligoni dei mari e della terra (land)
15. Struttura dati
3 tipi di oggetti:
● node, way, relation
il node è un punto
16. Struttura dati
3 tipi di oggetti:
● node, way, relation
il node è un punto con delle coordinate
lat = 42.436233
lon = 12.245373
17. Struttura dati
3 tipi di oggetti:
● node, way, relation
il node è un punto con delle coordinate
il way è una sequenza ordinata di nodes
18. Struttura dati
3 tipi di oggetti:
● node, way, relation (no area data type!)
il node è un punto con delle coordinate
il way è una sequenza ordinata di nodes
la relazione può contenere oggetti di ogni tipo:
nodes, ways ed altre relazioni
● gli oggetti contenuti possono assumere ruoli
19. Struttura dati
3 tipi di oggetti:
● node, way, relation (no area data type!)
il node è un punto con delle coordinate
il way è una sequenza ordinata di nodes
la relazione può contenere oggetti di ogni tipo:
nodes, ways ed altre relazioni
● gli oggetti contenuti possono assumere ruoli
Tutti gli oggetti possono avere dei tags!
un area è un caso particolare di un way (tags)
20. Tagging
Un tag è una sorta di etichetta che viene associata
ad un oggetto (node, way, rel) per descriverlo
22. Tagging
Non c'é uno schema fisso per i tags
● tutti possono inventare ed utilizzare qualsiasi tag
● ogni oggetto può contenere un numero infinito di tags
● ogni chiave può apparire solo una volta per oggetto
● si consiglia di mettersi d'accordo per evitare il chaos
26. Tagging
per discussioni e domande c'è la Mailing-list
[tagging] e le liste nazionali [talk-it], [talk-de], ecc.
● http://lists.openstreetmap.org/listinfo/tagging
● http://lists.openstreetmap.org/listinfo/talk-it
● http://lists.openstreetmap.org/listinfo/talk-it-lazio
● ...
27. Tagging
Ci sono anche servizi di terzi per capire la rilevanza
di un certo tag, per esempio taginfo che crea
statistiche sull'utilizzo dei tags:
28. Editing
Il database centrale è accessibile a tutti gli utenti per
fare l'editing.
L'accesso avviene tramite delle API-calls (chiamate
all'interfaccia di programmazione)
29. Editing
Chiunque può scrivere un editore per modificare
dati in Openstreetmap tramite la API
L'autentificazione dell'utente avviene tramite OAuth
Gli editori più popolari sono:
● JOSM (Java OpenStreetMap Editor)
● Potlatch 2 (basato su Flash)
● Merkaartor (scritto in c++)
● QGis + plugin
● diversi editori per smartphone (Go Map!!, OsmAnd, …)
Prossimamente: iD, scritto in html5 e javascript
30. Editing
JOSM è scritto in Java ed è l'editore con più funzioni. E'
estendibile con plugins, presets e mapstyles
31. Raccolta dati
Inizialmente si usava sopratutto il GPS per la
raccolta dati.
Insieme ad appunti
su un blocco note
(o registrazioni
audio e foto geo-
riferenziate) si
registrava durante i
rilievi
37. Raccolta dati
però la fonte più importante rimane la conoscenza
locale del territorio dei migliaia di mappatori
appassionati!
Mapping Party Hanoi 2009,
Foto di Khanh Le Ngoc Quoc,
Flickr, cc-by-nc
39. Cambio di licenza, da cc-by-sa a ODbL
Dall'inizio la licenza era la cc-by-sa 2.0 (Attribuzione -
Condividi allo stesso modo 2.0)
Dopo un processo di quasi 4 anni esce in settembre
2012 il primo planet con la nuova licenza:
Open Data Commons
Open Database License (ODbL) v1.0
http://opendatacommons.org/licenses/odbl/
40. Cambio di licenza, da cc-by-sa a ODbL
Perché abbiamo cambiato la licenza?
La cc-by-sa è una licenza per opere creative,
probabilmente non adatta per proteggere un
database di fatti.
Cosa cambia?
Entrambe le licenze hanno l'attribuzione e la
condivisione allo stesso modo come vincoli, però
con la ODbL questo si limita ai dati (derivative
database, collective database) e non si estende su
opere prodotte (produced works) come mappe.
41. Cambio di licenza, da cc-by-sa a ODbL
Voglio usare dati OSM, a cosa devo stare
attento?
● Chi pubblica dati o opere basati su dati OSM deve
– nominare i contribuenti di OSM come autori dei
dati e dire che la licenza dei dati è l'ODbL
– mettere a disposizione i dati con cui ha creato il
prodotto oppure
– descrivere il mecchanismo con cui ha manipolato i
dati
L'insieme dei dati rimane sempre sotto l'ODbL (anche
mescolati con altri dati, aspetto virale della licenza)