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. Verrà visualizzato il suo Sistema di riferimento delle coordinate:

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

    Poiché non stiamo usando il ``WGS 84”” per la nostra mappa, vediamo tutti i SR tra cui possiamo scegliere.

    1. Fai clic sul pulsante Seleziona SR. Vedrai una finestra di dialogo standard Selettore sistema di riferimento delle coordinate.

    2. Vogliamo un SR proiettato, quindi scegliamo WGS 84 / Pseudo Mercatore.

      1. Immetti il valore pseudo nel campo Filtro:

      2. Scegli WGS 84 / Pseudo Mercator (con epsg:3857) dall’elenco.

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

  9. Fai clic su Aggiungi e il nuovo layer apparirà nella tua mappa come OpenStreetMap WMS - by 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 comunque sarà trattato nella prossima lezione. Per prima cosa, aggiungiamo un altro layer WMS dal server WMS terrestris.

10.1.2. |base| Try Yourself

  1. Nascondi il layer OSM-WSM nel pannello Layer.

  2. Aggiungi il server WMS «ZAF CGS 1M Bedrock Lithostratigraphy» al seguente URL: http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms

  3. Carica il layer BEDROCKGEOLOGY nella mappa (puoi anche usare il pulsante Layer ► Aggiungi Layer ► addWmsLayer Aggiungi Layer Add WMS/WMTS… per aprire la finestra di dialogo Gestore della Sorgente Dati). Ricordati di controllare che sia nella stessa proiezione WGS 84 / World Mercator del resto della mappa!

  4. È consigliabile impostare l’opzione Codifica immagine a JPEG e l’opzione Dimensione tassello a 200 per 200, in modo che si carichi più velocemente:

    ../../../_images/bedrock_geology_layer.png

10.1.3. moderate Try Yourself

  1. Nascondi tutti gli altri layer WMS per evitare che vengano visualizzati inutilmente in background.

  2. Aggiungi il server WMS «OGC» al seguente URL: http://ogc.gbif.org:80/wms

  3. Aggiungi il layer bluemarble.

10.1.4. 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.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.