SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Architettura
                   Database
                         API
                    Osmosis
                  Convertire




     L’architettura di OpenStreetMap

                     Luca Delucchi

Fondazione Edmund Mach, Piattaforma GIS e Telerilevamento
                http://gis.cri.fmach.it
                        GFOSS.it

          M(’)appare Genova 2012, Genova




                Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                  Database
                        API
                   Osmosis
                 Convertire



Architettura




               Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                         Database
                                      Introduzione
                               API
                                      Schema
                          Osmosis
                        Convertire



Introduzione



   Database Managment System:
                 PostgreSQL




                      Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                               Database
                                             Introduzione
                                     API
                                             Schema
                                Osmosis
                              Convertire



Introduzione



   Database Managment System:
                 PostgreSQL


    Numero   di   utenti                          592.409
    Numero   di   punti GPS caricati        2.826.592.946
    Numero   di   nodes                     1.431.538.373
    Numero   di   ways                        133.026.354
    Numero   di   relations                     1.377.599



                            Luca Delucchi    M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Schema
                             Osmosis
                           Convertire



Architettura




               Approfondimento: Database, Strutture SQL

                        Luca Delucchi    M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Introduzione



       API architettura RESTful per interfacciarsi con il database
       centrale




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Introduzione



       API architettura RESTful per interfacciarsi con il database
       centrale
       richiede formato XML




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Introduzione



       API architettura RESTful per interfacciarsi con il database
       centrale
       richiede formato XML
       attuale versione 0.6




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Introduzione



       API architettura RESTful per interfacciarsi con il database
       centrale
       richiede formato XML
       attuale versione 0.6
       permette interscambio di informazioni sui Changeset,
       elementi, tracce GPS e utenti




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                     Introduzione
                        Database
                                     Formato
                              API
                                     Esempi
                         Osmosis
                                     Interfacce
                       Convertire



Formato .osm


   <node id=’1512608819’ timestamp=’2011-12-16T20:40:26Z’
   uid=’12473’ user=’mikelima’ visible=’true’ version=’2’
   changeset=’10134032’ lat=’44.4131166’ lon=’8.9299329’>
     <tag k=’addr:housenumber’ v=’18’ />
     <tag k=’addr:street’ v=’Via Cairoli’ />
     <tag k=’barrier’ v=’entrance’ />
     <tag k=’foot’ v=’yes’ />
   </node>




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98
         http://www.openstreetmap.org/api/0.6/way/22901331




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98
         http://www.openstreetmap.org/api/0.6/way/22901331
         http://www.openstreetmap.org/api/0.6/way/22901331/1




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98
         http://www.openstreetmap.org/api/0.6/way/22901331
         http://www.openstreetmap.org/api/0.6/way/22901331/1
         http://www.openstreetmap.org/api/0.6/trackpoints?bbox=
         44.40,8.97,44.41,8.98&page=5000




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98
         http://www.openstreetmap.org/api/0.6/way/22901331
         http://www.openstreetmap.org/api/0.6/way/22901331/1
         http://www.openstreetmap.org/api/0.6/trackpoints?bbox=
         44.40,8.97,44.41,8.98&page=5000
         http://www.openstreetmap.org/api/0.6/node/create




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Esempi


         http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8.
         97,44.41,8.98
         http://www.openstreetmap.org/api/0.6/way/22901331
         http://www.openstreetmap.org/api/0.6/way/22901331/1
         http://www.openstreetmap.org/api/0.6/trackpoints?bbox=
         44.40,8.97,44.41,8.98&page=5000
         http://www.openstreetmap.org/api/0.6/node/create

                        Approfondimento: API




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                        Introduzione
                           Database
                                        Formato
                                 API
                                        Esempi
                            Osmosis
                                        Interfacce
                          Convertire



Interfacce


   Dirette
       Java - Esempio




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                     Introduzione
                        Database
                                     Formato
                              API
                                     Esempi
                         Osmosis
                                     Interfacce
                       Convertire



Interfacce


   Dirette
       Java - Esempio
       Python - PythonOsmApi




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                     Introduzione
                        Database
                                     Formato
                              API
                                     Esempi
                         Osmosis
                                     Interfacce
                       Convertire



Interfacce


   Dirette
       Java - Esempio
       Python - PythonOsmApi
       Perl - Osm.pm




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                     Introduzione
                        Database
                                     Formato
                              API
                                     Esempi
                         Osmosis
                                     Interfacce
                       Convertire



Interfacce


   Dirette
       Java - Esempio
       Python - PythonOsmApi
       Perl - Osm.pm
   Indirette




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                       Introduzione
                          Database
                                       Formato
                                API
                                       Esempi
                           Osmosis
                                       Interfacce
                         Convertire



Interfacce


   Dirette
       Java - Esempio
       Python - PythonOsmApi
       Perl - Osm.pm
   Indirette
        Overpass API




                       Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                       Introduzione
                          Database
                                       Formato
                                API
                                       Esempi
                           Osmosis
                                       Interfacce
                         Convertire



Interfacce


   Dirette
       Java - Esempio
       Python - PythonOsmApi
       Perl - Osm.pm
   Indirette
        Overpass API
        XAPI




                       Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM
   Permette tra l’altro di:




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM
   Permette tra l’altro di:
       generare dump in formato .osm




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM
   Permette tra l’altro di:
       generare dump in formato .osm
       carica dump in un database




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM
   Permette tra l’altro di:
       generare dump in formato .osm
       carica dump in un database
       comparare due database e crea un diff




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                            Database
                                         Introduzione
                                  API
                                         Esempi
                             Osmosis
                           Convertire



Osmosis: introduzione


   Osmosis è un software Java per gestire i dati OSM
   Permette tra l’altro di:
       generare dump in formato .osm
       carica dump in un database
       comparare due database e crea un diff
       estrarre dati dentro una bounding box




                         Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        Introduzione
                                 API
                                        Esempi
                            Osmosis
                          Convertire



Esempi


         osmosis –read-apidb host=x database=x user=x
         password=x –write-xml file=planet.osm




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        Introduzione
                                 API
                                        Esempi
                            Osmosis
                          Convertire



Esempi


         osmosis –read-apidb host=x database=x user=x
         password=x –write-xml file=planet.osm
         osmosis –read-xml file=planet1.osm –read-apidb host=x
         database=x user=x password=x –derive-change
         –write-xml-change file=planetdiff-1-2.osc




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        Introduzione
                                 API
                                        Esempi
                            Osmosis
                          Convertire



Esempi


         osmosis –read-apidb host=x database=x user=x
         password=x –write-xml file=planet.osm
         osmosis –read-xml file=planet1.osm –read-apidb host=x
         database=x user=x password=x –derive-change
         –write-xml-change file=planetdiff-1-2.osc
         osmosis –read-xml-change file=planetdiff-1-2.osc
         –read-xml file=planet1.osm –apply-change –write-xml
         file=planet2.osm




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                          Database
                                       GIS
                                API
                                       Altro
                           Osmosis
                         Convertire



Applicazioni GIS


       PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting,
       osm2postgis




                       Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Applicazioni GIS


       PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting,
       osm2postgis
       Spatialite: spatialite_osm_raw, spatialite_osm_filter,
       spatialite_osm_map, spatialite_osm_net




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Applicazioni GIS


       PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting,
       osm2postgis
       Spatialite: spatialite_osm_raw, spatialite_osm_filter,
       spatialite_osm_map, spatialite_osm_net
       Mapnik e altri software di rendering (anche POVRay)




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Applicazioni GIS


       PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting,
       osm2postgis
       Spatialite: spatialite_osm_raw, spatialite_osm_filter,
       spatialite_osm_map, spatialite_osm_net
       Mapnik e altri software di rendering (anche POVRay)
       QGIS




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Applicazioni GIS


       PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting,
       osm2postgis
       Spatialite: spatialite_osm_raw, spatialite_osm_filter,
       spatialite_osm_map, spatialite_osm_net
       Mapnik e altri software di rendering (anche POVRay)
       QGIS
       Udig




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                        Database
                                     GIS
                              API
                                     Altro
                         Osmosis
                       Convertire



Altre applicazioni

   GPS (Garmin)




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                        Database
                                     GIS
                              API
                                     Altro
                         Osmosis
                       Convertire



Altre applicazioni

   GPS (Garmin)
       Mkgmap




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                        Database
                                     GIS
                              API
                                     Altro
                         Osmosis
                       Convertire



Altre applicazioni

   GPS (Garmin)
       Mkgmap
       GroundTruth




                     Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                          Database
                                       GIS
                                API
                                       Altro
                           Osmosis
                         Convertire



Altre applicazioni

   GPS (Garmin)
       Mkgmap
       GroundTruth
       Osm2garminGUI




                       Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Altre applicazioni

   GPS (Garmin)
        Mkgmap
        GroundTruth
        Osm2garminGUI
   Cellulari
        OsmAnd




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Altre applicazioni

   GPS (Garmin)
        Mkgmap
        GroundTruth
        Osm2garminGUI
   Cellulari
        OsmAnd
        Navit




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Altre applicazioni

   GPS (Garmin)
        Mkgmap
        GroundTruth
        Osm2garminGUI
   Cellulari
        OsmAnd
        Navit
        Mapsforge




                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                           Database
                                        GIS
                                 API
                                        Altro
                            Osmosis
                          Convertire



Altre applicazioni

   GPS (Garmin)
        Mkgmap
        GroundTruth
        Osm2garminGUI
   Cellulari
        OsmAnd
        Navit
        Mapsforge
        Gpsmid



                        Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                       Database
                                    Promemoria
                             API
                                    Licenze
                        Osmosis
                      Convertire




“un software (o un dato) può essere gratuito ma non libero

un software (o un dato) può essere libero, senza escludere
aspetti di finanziamento, o commerciali”




                    Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                       Database
                                    Promemoria
                             API
                                    Licenze
                        Osmosis
                      Convertire




“un software (o un dato) può essere gratuito ma non libero

un software (o un dato) può essere libero, senza escludere
aspetti di finanziamento, o commerciali”




                    Grazie dell’attenzione!




                    Luca Delucchi   M(’)appare Genova 2012, Genova
Architettura
                                    Database
                                                   Promemoria
                                          API
                                                   Licenze
                                     Osmosis
                                   Convertire
Le immagini di mappe hanno la seguente licenza “Map data (c) OpenStreetMap (and) contributors,
CC-BY-SA”




                                 Luca Delucchi     M(’)appare Genova 2012, Genova

Weitere ähnliche Inhalte

Ähnlich wie OpenStreetMap database e api

AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Comprendere l'architettura service oriented
Comprendere l'architettura service orientedComprendere l'architettura service oriented
Comprendere l'architettura service orientedRoberto Albano
 
Infrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on RailsInfrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on Railsguestfe3e15
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifEmanuele Della Valle
 
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1workshop lab cross tec_r2b1
workshop lab cross tec_r2b1r2b2011
 
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiEPOCA
 

Ähnlich wie OpenStreetMap database e api (7)

AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Comprendere l'architettura service oriented
Comprendere l'architettura service orientedComprendere l'architettura service oriented
Comprendere l'architettura service oriented
 
Infrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on RailsInfrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on Rails
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
 
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1workshop lab cross tec_r2b1
workshop lab cross tec_r2b1
 
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
 

Mehr von luca delucchi

Mehr von luca delucchi (12)

ZOOSM
ZOOSMZOOSM
ZOOSM
 
Grass cloud
Grass cloudGrass cloud
Grass cloud
 
ZOO WPS the integration with GRASS GIS
ZOO WPS the integration with GRASS GISZOO WPS the integration with GRASS GIS
ZOO WPS the integration with GRASS GIS
 
Introduzione a OpenStreetMap
Introduzione a OpenStreetMapIntroduzione a OpenStreetMap
Introduzione a OpenStreetMap
 
Introduzione a OpenStreetMap (book version)
Introduzione a OpenStreetMap (book version)Introduzione a OpenStreetMap (book version)
Introduzione a OpenStreetMap (book version)
 
Ld2010
Ld2010Ld2010
Ld2010
 
Linuxday2008 Osm
Linuxday2008 OsmLinuxday2008 Osm
Linuxday2008 Osm
 
Linuxday2008 Gis
Linuxday2008 GisLinuxday2008 Gis
Linuxday2008 Gis
 
Linuxday2009 OSM
Linuxday2009 OSMLinuxday2009 OSM
Linuxday2009 OSM
 
Bicitalia 2008
Bicitalia 2008Bicitalia 2008
Bicitalia 2008
 
OSMit2009 GFOSS.it
OSMit2009 GFOSS.itOSMit2009 GFOSS.it
OSMit2009 GFOSS.it
 
Osmit2009 Mapnik
Osmit2009 MapnikOsmit2009 Mapnik
Osmit2009 Mapnik
 

OpenStreetMap database e api

  • 1. Architettura Database API Osmosis Convertire L’architettura di OpenStreetMap Luca Delucchi Fondazione Edmund Mach, Piattaforma GIS e Telerilevamento http://gis.cri.fmach.it GFOSS.it M(’)appare Genova 2012, Genova Luca Delucchi M(’)appare Genova 2012, Genova
  • 2. Architettura Database API Osmosis Convertire Architettura Luca Delucchi M(’)appare Genova 2012, Genova
  • 3. Architettura Database Introduzione API Schema Osmosis Convertire Introduzione Database Managment System: PostgreSQL Luca Delucchi M(’)appare Genova 2012, Genova
  • 4. Architettura Database Introduzione API Schema Osmosis Convertire Introduzione Database Managment System: PostgreSQL Numero di utenti 592.409 Numero di punti GPS caricati 2.826.592.946 Numero di nodes 1.431.538.373 Numero di ways 133.026.354 Numero di relations 1.377.599 Luca Delucchi M(’)appare Genova 2012, Genova
  • 5. Architettura Database Introduzione API Schema Osmosis Convertire Architettura Approfondimento: Database, Strutture SQL Luca Delucchi M(’)appare Genova 2012, Genova
  • 6. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Introduzione API architettura RESTful per interfacciarsi con il database centrale Luca Delucchi M(’)appare Genova 2012, Genova
  • 7. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Introduzione API architettura RESTful per interfacciarsi con il database centrale richiede formato XML Luca Delucchi M(’)appare Genova 2012, Genova
  • 8. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Introduzione API architettura RESTful per interfacciarsi con il database centrale richiede formato XML attuale versione 0.6 Luca Delucchi M(’)appare Genova 2012, Genova
  • 9. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Introduzione API architettura RESTful per interfacciarsi con il database centrale richiede formato XML attuale versione 0.6 permette interscambio di informazioni sui Changeset, elementi, tracce GPS e utenti Luca Delucchi M(’)appare Genova 2012, Genova
  • 10. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Formato .osm <node id=’1512608819’ timestamp=’2011-12-16T20:40:26Z’ uid=’12473’ user=’mikelima’ visible=’true’ version=’2’ changeset=’10134032’ lat=’44.4131166’ lon=’8.9299329’> <tag k=’addr:housenumber’ v=’18’ /> <tag k=’addr:street’ v=’Via Cairoli’ /> <tag k=’barrier’ v=’entrance’ /> <tag k=’foot’ v=’yes’ /> </node> Luca Delucchi M(’)appare Genova 2012, Genova
  • 11. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 Luca Delucchi M(’)appare Genova 2012, Genova
  • 12. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 http://www.openstreetmap.org/api/0.6/way/22901331 Luca Delucchi M(’)appare Genova 2012, Genova
  • 13. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 http://www.openstreetmap.org/api/0.6/way/22901331 http://www.openstreetmap.org/api/0.6/way/22901331/1 Luca Delucchi M(’)appare Genova 2012, Genova
  • 14. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 http://www.openstreetmap.org/api/0.6/way/22901331 http://www.openstreetmap.org/api/0.6/way/22901331/1 http://www.openstreetmap.org/api/0.6/trackpoints?bbox= 44.40,8.97,44.41,8.98&page=5000 Luca Delucchi M(’)appare Genova 2012, Genova
  • 15. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 http://www.openstreetmap.org/api/0.6/way/22901331 http://www.openstreetmap.org/api/0.6/way/22901331/1 http://www.openstreetmap.org/api/0.6/trackpoints?bbox= 44.40,8.97,44.41,8.98&page=5000 http://www.openstreetmap.org/api/0.6/node/create Luca Delucchi M(’)appare Genova 2012, Genova
  • 16. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Esempi http://www.openstreetmap.org/api/0.6/map?bbox=44.40,8. 97,44.41,8.98 http://www.openstreetmap.org/api/0.6/way/22901331 http://www.openstreetmap.org/api/0.6/way/22901331/1 http://www.openstreetmap.org/api/0.6/trackpoints?bbox= 44.40,8.97,44.41,8.98&page=5000 http://www.openstreetmap.org/api/0.6/node/create Approfondimento: API Luca Delucchi M(’)appare Genova 2012, Genova
  • 17. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Luca Delucchi M(’)appare Genova 2012, Genova
  • 18. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Python - PythonOsmApi Luca Delucchi M(’)appare Genova 2012, Genova
  • 19. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Python - PythonOsmApi Perl - Osm.pm Luca Delucchi M(’)appare Genova 2012, Genova
  • 20. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Python - PythonOsmApi Perl - Osm.pm Indirette Luca Delucchi M(’)appare Genova 2012, Genova
  • 21. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Python - PythonOsmApi Perl - Osm.pm Indirette Overpass API Luca Delucchi M(’)appare Genova 2012, Genova
  • 22. Architettura Introduzione Database Formato API Esempi Osmosis Interfacce Convertire Interfacce Dirette Java - Esempio Python - PythonOsmApi Perl - Osm.pm Indirette Overpass API XAPI Luca Delucchi M(’)appare Genova 2012, Genova
  • 23. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Luca Delucchi M(’)appare Genova 2012, Genova
  • 24. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Permette tra l’altro di: Luca Delucchi M(’)appare Genova 2012, Genova
  • 25. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Permette tra l’altro di: generare dump in formato .osm Luca Delucchi M(’)appare Genova 2012, Genova
  • 26. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Permette tra l’altro di: generare dump in formato .osm carica dump in un database Luca Delucchi M(’)appare Genova 2012, Genova
  • 27. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Permette tra l’altro di: generare dump in formato .osm carica dump in un database comparare due database e crea un diff Luca Delucchi M(’)appare Genova 2012, Genova
  • 28. Architettura Database Introduzione API Esempi Osmosis Convertire Osmosis: introduzione Osmosis è un software Java per gestire i dati OSM Permette tra l’altro di: generare dump in formato .osm carica dump in un database comparare due database e crea un diff estrarre dati dentro una bounding box Luca Delucchi M(’)appare Genova 2012, Genova
  • 29. Architettura Database Introduzione API Esempi Osmosis Convertire Esempi osmosis –read-apidb host=x database=x user=x password=x –write-xml file=planet.osm Luca Delucchi M(’)appare Genova 2012, Genova
  • 30. Architettura Database Introduzione API Esempi Osmosis Convertire Esempi osmosis –read-apidb host=x database=x user=x password=x –write-xml file=planet.osm osmosis –read-xml file=planet1.osm –read-apidb host=x database=x user=x password=x –derive-change –write-xml-change file=planetdiff-1-2.osc Luca Delucchi M(’)appare Genova 2012, Genova
  • 31. Architettura Database Introduzione API Esempi Osmosis Convertire Esempi osmosis –read-apidb host=x database=x user=x password=x –write-xml file=planet.osm osmosis –read-xml file=planet1.osm –read-apidb host=x database=x user=x password=x –derive-change –write-xml-change file=planetdiff-1-2.osc osmosis –read-xml-change file=planetdiff-1-2.osc –read-xml file=planet1.osm –apply-change –write-xml file=planet2.osm Luca Delucchi M(’)appare Genova 2012, Genova
  • 32. Architettura Database GIS API Altro Osmosis Convertire Applicazioni GIS PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting, osm2postgis Luca Delucchi M(’)appare Genova 2012, Genova
  • 33. Architettura Database GIS API Altro Osmosis Convertire Applicazioni GIS PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting, osm2postgis Spatialite: spatialite_osm_raw, spatialite_osm_filter, spatialite_osm_map, spatialite_osm_net Luca Delucchi M(’)appare Genova 2012, Genova
  • 34. Architettura Database GIS API Altro Osmosis Convertire Applicazioni GIS PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting, osm2postgis Spatialite: spatialite_osm_raw, spatialite_osm_filter, spatialite_osm_map, spatialite_osm_net Mapnik e altri software di rendering (anche POVRay) Luca Delucchi M(’)appare Genova 2012, Genova
  • 35. Architettura Database GIS API Altro Osmosis Convertire Applicazioni GIS PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting, osm2postgis Spatialite: spatialite_osm_raw, spatialite_osm_filter, spatialite_osm_map, spatialite_osm_net Mapnik e altri software di rendering (anche POVRay) QGIS Luca Delucchi M(’)appare Genova 2012, Genova
  • 36. Architettura Database GIS API Altro Osmosis Convertire Applicazioni GIS PostgreSQL/Postgis: osm2pgsql, Imposm, Osm2pgrouting, osm2postgis Spatialite: spatialite_osm_raw, spatialite_osm_filter, spatialite_osm_map, spatialite_osm_net Mapnik e altri software di rendering (anche POVRay) QGIS Udig Luca Delucchi M(’)appare Genova 2012, Genova
  • 37. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Luca Delucchi M(’)appare Genova 2012, Genova
  • 38. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap Luca Delucchi M(’)appare Genova 2012, Genova
  • 39. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Luca Delucchi M(’)appare Genova 2012, Genova
  • 40. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Osm2garminGUI Luca Delucchi M(’)appare Genova 2012, Genova
  • 41. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Osm2garminGUI Cellulari OsmAnd Luca Delucchi M(’)appare Genova 2012, Genova
  • 42. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Osm2garminGUI Cellulari OsmAnd Navit Luca Delucchi M(’)appare Genova 2012, Genova
  • 43. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Osm2garminGUI Cellulari OsmAnd Navit Mapsforge Luca Delucchi M(’)appare Genova 2012, Genova
  • 44. Architettura Database GIS API Altro Osmosis Convertire Altre applicazioni GPS (Garmin) Mkgmap GroundTruth Osm2garminGUI Cellulari OsmAnd Navit Mapsforge Gpsmid Luca Delucchi M(’)appare Genova 2012, Genova
  • 45. Architettura Database Promemoria API Licenze Osmosis Convertire “un software (o un dato) può essere gratuito ma non libero un software (o un dato) può essere libero, senza escludere aspetti di finanziamento, o commerciali” Luca Delucchi M(’)appare Genova 2012, Genova
  • 46. Architettura Database Promemoria API Licenze Osmosis Convertire “un software (o un dato) può essere gratuito ma non libero un software (o un dato) può essere libero, senza escludere aspetti di finanziamento, o commerciali” Grazie dell’attenzione! Luca Delucchi M(’)appare Genova 2012, Genova
  • 47. Architettura Database Promemoria API Licenze Osmosis Convertire Le immagini di mappe hanno la seguente licenza “Map data (c) OpenStreetMap (and) contributors, CC-BY-SA” Luca Delucchi M(’)appare Genova 2012, Genova