mapserver - marco negretti · pdf file realizzazione del webgis • schema di funzionamento...
TRANSCRIPT
![Page 1: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/1.jpg)
MapServer
Marco NegrettiPolitecnico di Milano – Polo Regionale di Como
e-mail: [email protected]://geomatica.como.polimi.it - tel +39.031.332.7524
17/05/05 - v 1.0
![Page 2: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/2.jpg)
proprietà
MapServer è un ambiente di sviluppo open source per la
costruzione di applicazioni web dedicate alla pubblicazione di dati
spaziali
2
![Page 3: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/3.jpg)
storia
• E’ stato inizialmente sviluppato alla Univesity of Minnesota (UMN) nell’ambito del progetto ForNet sostenuto dalla NASA insieme al Minnesota Department of Natural Resources
• Lo sviluppo è continuato con un altro progetto NASA, il progetto TerraSIP
• MapServer è in continua crescita, con diversi sviluppatori e enti nel mondo che si stanno occupando del suo sviluppo
http://mapserver.gis.umn.edu/3
![Page 4: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/4.jpg)
ambiente
• web server: apache• S.O: linux/UNIX, Windows, Mac
• sorgenti compilabili
• binari per–Windows–Mac OS X – rpm per Fedora Core 2
4
![Page 5: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/5.jpg)
navigazione interattiva delle carte
5
Selezione dei layer da visualizzare
Strumenti di navigazione• zoom in• zoom out• pan• viste predefinite
Interrogazione degli elementi della carta
![Page 6: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/6.jpg)
navigazione interattiva delle carte
6
Alcuni esempi: zoom su un’area
![Page 7: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/7.jpg)
navigazione interattiva delle carte
7
Alcuni esempi: zoom su un’area
![Page 8: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/8.jpg)
navigazione interattiva delle carte
8
Selezione dei layer
![Page 9: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/9.jpg)
navigazione interattiva delle carte
9
Selezione dei layer
![Page 10: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/10.jpg)
navigazione interattiva delle carte
10
Interrogazione di un elemento della carta
• Visualizzazione dei dati associati ad un elemento
![Page 11: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/11.jpg)
formati supportati
• vettoriali: shapefile, PostGIS/PostgreSQL, ESRI ArcSDE e altri mediante la libreria OGR
• raster: TIFF/GeoTIFF, EPPL7 e altri mediante la libreria GDAL
11
http://www.gdal.org/ogr/
http://www.gdal.org/
![Page 12: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/12.jpg)
realizzazione del webGIS
• Schema di funzionamento
12
utente internetbrowser
archivio datiwebGIS
Server
web
serv
er
richieste dell'utente- estensione geografica- layer-interrogazioni dati- ...
generazione di pagine HTML(dinamiche) in funzione delle
richieste ricevute
![Page 13: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/13.jpg)
realizzazione del webGIS
• Due modalità–generazione delle pagine dinamiche
tramite chiamata al programma mapserv (directory /cgi-bin)
⇒ MapServer CGI–utilizzo di linguaggi di script per
la generazione delle pagine HTML dinamiche e accesso ai servizi di MapServer tramite chiamate alle API
⇒ MapScript
13
![Page 14: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/14.jpg)
MapServer CGI
14
mapfile:definizione delle modalità di visualizzazione delle carte
(definizione dei layer, colori, simboli, scala di visualizzazione, attributi interrogabili,...)
template file:struttura della pagina html
utente internetbrowser
archivio dati
webGIS
Server
web
ser
ver
templatemap file
pagine html dinamiche
![Page 15: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/15.jpg)
Il Mapfile
• mapfilefile di testo nel quale vengono definiti oggetti e i loro attributi in modo tale da determinare le modalità di visualizzazione di una carta
15
![Page 16: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/16.jpg)
mapfile
• Oggetti
16
oggetto1attributo1 valoreattributo2 valore...oggetto1.1
attributo valore...
end...endoggetto2attributo1 valore...
end
definizione dell’oggetto 2
definizione dell’oggetto 1
nella definizione di un oggetto è
possibile includere un altro
oggetto
![Page 17: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/17.jpg)
POINTS (n)
SYMBOL STYLE (n)
LEGEND LABEL
SCALEBAR LABEL
REFERENCE METADATA PARAMETER (n)
MAP QUERYMAP FEATURE (n) POINTS (n)
LAYER (n) GRID JOIN
OUTPUT FORMAT PROJECTION STYLE (n)
PROJECTION CLASS (n) LABEL
WEB METADATA PARAMETER (n)
mapfilegli oggetti
17
![Page 18: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/18.jpg)
In alcuni casi posso avere più oggetti dello stesso tipo
sullo stesso livello
POINTS (n)
SYMBOL STYLE (n)
LEGEND LABEL
SCALEBAR LABEL
REFERENCE METADATA PARAMETER (n)
MAP QUERYMAP FEATURE (n) POINTS (n)
LAYER (n) GRID JOIN
OUTPUT FORMAT PROJECTION STYLE (n)
PROJECTION CLASS (n) LABEL
WEB METADATA PARAMETER (n)
mapfilegli oggetti
18
![Page 19: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/19.jpg)
POINTS (n)
SYMBOL STYLE (n)
LEGEND LABEL
SCALEBAR LABEL
REFERENCE METADATA PARAMETER (n)
MAP QUERYMAP FEATURE (n) POINTS (n)
LAYER (n) GRID JOIN
OUTPUT FORMAT PROJECTION STYLE (n)
PROJECTION CLASS (n) LABEL
WEB METADATA PARAMETER (n)
mapfilegli oggetti
19
oggetti dello stesso tipo
possono trovarsi in livelli diversi
![Page 20: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/20.jpg)
mapfile
• un esempio
20
map: definizione dei parametri generali della cartaIn questo oggetto sono contenuti tutti gli altri oggetti del map file
web: definizione dei template e delle directory di sistema
reference: definizione delle caratteristiche della carta di riferimento
![Page 21: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/21.jpg)
mapfile
• un esempio
21
legend: definizione delle caratteristiche della legenda
scalebar: definizione della barra di scala
label: la barra di scala contiene dei caratteri le cui proprietà sono definite con questo oggetto
![Page 22: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/22.jpg)
mapfile
• un esempio
22
layer: definizione delle caratteristiche del layer (file di dati, unità di misura, template per le query,...)
metadata: elenco dei metadati
class: definizione dei parametri di visualizzazione. Per ogni layer posso definire più classi in modo da cambiare le modalità di visualizzazione in base alla scala corrente o al valore di un attributo
style: stile di visualizzazione
http://mapserver.gis.umn.edu/doc44/mapfile-reference.html
![Page 23: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/23.jpg)
template filestruttura base per la generazione delle
pagine dinamiche
23
normale codice HTML
+definizione delle
“variabili”: [nome variabile]
MapServer CGI genererà le pagine dinamiche che saranno costituite dal template con i valori che le variabili hanno nella sessione corrente
http://mapserver.gis.umn.edu/doc44/cgi-reference.html
![Page 24: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/24.jpg)
MapServer CGI
Tramite una form MapServer CGI viene chiamato e gli viene passata una stringa con i parametri di stato:
http://geo28.como.polimi.it/cgi-bin/mapserv?img.x=164&img.y=166&mode=browse&layer=reticolo&zoomdir=1&zoomsize=2&imgxy=149.5+149.5&...
In funzione dei quali viene
generata una pagina HTML
Alle variabili viene sostituito il loro valore
corrente
24
![Page 25: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/25.jpg)
MapScript
• MapScript permette di utilizzare diversi linguaggi di script (PHP,Perl, Python e Ruby) per accedere alle C API di MapServer–PHP/Mapscript ⇒ PHP–SWIGMapScript ⇒ Perl, Python, Ruby
25
http://mapserver.gis.umn.edu/doc44/phpmapscript-class-guide.html
http://mapserver.gis.umn.edu/doc44/swigmapscript-reference.html
![Page 26: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/26.jpg)
MapScript
26
mapfile:definizione delle modalità di visualizzazione delle carte
file html + script:gli script richiamano le API di MapServer per visualizzare gli oggetti (carte, legenda,...)
utente internetbrowser
C API
archivio dati
webGIS
Server
web
ser
ver
html+
scriptmap file
pagine html dinamiche
![Page 27: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/27.jpg)
MapScript
• file HTML + script
27
HTML
script
chiamate alle API
esempio in PHP
![Page 28: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/28.jpg)
Gli script vengono eseguiti e
“costruiscono” la pagina HTML
MapScriptSempre tramite una form vengono passati i parametri di stato: http://geo28.como.polimi.it/wgis_00/cartaj.phtml?
layer=bacino_po&layer=ret_carto&zoomsize=2&...
28
Le API di MapServer
vengono chiamate come altre funzioni e contribuiscono alla generazione
della pagina
![Page 29: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/29.jpg)
strumenti di supporto
• Alcuni strumenti utili per lo sviluppo di applicazioni basate su MapServer–MapEdit–Applet Java
29
http://mapserver.gis.umn.edu/contributed.html
![Page 30: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/30.jpg)
MapEdit
• E’ uno strumento open source per l’editing e la gestione del map file.–permette di impostare i parametri del
map file mediante una interfaccia basata su form
– controlla che la struttura del map file sia corretta
–permette di visualizzare l’anteprima della carta di cui si sta definendo il map file
• Realizzato da DM Solutions
30http://www.maptools.org/maplab/
![Page 31: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/31.jpg)
MapEdit
31
elenco degli oggetti del
mapfile valori dei parametri per ogni oggetto
aggiungi oggetti al mapfile
apri, salva, nuovo mapfile...
![Page 32: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/32.jpg)
MapEdit
visualizzazione del mapfile generato
32
![Page 33: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/33.jpg)
MapEdit
33
anteprima della carta
![Page 34: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/34.jpg)
applet java
• gli applet java possono essere utilizzati per aggiungere funzionalità a MapServer–zoom box, pan, query box, misura di
distanze,...
• jBox java applet
• Rosa java applet
34
http://www.maptools.org/rosa/
http://mapserver.gis.umn.edu/doc44/jbox-howto.html
![Page 35: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/35.jpg)
alcune realizzazioni
• MapServer Atlas– http://www2.dmsolutions.ca/gmap/
• Atlas of eastern and southestern europe– http://pentium7.gis.univie.ac.at/mapserver/
atos/htdocs/prototyp/• Fasti on line: database interrogabile
degli scavi archeologici– http://www.fastionline.org/
• Cartoradio: localizzazione delle stazioni di telefonia mobile in Francia– http://www.cartoradio.fr/
35
http://mapserver.gis.umn.edu/gallery.html
![Page 36: MapServer - Marco Negretti · PDF file realizzazione del webGIS • Schema di funzionamento 12 utente internet browser webGIS archivio dati Server web server eent ut e dchieell' t](https://reader031.vdocumenti.com/reader031/viewer/2022011800/5abd64927f8b9a8f058ec358/html5/thumbnails/36.jpg)
riferimenti
• MapServer ⇒ 4.4.2• MapEdit ⇒ 2.2• Rosa applet ⇒ 1.2.0
36