10.1. Lesson: Web Mapping Services

Un Web Mapping Service (WMS) è un servizio ospitato su un server remoto. Simile a un sito Web, è possibile accedervi se si dispone di una connessione al server. Con QGIS, è possibile caricare un WMS direttamente nella vostra mappa.

Nell’esercitazione sui plugin è stata spiegata come caricare una nuova immagine raster da Google. Tuttavia, questa è una operazione una tantum: una volta scaricata l’immagine, non ci saranno eventuali aggiornamenti futuri. Il caso del WMS è diverso in quanto si tratta di un servizio in tempo reale, che si aggiorna automaticamente.

Obiettivo di questa lezione: Come usare un WMS e i suoi limiti.

10.1.1. basic Follow Along: Caricare un raster WMS

Per questo esercizio, puoi usare la mappa di base che hai fatto all’inizio del corso, o semplicemente iniziare una nuova mappa e caricarvi alcuni layer esistenti. Per questo esempio, abbiamo usato una nuova mappa e caricato i layer originali places, landuse e protected_areas e abbiamo modificato la simbologia:

../../../_images/new_map.png
  1. Carica questi vettori su una mappa nuova o esistente, con solo questi vettori visibili:

  2. Prima di iniziare ad aggiungere il layer WMS, disattiva la proiezione «al volo» (Progetto ► Proprietà… ► SR, seleziona Nessun Sistema di Coordinate (o proiezione sconosciuta/non terrestre). Questo potrebbe causare che i layer non si sovrappongano più correttamente, ma non preoccuparti: lo sistemeremo più tardi.

  3. Per aggiungere layer WMS, clicca sul pulsante dataSourceManager per aprire la finestra di dialogo Gestore delle Sorgenti Dati e attiva la scheda addWmsLayer WMS/WMTS.

    ../../../_images/datasourcemanager_wms.png

    Ricorda come ti sei connesso a un database SpatiaLite o GeoPackage all’inizio del corso. I layer landuse, buildings, e roads sono memorizzati in un database. Per usare questi layer, devi prima connetterti al database. Usare un WMS è simile, con l’eccezione che i layer sono su un server remoto.

  4. Per creare una nuova connessione a un WMS, fai clic sul pulsante Nuovo.

    Per continuare hai bisogno di un indirizzo WMS. Su Internet sono disponibili diversi server WMS gratuiti. Uno di questi è terrestris, che utilizza il dataset di OpenStreetMap.

  5. Per utilizzare questo WMS, impostalo nella tua finestra di dialogo corrente, in questo modo:

    ../../../_images/new_wms_connection.png
    • Il valore del campo Nome deve essere terrestris.

    • Il valore del campo URL deve essere https://ows.terrestris.de/osm/service.

  6. Fai clic su OK. Dovresti vedere il nuovo server WMS elencato:

    ../../../_images/new_connection_listed.png
  7. Fai clic su Connetti. Nell’elenco sottostante, ora dovresti vedere queste nuove voci caricate:

    ../../../_images/new_wms_entries.png

    Questi sono tutti i layer ospitati da questo server WMS

  8. Fai clic una volta sul layer OSM-WMS. Questo mostrerà il Sistema di Riferimento delle Coordinate predefinito in uso e il numero di Sistemi di Riferimento delle Coordinate supportati dal dataset:

    ../../../_images/osm_wms_selected.png

    Dal momento che non stiamo usando «EPSG:4326 - WGS 84» per la nostra mappa, cerchiamo uno che soddisfi le nostre esigenze.

    1. Fai clic sul pulsante setProjectionSeleziona SR. Vedrai una finestra di dialogo standard Seleziona SR che mostra tutti i SR con cui i dati sono pubblicati.

    2. Vogliamo un SR proiettato, quindi scegliamo WGS 84 / Pseudo-Mercator con EPSG:3857. Puoi utilizzare il widget search Filtro in alto.

      ../../../_images/pseudo_mercator_selected.png
      1. Fai clic su OK. Il sistema di riferimento delle coordinate assegnato alla voce viene modificato.

  9. Clicca Aggiungi per caricare il layer nel tuo progetto utilizzando Nome layer` (impostato di default su OpenStreetMap WMS - di terrestris).

  10. Chiudi la finestra di dialogo Gestore delle sorgenti dati, se non è avvenuto automaticamente.

  11. Nel pannello Layer, fai clic e trascinalo in fondo all’elenco.

  12. Riduci lo zoom per ottenere una vista globale dei layer. Noterai che i layer non sono posizionati correttamente (vicino all’ovest dell’Africa). Questo perché la proiezione «al volo» è disabilitata.

    ../../../_images/reprojection_off.png
  13. Abilitiamo di nuovo la riproiezione, ma usando la stessa proiezione del layer OpenStreetMap WMS, che è WGS 84 / Pseudo Mercator.

    1. Apri la scheda Progetto ► Proprietà… ► SR

    2. Deseleziona Nessun SR (o proiezione sconosciuta/non terrestre).

    3. Scegli WGS 84 / Pseudo Mercator dall’elenco.

      ../../../_images/enable_projection.png
    4. Fai clic su OK.

  14. Ora fai clic con il pulsante destro del mouse su uno dei tuoi layer nel pannello Layer e fai clic su Zoom sul(i) layer. Dovresti vedere l’area Swellendam:

    ../../../_images/wms_result.png

Nota come le strade del layer WMS e le nostre strade si sovrappongono. Questo è un buon segno!

Caratteristiche e limiti del WMS

A questo punto avrai notato che questo layer WMS ha effettivamente molti elementi al suo interno. Ha strade, fiumi, riserve naturali e così via. Inoltre, anche se sembra essere composto da vettori, sembra essere un raster, ma non si può cambiare la sua simbologia. Perché questo?

Ecco come funziona un WMS: è una mappa, simile a una normale mappa su carta, che si riceve come immagine. Quello che succede di solito è che hai dei layer vettoriali, che QGIS rende come una mappa. Ma usando un WMS, quei layer vettoriali sono sul server WMS, che li rende come una mappa e te li invia come immagine. QGIS può visualizzare questa immagine, ma non può cambiare la sua simbologia, perché tutto ciò è gestito sul server.

Questo ha diversi vantaggi, perché non è necessario preoccuparsi della simbologia. È già elaborata e dovrebbe essere bella da vedere su qualsiasi WMS progettato in modo adeguato.

D’altra parte, non puoi cambiare la simbologia se non ti piace, e se le cose cambiano sul server WMS, allora cambieranno anche sulla tua mappa. Questo è il motivo per cui a volte vuoi usare un Web Feature Service (WFS), che ti dà i layer vettoriali in modo separato, e non come parte di una mappa in formato WMS.

Questo sarà trattato nella prossima lezione, però. Prima, aggiungiamo un altro layer WMS.

10.1.2. basic Try Yourself

  1. Aggiungi il server WMS eAtlas con questo URL: https://maps.eatlas.org.au/maps/wms

  2. Carica un layer World: Hillshading nella mappa.

  3. Potresti voler impostare il suo Formato su JPEG e l’opzione Dimensione tassello su 200 per 200, in modo che carichi più velocemente.

  4. La tua mappa dovrebbe apparire così (potrebbe essere necessario riordinare i layer e applicare un po” di trasparenza):

    ../../../_images/world_hillshading_result.png

10.1.3. hard Try Yourself

Una parte della difficoltà nell’utilizzo del WMS consiste nel trovare un buon server (libero).

  • Trova un nuovo WMS su directory.spatineo.com (o altrove online). Non deve avere canoni o restrizioni associate e deve avere una copertura sull’area di studio Swellendam.

    Ricorda che per utilizzare un WMS devi solo avere il suo URL (e preferibilmente una sorta di descrizione).

10.1.4. hard Try Yourself

  • Aggiungi il layer bluemarble dal MapServer Demonstration Server. È un dataset adatto per la nostra area di studio?

10.1.5. In Conclusion

Utilizzando un WMS, ti sarà possibile aggiungere mappe inattive come sfondo per i dati cartografici esistenti.

10.1.6. Further Reading

10.1.7. What’s Next?

Ora che hai aggiunto una mappa inattiva come sfondo, sarai felice di sapere che è anche possibile aggiungere elementi (come gli altri layer vettoriali aggiunti in precedenza). L’aggiunta di elementi da server remoti è possibile utilizzando un Web Feature Service (WFS). Questo è l’argomento della prossima lezione.