mapserver per i servizi wms e wfs - marco negretti · 2012. 1. 4. · wms_*, ows_* nome del...
TRANSCRIPT
-
MapServer per i servizi WMS e WFSMarco Negretti – [email protected]
25/11/2009 - v 1.1
-
2MapServer WMS Server
MapServer supporta le seguenti richieste WMS:• GetCapabilities ⇒ restituisce un documento XML con i metadati del
server• GetMap ⇒ restituisce un immagine in base alle richieste inoltrate dal
client• GetFeaturesInfo ⇒ restituisce informazioni sulle features interrogate
• text/plain - formato testo• text/html – in html secondo quanto stabilito nei template del
MapFile• GML – formato GML
• DescribeLayer ⇒ restituisce un documento XML con la descrizione dei layer pubblicati
• GetLegendGraphic ⇒ restituisce un’immagine con i simboli grafici utilizzati
Versioni WMS supportate: 1.0.7 - 1.1.0 - 1.1.1 - 1.3.0
-
3MapServer WMS Server
Per verificare se la propria versione di MapServer supporta lo standard WMS:# ./mapserv -vMapServer version 5.4.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
-
4MapServer WMS Server
La configurazione come WMS server avviene tramite la definizione di opportuni parametri nel MapFile
A livello dell’oggetto MAP si configurano i parametri generali del servizio
In generale i metadati relativi alla configurazione WMS si presentano tutti con una intestazione comune:wms_*, ows_*
Nome del servizio
Sistema di riferimento originale dei dati
Sistemi di riferimento di pubblicazione dei dati
-
5MapServer WMS Server
A livello dell’oggetto LAYER si configurano i parametri dei dati da pubblicare
mediante: - alcuni parametri dell’oggetto layer - metadati appositamente definiti
http://www.mapserver.org/ogc/wms_server.html
-
6Browser su WMS Server: GetCapabilities
Richiesta:http://localhost/cgi-bin/wms_mapserv?
SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities
-
7Browser su WMS Server: GetCapabilities
Richiesta:http://localhost/cgi-bin/wms_mapserv?
SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities
Se il sistema di riferimento non è definito nei metadati del layer si utilizza quello definito a livello generale
se si indica DEFAULT il layer è sempre inviato al client, altrimenti è inviato
solo su richiesta
-
8Browser su WMS Server: GetMap
Richiesta: http://localhost/cgi-bin/wms_mapserv?BBOX=1486000,5056000,1525000,5088000&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=province&FORMAT=image/png&WIDTH=500&HEIGHT=400&SRS=EPSG:3003
-
9Browser su WMS Server: GetFeatureInfo
Richiesta:http://localhost/cgi-bin/wms_mapserv?
SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=province&FORMAT=image/png&BBOX=1486000,5056000,1525000,5088000&WIDTH=500&HEIGHT=400&SRS=EPSG:3003&X=250&Y=200&QUERY_LAYERS=province&INFO_FORMAT=text/html
-
10Browser su WMS Server: GetFeatureInfo
La pagina HTML per visualizzare i risultati delle query è quella stabilita dai template del mapfile
-
11Browser su WMS Server: GetFeatureInfo
Richiesta:http://localhost/cgi-bin/wms_mapserv?
SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=province&FORMAT=image/png&BBOX=1486000,5056000,1525000,5088000&WIDTH=500&HEIGHT=400&SRS=EPSG:3003&X=250&Y=200&QUERY_LAYERS=province&INFO_FORMAT=gml
-
12Browser su WMS Server: GetFeatureInfo
per permettere la GetFeatureInfo in GML
per definire gli attributi interrogabili
-
13Browser su WMS Server: GetFeatureInfo
Per default nessun attributo è restituito.E' possibile definire come interrogabili:1. tutti gli attributi: "gml_include_items" "all"2. un elenco di attributi: "nome,provincia,abitanti"
caso 2
-
14Browser su WMS Server: GetFeatureInfo
E' possibile definire come interrogabili:3. definire un elenco di attribuiti non interrogabili
"gml_include_items" "all""gml_exclude_items" "densita"
caso 3
-
15Browser su WMS Server: GetLegendGraphic
Richiesta:http://localhost/cgi-bin/wms_mapserv?
SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&LAYER=province&FORMAT=image/png
definizione della grafica per la legenda
-
16MapServer WFS Server
MapServer supporta le seguenti richieste:• GetCapabilities ⇒ restituisce un documento XML con i metadati del
server• GetFeature ⇒ restituisce un documento XML con la geometria e gli
attributi della feature richiesta• DescribeFeatureType ⇒ restituisce un documento XML con la
descrizione della feature richiestaMapServer implementa le funzioni base di un WFS: non sono
implementate le richieste di modifica delle features Transaction e LockFeature
La descrizione della geometria è resa in GML per default GML2 GML3 se specificato (parametro OUTPUTFORMAT=GML3)
Versioni WFS supportate: 1.0
-
17MapServer WMS Server
Per verificare se la propria versione di MapServer supporta lo standard WFS:# ./mapserv -vMapServer version 5.4.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
-
18MapServer WFS Server
La configurazione come WFS server avviene tramite la definizione di opportuni parametri nel MapFile
A livello dell’oggetto map si configurano i parametri generali del servizio
In generale i metadati relativi alla configurazione WFS si presentano tutti con una intestazione comune:wfs_*, ows_*
-
19MapServer WFS Server
A livello dell’oggetto LAYER si configurano i parametri dei dati da pubblicare
http://www.mapserver.org/ogc/wfs_server.html
Si determina la configurazione mediante alcuni parametri dell’oggetto layer metadati appositamente definiti
-
20Browser su WFS Server: GetCapabilities
Richiesta:http://localhost/cgi-bin/wfs_mapserv?
SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities
Informazioni generali sul servizio erogato
-
21Browser su WFS Server: GetCapabilities
Richiesta:http://localhost/cgi-bin/wfs_mapserv?
SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities
Elenco dei layer disponibili
-
22
geometrie
Browser su WFS Server: GetFeature
Richiesta:http://localhost/cgi-bin/wfs_mapserv?
SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=province&BBOX=1486000,5056000,1525000,5088000&SRS=EPSG:3003
-
23Browser su WFS Server: GetFeature
Richiesta:http://localhost/cgi-bin/wfs_mapserv?
SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=province&BBOX=1486000,5056000,1525000,5088000&SRS=EPSG:3003
geometrie
definizione degli attributi interrogabili
-
24
E' possibile utilizzare MapServer come client WMS e WFS in modo da pubblicare in un webGIS sia dati locali che dati ottenuti facendo interrogazioni su server WMS e WFS (cascading)Per verificare se la propria versione di MapServer supporta le funzionalità di client OWS:# ./mapserv -vMapServer version 5.4.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
MapServer WMS - WFS Client
-
25MapServer WMS - WFS Client
Si definisce come di consueto un mapfile con le impostazione generali di pubblicazione della cartografia
-
26MapServer WMS Client
Per accedere ai dati di un server WMS si definisce il solito oggetto layer con i parametri di connessione al server WMS
URL per la connessionetipo di connessione: WMS
sistema di riferimento
nome del layer sul server
versione del server WMS
formato dell’immagine
http://www.mapserver.org/ogc/wms_client.html
-
27MapServer WMS Client
Il WMS client inoltra una richiesta al WMS server
MapServer WMS client
WMS Server
Es.LAYERS=province
-
28MapServer WMS Client
Il WMS server accede ai sui dati ed restituisce le immagini dei layer richiesti nella zona di interesse
MapServer WMS client
WMS Server
Se sono stati richiesti più layer le immagini vengono sovrapposte ed unite ad altri eventuali dati locali dal client e viene generata l’immagine finale per la pubblicazione
-
29MapServer WMS Client
-
30MapServer WFS Client
Per accedere ai dati di un server WFS si definisce il solito oggetto layer con i parametri di connessione al server WFS
URL per la connessione
tipo di connessione: WFS
nome del layer sul server
versione del server WFS
limite durata connessione
sistema di riferimento
metodo: GET|POST
http://www.mapserver.org/ogc/wfs_client.html
template per le query
-
31MapServer WFS Client
Il WFS client inoltra una richiesta al WFS server
MapServer WFS client
WFS Server
Es.TYPENAME =Province
-
32MapServer WFS Client
Il WFS server accede ai sui dati ed invia al client un file di cartografia in formato GML
MapServer WFS client
WFS Server
MapServer legge il GML ottenuto e genera conseguentemente le immagini
Di fatto lavora su dati locali temporanei in formato GML
-
33MapServer WFS Client
Le interrogazioni sono fatte sui dati in formato GML scaricate in localeE’ necessario quindi definire dei template similmente a quanto si fa
normalmente per i dati locali specificando però, oltre al nome dell'attributo anche il namespace
namespace
-
34
Versione utilizzata come riferimento nelle dispense:
MapServer ⇒ 5.4.2
http://creativecommons.org/licenses/by-nc-nd/3.0/
Pagina 1Pagina 2Pagina 3Pagina 4Pagina 5Pagina 6Pagina 7Pagina 8Pagina 9Pagina 10Pagina 11Pagina 12Pagina 13Pagina 14Pagina 15Pagina 16Pagina 17Pagina 18Pagina 19Pagina 20Pagina 21Pagina 22Pagina 23Pagina 24Pagina 25Pagina 26Pagina 27Pagina 28Pagina 29Pagina 30Pagina 31Pagina 32Pagina 33Pagina 34