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 è:
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 LINK
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
https://radar-geowebcache.protezionecivile.it/service/wmts?REQUEST=getcapabilities
per il servizio WMS
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:
...
<Layer queryable="1">
<Name>radar:vmi</Name>
<Title>vmi</Title>
<Abstract/>
<SRS>EPSG:4326</SRS>
...
<LatLonBoundingBox minx="35.0768620138162" miny="4.53700051775303" maxx="47.8560958107746" maxy="20.4367624666779"/>
...
<BoundingBox SRS="EPSG:4326" minx="35.0768620138162" miny="4.53700051775303" maxx="47.8560958107746" maxy="20.4367624666779"/>
<Dimension name="time" units="ISO8601"></Dimension>
<Extent name="time" default="2018-09-18T14:15:00Z">2018-09-11T00:00:00.000Z/2018-09-18T14:15:00.000Z/PT5M</Extent>
</Layer>
...
Si notino i tag:
Tag | Contenuto |
---|---|
<Name> | Nome del layer da specificare nella richiesta di getMap |
<SRS> | Specificano gli Spatial Reference Systems in cui è possibile richiedere il layer |
<BoundingBox> | Estremi del Bounding box del layer in ogni specifico EPSG |
<Dimension> | Definizone del parametro opzionale per la richiesta di campione specifico (time) |
<Extent> | 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:
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:
time = <timestring>
segue il fomato:
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: