17.6. SR. Riproiezione
Nota
In questa lezione parleremo di come Processing tratta i SR. Vedremo anche algoritmo molto utile: riproiezione.
I SR sono una grande fonte di confusione per gli utenti di QGIS Processing, per cui ecco alcune regole generali su come sono maneggiati dai geoalgoritmi quando si crea un nuovo vettore.
Se ci sono vettori in ingresso, sarà utilizzato il SR del primo vettore. Si presuppone che tale SR sia quello di tutti i vettori in ingresso, siccome dovrebbe essere lo stesso per tutti. Se utilizzi vettori con SR che non corrispondono, QGIS te lo notificherà. Nota che il SR dei vettori in ingresso è mostrato insieme al suo nome nella finestra di dialogo dei parametri.
Se non ci sono layer in ingresso, userà il SR del progetto, a meno che l’algoritmo non contenga un campo SR specifico (come è successo nell’ultima lezione con l’algoritmo del reticolo)
Apri il progetto corrispondente a questa lezione: noterai due vettori denominati 23030 e 4326. Entrambi contengono gli stessi punti, ma in SR differenti (EPSG:23030 e EPSG:4326). Essi appaiono nella stessa posizione perché QGIS sta riproiettando al volo nel SR del progetto (EPSG:4326), ma in realtà non rappresentano lo stesso vettore.
Apri l’algoritmo Esporta/Aggiungi colonne geometriche.
Questo algoritmo aggiunge nuove colonne alla tabella degli attributi di un vettore. Il contenuto delle colonne dipende dal tipo di geometria del vettore. Nel caso di punti, aggiunge nuove colonne con le coordinate X e Y di ogni punto.
Nella lista dei vettori disponibili che troverai nel campo del vettore in ingresso, vedrai ognuno di essi con il SR corrispondente. Ciò significa che, sebbene appaiano nella stessa posizione sulla mappa, saranno trattati diversamente. Selezione il vettore 4326.
L’altro parametro dell’algoritmo permette di definire come l’algoritmo utilizza le coordinate per calcolare il nuovo valore che sarà aggiunto al vettore risultante. La maggior parte degli algoritmi non ha un’opzione simile, e usa direttamente le coordinate. Seleziona l’opzione SR del vettore per usare le coordinate così come sono. Questo è il modo con cui funzionano quasi tutti gli algoritmi.
Dovresti ottenere un nuovo vettore con gli stessi identici punti degli altri due vettori. Se fai clic con il tasto destro sul nome del vettore e apri le sue proprietà, vedrai che ha lo stesso SR del vettore in ingresso, che è EPSG:4326. Quando il vettore è caricato all’interno di QGIS, non ti sarà chiesto di inserire il SR del vettore poiché QGIS già lo conosce.
Se apri la tabella degli attributi del nuovo vettore, vedrai che conterrà due nuovi campi con le coordinate X e Y di ogni punto.
Questi valori di coordinate sono forniti dal SR del layer, poiché abbiamo scelto questa opzione. Tuttavia, anche se scegli un’altra opzione, il SR in uscita del layer sarebbe stato lo stesso, poiché il SR in ingresso viene usato per impostare il SR del layer in uscita. Se si sceglie un’altra opzione, i valori saranno diversi, ma non il punto risultante da modificare o il SR del layer in uscita sarà diverso dal SR di quello d’ingresso.
Ora esegui la stessa operazione utilizzando l’altro vettore. Dovresti trovare il vettore risultante rappresentato esattamente nella stessa posizione degli altri, e avrà l’EPSG:23030 come SR, poiché era questo quello del vettore in ingresso.
Se vai alla sua tabella degli attributi, vedrai valori diversi rispetto a quelli nel primo vettore che abbiamo creato.
Ciò perché i dati originali sono diversi (usano un SR diverso), e le coordinate sono ricavate da essi.
Cosa dovresti imparare da questo? L’idea principale dietro questi esempi è che i geoalgoritmi usano il vettore così come si trova nella sua fonte originale dei dati, e ignorano completamente le riproiezioni che QGIS potrebbe fare prima di rappresentarli. In altre parole, non fidarti di quello che vedi nella mappa, ma tieni sempre in mente che saranno utilizzati i dati originali. Ciò non è così importante in questo caso poiché stiamo utilizzando un solo vettore per volta, ma in un algoritmo che ne utilizza di diversi (come un algoritmo di ritaglio), i vettori che sembrano combaciare o sovrapporsi possono essere molto lontani tra loro poiché possono avere SR differenti.
Gli algoritmi non eseguono la riproiezione (tranne l’algoritmo di riproiezione che vedremo dopo), per cui devi essere tu ad assicurarti che i vettori abbiano lo stesso SR.
Un modulo interessante che ha a che fare con i SR è quello di riproiezione. Esso rappresenta un caso particolare poiché ha un vettore in ingresso (quello da riproiettare), ma non utilizza il suo SR per quello in uscita.
Apri l’algoritmo Riproietta vettore.
Seleziona in ingresso un qualunque vettore, e seleziona EPSG:23029 come SR di destinazione. Eseguendo l’algoritmo otterrai un nuovo vettore, identico a quello in ingresso, ma con un SR diverso. Apparirà nella stessa regione della mappa, come gli altri, poiché QGIS lo riproietterà al volo, ma le sue coordinate di partenza sono diverse. Puoi notare ciò eseguendo l’algoritmo Esporta/Aggiungi colonne geometriche usando questo nuovo vettore in ingresso, e verificando che le coordinate aggiunte siano diverse rispetto a quelle nella tabella degli attributi di entrambi i vettori che abbiamo elaborato prima.