QGis e Openlayers

OpenLayers è uno tra i plugin “indispensabili” per QGIS. Consente di integrare all’interno di un progetto QGIS come base cartografica Google Map, Bing Map e OpenStreetMap.

Questo significa che sarà possibile sovrapporre i nostri shape di progetto, ad esempio, ad un’immagine satellitare di qualunque località del globo terrestre fornita da Google Map. Chi lavora in progetti di analisi e pianificazione territoriale sa bene quanto questo strumento sia essenziale, soprattutto in casi in cui non siano disponibili dati cartografici alternativi.

Tutto molto bello, ma c’è un ma. L’estensione ha un comportamento anomalo in fase di stampa di un progetto: la sovrapposizione tra gli shape e l’ortofoto presenta degli errori piuttosto marcati.
Girovagando sulla rete ho visto che il problema è stato segnalato da numerosi utenti di QGIS, senza aver trovato una risposta soddisfacente. Dopo aver fatto diverse verifiche, ed essermi confrontato con i miei colleghi di U-Space, ho individuato il problema e una soluzione per aggirare in parte il problema, in attesa di un aggiornamento definitivo.

 

Un esempio concreto in QGIS

Per spiegare la questione prendo come esempio un progetto in cui è perimetrato il fosso che circonda la città di Palmanova. La versione di QGIS con cui è stato realizzato questo esempio è la 2.18.0; invece OpenLayers plugin è usato nella versione 1.4.1. Nell’immagine che segue si vede l’anteprima della tavola impaginata con il gestore di stampe.

Gestore di stampe di QGis

Il progetto è in WGS84 / Pseudo Mercator (EPSG: 3857), lo shape è anch’esso disegnato nello stesso sistema di riferimento, quindi non ci sono incoerenze tra sistemi di riferimento differenti. L’anteprima non evidenzia problemi. La perimetrazione si sovrappone correttamente con la foto aerea. Sembrerebbe tutto in ordine. Se procediamo all’esportazione della tavola in formato pdf ecco il risultato:

Planimetria di Palmanova in QGis con il problema dello sfalsamento

Lo sfalsamento tra lo shape e l’ortofoto di Google Map è evidentissimo e assolutamente inaccettabile. Il difetto è riscontrabile anche lavorando con Bing Map. Sulla rete sono proposti alcuni suggerimenti piuttosto velleitari, come procedere a tentativi modificando la scala o la porzione di mappa inquadrata. Anche l’aggiornamento manuale del file javascript che gestisce OpenLayers è risultato inutile. Infine ho fatto diversi prove, modificando i sistemi di riferimento e disabilitando la riproiezione “al volo”, senza risultati positivi. L’errore persiste. Il problema sembra essere legato proprio al caricamento della cartografia all’interno del gestore di stampe.

 

La soluzione provvisoria

Lo sfalsamento in realtà è generato dal margine bianco lasciato intorno al frame della mappa. Se modifichiamo l’impaginato della tavola inquadrando l’ortofoto “al vivo” rispetto i margini del foglio, magicamente il problema sparisce!

Planimetria di Palmanova in QGis senza errori con l'ortofoto al vivo

Per qualche motivo è necessario che almeno i margini superiore e inferiore della mappa di OpenLayers siano coincidenti con i bordi del foglio. Maggiore è il margine bianco, maggiore sarà l’errore generato in fase di esportazione. Se per rispettabilissimi motivi dovessimo avere assoluta necessità di avere comunque dei margini bianchi saremmo obbligati ad utilizzare altri sistemi di impaginazione?
Per fortuna no, però dovremo inventarci dei sistemi per aggirare il problema sovrapponendo delle maschere bianche al frame di OpenLayers. Ecco la versione finale corretta:

Planimetria di Palmanova in QGis corretta con i margini bianchi

 

Si tratta comunque di una soluzione temporanea  di ripiego che complica il flusso di lavoro. Mi auguro che, nei futuri aggiornamenti di QGIS, vengano risolti definitivamente questi problemi che affliggono un plugin che rimane, tuttavia, utilissimo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *