MapServer per i servizi WMS e WFS - Marco Negretti · 2012. 1. 4. · wms_*, ows_* Nome del...

34
MapServer per i servizi WMS e WFS Marco Negretti – [email protected] 25/11/2009 - v 1.1

Transcript of MapServer per i servizi WMS e WFS - Marco Negretti · 2012. 1. 4. · wms_*, ows_* Nome del...

  • 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