SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Francesco Cesareo – @aomegax
Eduard Natale – @EduardNatale

#ODDNA2014
NaLUG– Napoli, 8 Febbraio 2014
Obiettivo
• 
• 
• 
• 
• 

Open Data
Open Street Map
GeoServer
PostgreSQL / PostGIS
Open Layers
Open Data
•  Open Definition della Open Knowledge Foundation
•  Un contenuto o un dato si definisce  aperto  se  chiunque 
è  in  grado  di  utilizzarlo,  ri­utilizzarlo  e  ridistribuirlo, 
soggetto,  al massimo, alla richiesta di attribuzione 
e condivisione allo stesso modo (BY-SA).

•  L’Open Data si basa sulla constatazione che il dato
pubblico è stato prodotto con denaro pubblico, ossia
della collettività, ed è a questa che il dato deve essere
restituito
Open Data: caratteristiche (1/2)
• 

Accesso
• 

• 

• 
• 

• 

L’opera deve essere disponibile nella sua interezza ed a un costo di riproduzione ragionevole,
preferibilmente tramite il download gratuito via Internet. L’opera deve inoltre essere disponibile in un
formato comodo e modificabile.

Ridistribuzione
•  La licenza non deve imporre alcuna limitazione alla vendita o all’offerta gratuita dell’opera
singolarmente considerata o come parte di un pacchetto composto da opere provenienti da fonti
diverse. La licenza non deve richiedere alcuna “royalty” o altra forma di pagamento per tale
vendita o distribuzione.
Riutilizzo
•  La licenza deve consentire la realizzazione di modifiche e di opere derivate e deve consentire la
loro distribuzione agli stessi termini dell’opera originaria.
Assenza di restrizioni tecnologiche
•  L’opera deve essere fornita in un formato che non ponga ostacoli tecnologici allo svolgimento
delle attività sopraelencate. Ciò può essere conseguito mediante la messa a disposizione
dell’opera in un formato aperto, vale a dire un formato le cui specifiche siano pubblicamente e
liberamente disponibili e che non imponga nessuna restrizione economica o di altro tipo al suo
utilizzo.
Attribuzione
•  La licenza può richiedere di citare i vari contributori e creatori dell’opera come condizione per la
ridistribuzione ed il riutilizzo di quest’ultima. Se imposta, questa condizione non deve essere
onerosa. Per esempio, se viene richiesta la citazione, un elenco di coloro che devono essere citati
deve accompagnare l’opera.
Open Data: caratteristiche (2/2)
• 

• 
• 

• 

• 

• 

Integrità
•  La licenza può richiedere, come condizione perché l’opera venga distribuita in forma modificata, che
l’opera derivata abbia un nome o un numero di versione diverso dall’opera originaria.
Nessuna discriminazione di persone o gruppi
•  La licenza non deve discriminare alcuna persona o gruppo di persone.
Nessuna discriminazione nei settori d’attività
•  La licenza non deve impedire a nessuno di utilizzare l’opera in un determinato settore d’attività. Per
esempio, la licenza non può impedire che l’opera sia utilizzata da un’azienda, o che venga utilizzata ai
fini di ricerca genetica.
Distribuzione della licenza
•  I diritti relativi all’opera devono valere per tutte le persone a cui il programma viene ridistribuito senza
che sia per loro necessario accettare o sottostare ad alcuna licenza aggiuntiva.
La licenza non deve essere specifica per un pacchetto
•  I diritti relativi all’opera non devono dipendere dal fatto che l’opera sia parte di un particolare pacchetto.
Se l’opera viene estratta da quel pacchetto e usata o distribuita in conformità con i termini della licenza
dell’opera, tutte le persone a cui il lavoro viene ridistribuito devono avere gli stessi diritti concessi in
congiunzione con il pacchetto originario.
La licenza non deve limitare la distribuzione di altre opere
•  La licenza non deve imporre restrizioni su altre opere distribuite insieme all’opera licenziata. Per
esempio, la licenza non deve insistere sul fatto che tutte le altre opere distribuite sullo stesso supporto
siano aperte.
Open Data: sintesi
•  Devono essere indicizzati dai motori di ricerca.
•  Devono essere rilasciati attraverso licenze libere che
non impediscano la diffusione e il riutilizzo da parte di
tutti i soggetti interessati.
•  Devono essere disponibili in un formato aperto,
standardizzato e leggibile da un'applicazione
informatica per facilitare la loro consultazione ed
incentivare il loro riutilizzo anche in modo creativo.
Open Data: formati
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 

JSON
XML
RDF – raccomandato dal W3C
Fogli di calcolo (xls…)
CSV
Documenti di testo (pdf, doc, odf…)
Testo semplice (txt)
Immagine
Formati proprietari
HTML
Five ★ Open Data (1/2)
•  Tim Berners-Lee ha suggerito uno schema di
distribuzione degli Open Data
•  ★ per essere open un dato deve essere disponibile in
rete in qualche formato con una licenza open.
•  ★★ il dato deve essere strutturato e “machinereadable”.
•  ★★★ il dato deve essere in formato non proprietario.
•  ★★★★ il dato deve essere in uno standard aperto
secondo W3C (RDF e SPARQL) per identificare le cose, in
modo che sia possibile metterle in collegamento.
•  ★★★★★ i dati devono essere messi in relazione con
altri dati al fine di fornire il contesto
Five ★ Open Data (2/2)
OpenStreetMap (1/2)
•  Cos’è?
•  Progetto cartografico collaborativo ideato nel 2004 per creare
mappe stradali.
•  Oggi è la più grande banca dati cartografica libera
•  Io mappo il mio quartiere, tu mappi il tuo quartiere e insieme
mappiamo il mondo.

•  Perché?
•  Quasi tutta la cartografia disponibile ha delle restrizioni
•  non si può modificare e migliorare
•  non si può utilizzare liberamente e gratuitamente
•  non si può espandere con altre informazioni

•  OSM è un database aperto rilasciato con licenza Open Data
Commons Open Database License (ODbL).
OpenStreetMap (2/2)
•  Nessuna limitazione su cosa mappare: ogni cosa
localizzabile da coordinate geografiche è mappabile
•  Filosofia Wiki: ogni oggetto mappato è sempre
migliorabile
•  Affidabilità dei dati?
•  Non per applicazioni catastali ma per applicazioni per cui
l’errore di alcuni metri è accettabile. Possibilità di
aggiungere al dato la fonte.
•  La precisione è eccellente dove i Comuni hanno aperto i
loro dati catastali (es. Francia).
OSM: Casi d’uso
•  Nel 2009, a fronte dell'apertura di parecchi dati del governo
inglese, furono analizzate le statistiche degli incidenti con
ciclisti coinvolti e visualizzate su una mappa OSM: questo
contribuì ad abbassare il tasso di incidenti solamente con
una piccola modifica nel percorso dei ciclisti stessi in modo
da evitare gli incroci più pericolosi.
•  Kibera è un'immensa baraccopoli in Kenia con una
popolazione stimata tra le 700.000 e le 900.000 persone;
sino al 2009 semplicemente non esisteva su nessuna
mappa. Con l'aiuto di due mappatori del team H.O.T. è stata
mappata l'intera area. Su quella mappa si riportano le
strutture umanitarie, le segnalazioni dei cittadini ed è nato
un movimento per dare una voce globale ad una realtà che
la voce non l'aveva.
OSM: Come collaborare
•  Riportare errori su OSM Notes
•  http://www.openstreetmap.org/note/new

•  Fare semplici modifiche come aggiungere nomi alle
strade, aggiungere POI, etc.
•  Organizzare Mapping Party.
•  Incontro, suddivisione delle zone, rilevamento e post
elaborazione dei dati

•  Mappare la zona in cui abiti.
•  IMPORTANTE: Mappare solo quello che si conosce e
non usare fonti coperte da copyright.
OSM: Intorno a noi

http://resultmaps.neis-one.org/oooc?zoom=12&lat=40.82877&lon=14.32549
DALLE PAROLE AI FATTI
Prerequisiti
•  Linux Ubuntu 12.04
•  Installare Java 7
•  sudo apt-get install openjdk-7-jdk

•  Installare Tomcat 7
•  sudo apt-get install tomcat7
•  Modificare il file /etc/default/tomcat7 alla riga 12
•  JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

•  sudo service tomcat7 restart
•  It works!
•  ubuntu:8080
GeoServer
•  Scaricare il WAR di GeoServer dal seguente link
(reperibile dal sito http://geoserver.org)
•  http://sourceforge.net/projects/geoserver/files/
GeoServer/2.4.4/geoserver-2.4.4-war.zip

•  Scompattare l’archivio in /var/lib/tomcat7/webapps
•  Riavviare Tomcat
•  sudo service tomcat7 restart

•  It works!
•  ubuntu:8080/geoserver
•  user: admin, password: geoserver
PostgreSQL
• 

Installare PostgreSQL
• 

• 

sudo apt-get install postgresql-9.1

Configurare PostgreSQL
• 
• 
• 

sudo -u postgres psql template1
ALTER USER postgres with encrypted password 'postgres';
Modificare il file file /etc/postgresql/9.1/main/postgresql.conf alla riga 59
• 

• 

Modificare il file file /etc/postgresql/9.1/main/pg_hba.conf
• 
• 

• 

riga 85: local
riga 92: host

all
all

postgres
postgres

Riavviare PostgreSQL
• 

• 

listen_address = ‘*’

sudo service postgresql restart

Installare PostGIS
• 
• 
• 
• 
• 
• 
• 
• 

sudo apt-get install postgis
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:sharpie/for-science
sudo apt-add-repository ppa:sharpie/postgis-stable
sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install postgresql-9.1-postgis2
Eseguire PSQL (psql postgres postgres)
• 
• 

CREATE EXTENSION postgis; -- Enable PostGIS (includes raster)
CREATE EXTENSION postgis_topology; -- Enable Topology

all

md5
md5
IMPOSM
•  Tool per importare dati di OpenStreetMap, effettua il parsing di file in formati
XML o PBF e memorizza in database come PostgreSQL.
•  Download: http://imposm.org/docs/imposm/latest/install.html
•  sudo apt-get install build-essential python-dev protobuf-compiler libprotobuf-dev
libtokyocabinet-dev python-psycopg2 libgeos-c1

•  Script per estrarre I POI da OpenStreetMap e memorizzarli in PostgreSQL
•  https://github.com/colemanm/places

•  File PBF possono essere trovati su: http://geodati.fmach.it/gfoss_geodata/
osm/italia_osm.html
•  Campania: http://geodati.fmach.it/gfoss_geodata/osm/output_osm_regioni/
campania.pbf

•  Esecuzione:
•  imposm -U postgres -d oddna -m imposm-places.py --read campania.pbf --write -optimize --deploy-production-tables --merge-cache --proj EPSG:4326
Una semplice applicazione (1/6)
•  Obiettivo: visualizzare su mappa tutti i POI
d’intrattenimento della Campania
•  TODO:
•  Geoserver:
•  creare workspace
•  creare store (entra in gioco PostgreSQL/PostGIS)
•  creare layer

•  OpenLayer:
•  creare mappa della Campania
•  creare layer con i POI
•  sovrapporre il layer alla mappa
Una semplice applicazione (2/6)
Una semplice applicazione (3/6)
Una semplice applicazione (4/6)
// Proiezioni
var mercator = new OpenLayers.Projection("EPSG:900913");
var geographic = new OpenLayers.Projection("EPSG:4326");
// Tile (Base Layer)
// OpenStreetMap
var OSMTile = new OpenLayers.Layer.OSM( "OSM Map");
// MapQuest
var MQTile = new OpenLayers.Layer.XYZ( "OpenStreetMap”, [
"http://otile1.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.png",
…
], {
attribution: ”MapQuest”,
transitionEffect: "resize"
}
);
Una semplice applicazione (5/6)
// Creo la mappa
var map = new OpenLayers.Map({
div: "map",
projection: "EPSG:900913",
layers: [ MQTile ] // oppure OSMTile
});
// Centro mappa su Napoli
map.setCenter(new OpenLayers.LonLat(14.19423,
40.82292).transform(geographic, mercator), 10);
Una semplice applicazione (6/6)
// Creo il layer
var osm_entertainment = new
OpenLayers.Layer.Vector("osm_entertainment", {
projection: geographic,
strategies: [ new OpenLayers.Strategy.BBOX() ],
protocol: new OpenLayers.Protocol.WFS({
featureType: "osm_entertainment",
featureNS: "oddna2014",
url: GEOSERVER + "/wfs",
geometryName: "geometry"
})
});
// Aggiungo il layer alla mappa
map.addLayer(osm_entertainment)
Complichiamo l’applicazione
•  Obiettivo: visualizzare su mappa solo i bar della Campania
// Creo il layer
var TYPE = “bar”; // o “cinema”
var osm_entertainment_2 = new
OpenLayers.Layer.Vector("osm_entertainment_2", {
projection: geographic,
strategies: [ new OpenLayers.Strategy.BBOX() ],
protocol: new OpenLayers.Protocol.HTTP({
format: new OpenLayers.Format.GML(),
url: GEOSERVER + "/oddna2014/ows?
service=WFS&version=1.0.0&request=GetFeature&viewparams=type:"+
TYPE+"&typeName=oddna2014:osm_entertainment_2"
})
});
MapQuest SDK (1/2)
•  Obiettivo: realizzare una semplice mappa su Android
MapQuest SDK (2/2)
Credits
•  http://www.slideshare.net/AleZenaIT/introduzione-aopenstreetmap-gter-30032012
•  http://www.slideshare.net/musuruan/accademia2011
•  http://opendefinition.org/od/italiano/
•  http://5stardata.info/

•  Questa presentazione è rilasciata con licenza

Contenu connexe

Similaire à #ODDNA2014 - Open Data e Open Street Map

3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)Giuseppe Vizzari
 
Open Source Pubblica Amministrazione
Open Source Pubblica AmministrazioneOpen Source Pubblica Amministrazione
Open Source Pubblica AmministrazionePaolo Coppola
 
Open Source e Open Data - workshop LOW COST 3D
Open Source e Open Data - workshop LOW COST 3DOpen Source e Open Data - workshop LOW COST 3D
Open Source e Open Data - workshop LOW COST 3DMaurizio Napolitano
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
7 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/187 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/18Giuseppe Vizzari
 
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...INPSDG
 
In giro per un mappamondo libero: introduzione ad OpenStreetMap - Martin Kop...
In giro per un mappamondo libero: introduzione ad OpenStreetMap  - Martin Kop...In giro per un mappamondo libero: introduzione ad OpenStreetMap  - Martin Kop...
In giro per un mappamondo libero: introduzione ad OpenStreetMap - Martin Kop...OpenGeoDataItalia
 
In giro per un mappamondo libero: introduzione ad OpenStreetMap
In giro per un mappamondo libero: introduzione ad OpenStreetMapIn giro per un mappamondo libero: introduzione ad OpenStreetMap
In giro per un mappamondo libero: introduzione ad OpenStreetMapdieterdreist
 
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020Disseminazione dei risultati della ricerca e Open Access in Horizon 2020
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020Paola Gargiulo
 
Introduzione Cloud Computing
Introduzione Cloud ComputingIntroduzione Cloud Computing
Introduzione Cloud Computingsteccami
 
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015Domenico Barile
 
VisualDDHub - final approach
VisualDDHub - final approachVisualDDHub - final approach
VisualDDHub - final approachMartina Garofalo
 
Introduzione a openstreetmap e casi d'uso disi 23-04-2012
Introduzione a openstreetmap e casi d'uso   disi 23-04-2012Introduzione a openstreetmap e casi d'uso   disi 23-04-2012
Introduzione a openstreetmap e casi d'uso disi 23-04-2012Ale ZenaIT
 
Licenze e politiche europee per il patrimonio culturale digitale
Licenze e politiche europee per il patrimonio culturale digitaleLicenze e politiche europee per il patrimonio culturale digitale
Licenze e politiche europee per il patrimonio culturale digitaleCulturaItalia
 

Similaire à #ODDNA2014 - Open Data e Open Street Map (20)

3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)
 
Open Source Pubblica Amministrazione
Open Source Pubblica AmministrazioneOpen Source Pubblica Amministrazione
Open Source Pubblica Amministrazione
 
Open Source e Open Data - workshop LOW COST 3D
Open Source e Open Data - workshop LOW COST 3DOpen Source e Open Data - workshop LOW COST 3D
Open Source e Open Data - workshop LOW COST 3D
 
About open data
About open dataAbout open data
About open data
 
Open Source Hardware
Open Source HardwareOpen Source Hardware
Open Source Hardware
 
Ricercare nel web
Ricercare nel webRicercare nel web
Ricercare nel web
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
7 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/187 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/18
 
Lab automation
Lab automationLab automation
Lab automation
 
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...
Formez PA : workshop "R-Innovare i servizi per il lavoro" - Roma, 28 novembre...
 
In giro per un mappamondo libero: introduzione ad OpenStreetMap - Martin Kop...
In giro per un mappamondo libero: introduzione ad OpenStreetMap  - Martin Kop...In giro per un mappamondo libero: introduzione ad OpenStreetMap  - Martin Kop...
In giro per un mappamondo libero: introduzione ad OpenStreetMap - Martin Kop...
 
In giro per un mappamondo libero: introduzione ad OpenStreetMap
In giro per un mappamondo libero: introduzione ad OpenStreetMapIn giro per un mappamondo libero: introduzione ad OpenStreetMap
In giro per un mappamondo libero: introduzione ad OpenStreetMap
 
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020Disseminazione dei risultati della ricerca e Open Access in Horizon 2020
Disseminazione dei risultati della ricerca e Open Access in Horizon 2020
 
Introduzione Cloud Computing
Introduzione Cloud ComputingIntroduzione Cloud Computing
Introduzione Cloud Computing
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
 
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015
Serate di alfbetizzazione digitale - Primo incontro 27 Aprile 2015
 
VisualDDHub - final approach
VisualDDHub - final approachVisualDDHub - final approach
VisualDDHub - final approach
 
9 - Ricercare nel Web
9 - Ricercare nel Web9 - Ricercare nel Web
9 - Ricercare nel Web
 
Introduzione a openstreetmap e casi d'uso disi 23-04-2012
Introduzione a openstreetmap e casi d'uso   disi 23-04-2012Introduzione a openstreetmap e casi d'uso   disi 23-04-2012
Introduzione a openstreetmap e casi d'uso disi 23-04-2012
 
Licenze e politiche europee per il patrimonio culturale digitale
Licenze e politiche europee per il patrimonio culturale digitaleLicenze e politiche europee per il patrimonio culturale digitale
Licenze e politiche europee per il patrimonio culturale digitale
 

Dernier

La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxOrianaOcchino
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxfedericodellacosta2
 
La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataGianluigi Cogo
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 

Dernier (8)

La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptx
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptx
 
La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open Data
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 

#ODDNA2014 - Open Data e Open Street Map

  • 1. Francesco Cesareo – @aomegax Eduard Natale – @EduardNatale #ODDNA2014 NaLUG– Napoli, 8 Febbraio 2014
  • 2. Obiettivo •  •  •  •  •  Open Data Open Street Map GeoServer PostgreSQL / PostGIS Open Layers
  • 3. Open Data •  Open Definition della Open Knowledge Foundation •  Un contenuto o un dato si definisce  aperto  se  chiunque  è  in  grado  di  utilizzarlo,  ri­utilizzarlo  e  ridistribuirlo,  soggetto,  al massimo, alla richiesta di attribuzione  e condivisione allo stesso modo (BY-SA). •  L’Open Data si basa sulla constatazione che il dato pubblico è stato prodotto con denaro pubblico, ossia della collettività, ed è a questa che il dato deve essere restituito
  • 4. Open Data: caratteristiche (1/2) •  Accesso •  •  •  •  •  L’opera deve essere disponibile nella sua interezza ed a un costo di riproduzione ragionevole, preferibilmente tramite il download gratuito via Internet. L’opera deve inoltre essere disponibile in un formato comodo e modificabile. Ridistribuzione •  La licenza non deve imporre alcuna limitazione alla vendita o all’offerta gratuita dell’opera singolarmente considerata o come parte di un pacchetto composto da opere provenienti da fonti diverse. La licenza non deve richiedere alcuna “royalty” o altra forma di pagamento per tale vendita o distribuzione. Riutilizzo •  La licenza deve consentire la realizzazione di modifiche e di opere derivate e deve consentire la loro distribuzione agli stessi termini dell’opera originaria. Assenza di restrizioni tecnologiche •  L’opera deve essere fornita in un formato che non ponga ostacoli tecnologici allo svolgimento delle attività sopraelencate. Ciò può essere conseguito mediante la messa a disposizione dell’opera in un formato aperto, vale a dire un formato le cui specifiche siano pubblicamente e liberamente disponibili e che non imponga nessuna restrizione economica o di altro tipo al suo utilizzo. Attribuzione •  La licenza può richiedere di citare i vari contributori e creatori dell’opera come condizione per la ridistribuzione ed il riutilizzo di quest’ultima. Se imposta, questa condizione non deve essere onerosa. Per esempio, se viene richiesta la citazione, un elenco di coloro che devono essere citati deve accompagnare l’opera.
  • 5. Open Data: caratteristiche (2/2) •  •  •  •  •  •  Integrità •  La licenza può richiedere, come condizione perché l’opera venga distribuita in forma modificata, che l’opera derivata abbia un nome o un numero di versione diverso dall’opera originaria. Nessuna discriminazione di persone o gruppi •  La licenza non deve discriminare alcuna persona o gruppo di persone. Nessuna discriminazione nei settori d’attività •  La licenza non deve impedire a nessuno di utilizzare l’opera in un determinato settore d’attività. Per esempio, la licenza non può impedire che l’opera sia utilizzata da un’azienda, o che venga utilizzata ai fini di ricerca genetica. Distribuzione della licenza •  I diritti relativi all’opera devono valere per tutte le persone a cui il programma viene ridistribuito senza che sia per loro necessario accettare o sottostare ad alcuna licenza aggiuntiva. La licenza non deve essere specifica per un pacchetto •  I diritti relativi all’opera non devono dipendere dal fatto che l’opera sia parte di un particolare pacchetto. Se l’opera viene estratta da quel pacchetto e usata o distribuita in conformità con i termini della licenza dell’opera, tutte le persone a cui il lavoro viene ridistribuito devono avere gli stessi diritti concessi in congiunzione con il pacchetto originario. La licenza non deve limitare la distribuzione di altre opere •  La licenza non deve imporre restrizioni su altre opere distribuite insieme all’opera licenziata. Per esempio, la licenza non deve insistere sul fatto che tutte le altre opere distribuite sullo stesso supporto siano aperte.
  • 6. Open Data: sintesi •  Devono essere indicizzati dai motori di ricerca. •  Devono essere rilasciati attraverso licenze libere che non impediscano la diffusione e il riutilizzo da parte di tutti i soggetti interessati. •  Devono essere disponibili in un formato aperto, standardizzato e leggibile da un'applicazione informatica per facilitare la loro consultazione ed incentivare il loro riutilizzo anche in modo creativo.
  • 7. Open Data: formati •  •  •  •  •  •  •  •  •  •  JSON XML RDF – raccomandato dal W3C Fogli di calcolo (xls…) CSV Documenti di testo (pdf, doc, odf…) Testo semplice (txt) Immagine Formati proprietari HTML
  • 8. Five ★ Open Data (1/2) •  Tim Berners-Lee ha suggerito uno schema di distribuzione degli Open Data •  ★ per essere open un dato deve essere disponibile in rete in qualche formato con una licenza open. •  ★★ il dato deve essere strutturato e “machinereadable”. •  ★★★ il dato deve essere in formato non proprietario. •  ★★★★ il dato deve essere in uno standard aperto secondo W3C (RDF e SPARQL) per identificare le cose, in modo che sia possibile metterle in collegamento. •  ★★★★★ i dati devono essere messi in relazione con altri dati al fine di fornire il contesto
  • 9. Five ★ Open Data (2/2)
  • 10. OpenStreetMap (1/2) •  Cos’è? •  Progetto cartografico collaborativo ideato nel 2004 per creare mappe stradali. •  Oggi è la più grande banca dati cartografica libera •  Io mappo il mio quartiere, tu mappi il tuo quartiere e insieme mappiamo il mondo. •  Perché? •  Quasi tutta la cartografia disponibile ha delle restrizioni •  non si può modificare e migliorare •  non si può utilizzare liberamente e gratuitamente •  non si può espandere con altre informazioni •  OSM è un database aperto rilasciato con licenza Open Data Commons Open Database License (ODbL).
  • 11. OpenStreetMap (2/2) •  Nessuna limitazione su cosa mappare: ogni cosa localizzabile da coordinate geografiche è mappabile •  Filosofia Wiki: ogni oggetto mappato è sempre migliorabile •  Affidabilità dei dati? •  Non per applicazioni catastali ma per applicazioni per cui l’errore di alcuni metri è accettabile. Possibilità di aggiungere al dato la fonte. •  La precisione è eccellente dove i Comuni hanno aperto i loro dati catastali (es. Francia).
  • 12. OSM: Casi d’uso •  Nel 2009, a fronte dell'apertura di parecchi dati del governo inglese, furono analizzate le statistiche degli incidenti con ciclisti coinvolti e visualizzate su una mappa OSM: questo contribuì ad abbassare il tasso di incidenti solamente con una piccola modifica nel percorso dei ciclisti stessi in modo da evitare gli incroci più pericolosi. •  Kibera è un'immensa baraccopoli in Kenia con una popolazione stimata tra le 700.000 e le 900.000 persone; sino al 2009 semplicemente non esisteva su nessuna mappa. Con l'aiuto di due mappatori del team H.O.T. è stata mappata l'intera area. Su quella mappa si riportano le strutture umanitarie, le segnalazioni dei cittadini ed è nato un movimento per dare una voce globale ad una realtà che la voce non l'aveva.
  • 13. OSM: Come collaborare •  Riportare errori su OSM Notes •  http://www.openstreetmap.org/note/new •  Fare semplici modifiche come aggiungere nomi alle strade, aggiungere POI, etc. •  Organizzare Mapping Party. •  Incontro, suddivisione delle zone, rilevamento e post elaborazione dei dati •  Mappare la zona in cui abiti. •  IMPORTANTE: Mappare solo quello che si conosce e non usare fonti coperte da copyright.
  • 14. OSM: Intorno a noi http://resultmaps.neis-one.org/oooc?zoom=12&lat=40.82877&lon=14.32549
  • 16. Prerequisiti •  Linux Ubuntu 12.04 •  Installare Java 7 •  sudo apt-get install openjdk-7-jdk •  Installare Tomcat 7 •  sudo apt-get install tomcat7 •  Modificare il file /etc/default/tomcat7 alla riga 12 •  JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 •  sudo service tomcat7 restart •  It works! •  ubuntu:8080
  • 17. GeoServer •  Scaricare il WAR di GeoServer dal seguente link (reperibile dal sito http://geoserver.org) •  http://sourceforge.net/projects/geoserver/files/ GeoServer/2.4.4/geoserver-2.4.4-war.zip •  Scompattare l’archivio in /var/lib/tomcat7/webapps •  Riavviare Tomcat •  sudo service tomcat7 restart •  It works! •  ubuntu:8080/geoserver •  user: admin, password: geoserver
  • 18. PostgreSQL •  Installare PostgreSQL •  •  sudo apt-get install postgresql-9.1 Configurare PostgreSQL •  •  •  sudo -u postgres psql template1 ALTER USER postgres with encrypted password 'postgres'; Modificare il file file /etc/postgresql/9.1/main/postgresql.conf alla riga 59 •  •  Modificare il file file /etc/postgresql/9.1/main/pg_hba.conf •  •  •  riga 85: local riga 92: host all all postgres postgres Riavviare PostgreSQL •  •  listen_address = ‘*’ sudo service postgresql restart Installare PostGIS •  •  •  •  •  •  •  •  sudo apt-get install postgis sudo apt-get install python-software-properties sudo apt-add-repository ppa:sharpie/for-science sudo apt-add-repository ppa:sharpie/postgis-stable sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable sudo apt-get update sudo apt-get install postgresql-9.1-postgis2 Eseguire PSQL (psql postgres postgres) •  •  CREATE EXTENSION postgis; -- Enable PostGIS (includes raster) CREATE EXTENSION postgis_topology; -- Enable Topology all md5 md5
  • 19. IMPOSM •  Tool per importare dati di OpenStreetMap, effettua il parsing di file in formati XML o PBF e memorizza in database come PostgreSQL. •  Download: http://imposm.org/docs/imposm/latest/install.html •  sudo apt-get install build-essential python-dev protobuf-compiler libprotobuf-dev libtokyocabinet-dev python-psycopg2 libgeos-c1 •  Script per estrarre I POI da OpenStreetMap e memorizzarli in PostgreSQL •  https://github.com/colemanm/places •  File PBF possono essere trovati su: http://geodati.fmach.it/gfoss_geodata/ osm/italia_osm.html •  Campania: http://geodati.fmach.it/gfoss_geodata/osm/output_osm_regioni/ campania.pbf •  Esecuzione: •  imposm -U postgres -d oddna -m imposm-places.py --read campania.pbf --write -optimize --deploy-production-tables --merge-cache --proj EPSG:4326
  • 20. Una semplice applicazione (1/6) •  Obiettivo: visualizzare su mappa tutti i POI d’intrattenimento della Campania •  TODO: •  Geoserver: •  creare workspace •  creare store (entra in gioco PostgreSQL/PostGIS) •  creare layer •  OpenLayer: •  creare mappa della Campania •  creare layer con i POI •  sovrapporre il layer alla mappa
  • 23. Una semplice applicazione (4/6) // Proiezioni var mercator = new OpenLayers.Projection("EPSG:900913"); var geographic = new OpenLayers.Projection("EPSG:4326"); // Tile (Base Layer) // OpenStreetMap var OSMTile = new OpenLayers.Layer.OSM( "OSM Map"); // MapQuest var MQTile = new OpenLayers.Layer.XYZ( "OpenStreetMap”, [ "http://otile1.mqcdn.com/tiles/1.0.0/map/${z}/${x}/${y}.png", … ], { attribution: ”MapQuest”, transitionEffect: "resize" } );
  • 24. Una semplice applicazione (5/6) // Creo la mappa var map = new OpenLayers.Map({ div: "map", projection: "EPSG:900913", layers: [ MQTile ] // oppure OSMTile }); // Centro mappa su Napoli map.setCenter(new OpenLayers.LonLat(14.19423, 40.82292).transform(geographic, mercator), 10);
  • 25. Una semplice applicazione (6/6) // Creo il layer var osm_entertainment = new OpenLayers.Layer.Vector("osm_entertainment", { projection: geographic, strategies: [ new OpenLayers.Strategy.BBOX() ], protocol: new OpenLayers.Protocol.WFS({ featureType: "osm_entertainment", featureNS: "oddna2014", url: GEOSERVER + "/wfs", geometryName: "geometry" }) }); // Aggiungo il layer alla mappa map.addLayer(osm_entertainment)
  • 26. Complichiamo l’applicazione •  Obiettivo: visualizzare su mappa solo i bar della Campania // Creo il layer var TYPE = “bar”; // o “cinema” var osm_entertainment_2 = new OpenLayers.Layer.Vector("osm_entertainment_2", { projection: geographic, strategies: [ new OpenLayers.Strategy.BBOX() ], protocol: new OpenLayers.Protocol.HTTP({ format: new OpenLayers.Format.GML(), url: GEOSERVER + "/oddna2014/ows? service=WFS&version=1.0.0&request=GetFeature&viewparams=type:"+ TYPE+"&typeName=oddna2014:osm_entertainment_2" }) });
  • 27. MapQuest SDK (1/2) •  Obiettivo: realizzare una semplice mappa su Android
  • 29. Credits •  http://www.slideshare.net/AleZenaIT/introduzione-aopenstreetmap-gter-30032012 •  http://www.slideshare.net/musuruan/accademia2011 •  http://opendefinition.org/od/italiano/ •  http://5stardata.info/ •  Questa presentazione è rilasciata con licenza