Accesso ai servizi WMS e WMTS ============================= La piattaforma **Radar-DPC** eroga servizi web conformi agli standard `OGC - Open Geospatial Consortium `_. In particolare sono epsosti i servizi `WMS - Web Map Service `_ e `WMTS - Web Map Tile Service `_. Punto di accesso ai servizi --------------------------- Elemento fondamentale, per la riproduzione su mappa di serie temporali, è la gestione del parametro opzionale *time* nelle richieste di servizio. Qualora in una richiesta di servizio non sia espressamente indicato un valore per il parametro time, il server risponde con il campione più recente (*current value*) del layer richiesto. Il punto di accesso ai servizi è: .. code-block:: html https://radar-geowebcache.protezionecivile.it/service/ L'architettura è infatti dotata dotata di uno specifico server (*GeoWebCache*) per alimentare e gestire una *Cache* di immagini: map tiles corrispondenti ad un dato *bounding box* (estensione areale) in una determinata proiezione (tramite EPSG code), ad un determinato livello di zoom e ad un determinato valore per il parametro *time* una volta renderizzati dal GeoServer sono memorizzati in una *Cache* in modo da essere immediatamente disponibili per future richieste di servizio con gli stessi parametri (bbox, EPSG, zoom level, time). Approfondimenti sull'arhitettura sono disponibili al seguente :doc:`LINK <./platform>` Il Capabiliteis Document ------------------------ Per conoscere i layer erogati dal server e i relativi parametri ammissibili è sufficiente interrogare il metodo GetCapabilites dei servizi: **per il servizio WMTS** .. code-block:: html https://radar-geowebcache.protezionecivile.it/service/wmts?REQUEST=getcapabilities **per il servizio WMS** .. code-block:: html https://radar-geowebcache.protezionecivile.it/service/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=getcapabilities&TILED=true A titolo esemplificativo, si riporta di seguito un frammento della risposta all richiesta di servizio WMS GetCapabiliteis, al fine di evidenziarne alcuni elementi: .. code-block:: xml ... radar:vmi vmi EPSG:4326 ... ... 2018-09-11T00:00:00.000Z/2018-09-18T14:15:00.000Z/PT5M ... Si notino i tag: +-----------------+-------------------------------------------------------------------------------------------------+ |Tag |Contenuto | +=================+=================================================================================================+ |**** |Nome del layer da specificare nella richiesta di getMap | +-----------------+-------------------------------------------------------------------------------------------------+ |**** |Specificano gli *Spatial Reference Systems* in cui è possibile richiedere il layer | +-----------------+-------------------------------------------------------------------------------------------------+ |****|Estremi del Bounding box del layer in ogni specifico EPSG | +-----------------+-------------------------------------------------------------------------------------------------+ |**** |Definizone del parametro opzionale per la richiesta di campione specifico (time) | +-----------------+-------------------------------------------------------------------------------------------------+ |**** |Definizone del valore di dafault, degli estremi dell'intervallo e del passo per il parametro time| +-----------------+-------------------------------------------------------------------------------------------------+ Esempio dirichiesta di servizio con parametro time -------------------------------------------------- Si riporta di seguito un esempio di richiesta di servizio WMS con parametro *time*: .. code-block:: html https://radar-geowebcache.protezionecivile.it//service/wms?service=WMS&request=GetMap&layers=radar:vmi&styles=&format=image/png&transparent=true&version=1.1.1&tiled=true&time=2018-09-19T07:15:00.000Z&width=256&height=256&srs=EPSG:3857&bbox=1252344.2714243277,4383204.949985149,1878516.407136492,5009377.085697314 Si noti che per il parametro **time=2018-09-19T07:15:00.000Z** è fornito valore ammesso dal Capabilities document e l'orario è specificato secondo il formato *ISO-8601*: Il parametro specificato nella richiesta: .. code-block:: html time = segue il fomato: .. code-block:: html yyyy-MM-ddThh:mm:ss.SSSZ dove: +---------+-----------------------+ |**yyyy** |anno a 4 cifre | +---------+-----------------------+ |**MM** |mese a 2 cifre | +---------+-----------------------+ |**dd** |giorno a 2 cifre | +---------+-----------------------+ |**hh** |ora a 2 cifre | +---------+-----------------------+ |**mm** |minuto a 2 cifre | +---------+-----------------------+ |**ss** |secondo a 2 cifre | +---------+-----------------------+ |**SSS** |millisecondo a 3 cifre | +---------+-----------------------+ I valori di data e orario sono separati da una **T** maiuscola, e l'intero timestamp ha un suffisso introdotto da una **Z**, indicando UTC per il fuso orario (Le specifiche WMS non prevedono altri fusi orari). La risposta ottenuta dal server i corrispondenza della richiesta precedente è l'immagine qui riportata: .. image:: wms.png :width: 256px :align: center :alt: tile .. toctree:: :maxdepth: 2 :caption: Contenuti