Come invertire la georeferenziazione con QGIS?


16

Ho una mappa con una "strana" proiezione (è sostanzialmente dipinta a mano, non esatta). Posso facilmente georeferenziarlo in QGIS usando il plug-in Georeferencer e la trasformazione Thin Plate Spline con un insieme di alcuni punti di controllo 2000-3000 in una semplice proiezione "latlong" WGS 84 (EPSG: 4326) ed elaborarlo / migliorarlo ulteriormente con altri dati, come da Natural Earth o OpenStreetMap.

Ora vorrei eseguire l' inversa operazione: Transform uno di questi strati raster (o strati vettoriali rasterizzati) indietro nella quasi-proiezione dipinti a mano, preferibilmente utilizzando la stessa serie di punti di controllo, in modo che le immagini corrispondono quando sovrapposti in un editor grafico. Come lo faccio?


8
situazione interessante. Forse non georeferenziare affatto la mappa dipinta a mano. Usa la mappa dipinta a mano come 'verità della terra' e ottieni i tuoi punti di controllo in base al sistema di coordinate locale (diciamo, l'angolo in alto a sinistra della mappa dipinta a mano è 0,0 e ogni pixel è un'unità). Quindi 'georeference' i tuoi raster su questo sistema di coordinate locale.
pensieri spaziali

1
@spatialthoughts: Questo funzionerebbe piuttosto bene per i raster, tuttavia perderei anche la precisione dei livelli vettoriali e la possibilità di fare calcoli con essi (area di una feature, lunghezza di un segmento e così via). Questo non è un problema insormontabile, ovviamente. Essere in grado di invertire il georeferenziamento non avrebbe questi limiti.
Martin Sojka,

@Martin Vuoi i calcoli vettoriali in WGS84 o nelle coordinate dell'immagine dipinta a mano? Se il primo, sembra che il tuo bisogno di trasformare i vettori in coordinate dipinte a mano sia completamente separato dal tuo bisogno di fare calcoli sul vettore - e vorrei secondare il suggerimento dei pensieri spaziali. Significa solo che devi svolgere queste attività in progetti QGIS separati.
Jeff G,

1
In generale non è garantito l'esistenza di un inverso per tutte le trasformazioni. Con le trasformazioni polinomiali, se riuscissi a ottenere il plug-in per registrare i coefficienti utilizzati, potresti calcolare matematicamente l'inverso. Con la spline a piastra sottile, forse è possibile anche un inverso: la funzione GDALCreateTPSTransformer accetta un argomento "bReversed": gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Risposte:


1

Se si utilizzava ArcGIS, si utilizza la barra degli strumenti di regolazione spaziale. Tuttavia, QGIS offre una funzionalità simile tramite plug-in.

Vai al gestore dei plugin e installa "Affine Transformations"

Installa anche 'Vector Bender'

Pagina iniziale: https://github.com/trenneman/qgsAffine ;

https://plugins.qgis.org/plugins/VectorBender/

Dato che hai già i punti di controllo, dovresti essere in grado di ripristinare i tuoi dati nella "proiezione" originale. Carica i tuoi punti di controllo nel plugin ed esegui la trasformazione. Non l'ho ancora provato, quindi potresti dover giocare con i punti di controllo. Il plug-in di trasformazioni affine utilizza costanti per eseguire la trasformazione. Dato che hai già punti di controllo, ti consigliamo di utilizzare la piegatrice vettoriale per eseguire un "foglio di gomma".
Vector bender non si trova nel repository dei plug-in, quindi sarà necessario installarlo manualmente aggiungendolo a C: \ Users.qgis2 \ python \ plugins \ VectorBender.


Seconda opzione (può funzionare solo con raster, non testato con i vettori) - Nel georeferenziatore, è possibile salvare i punti di controllo in un file. Puoi anche caricare i punti di controllo da un file.

Ecco cosa devi fare:

Salva il file cpg. Cambia l'estensione in .csv. Apri il file in Excel. Scambia i valori nelle colonne da / a. Salva. Riporta l'estensione a .points.

Dopo aver impostato i punti di controllo, è possibile trasformarsi avanti e indietro utilizzando i punti di controllo e il metodo di trasformazione preferito.


La barra degli strumenti di regolazione spaziale non fa parte di Arcgis Desktop? Non sono sicuro che ci sia qualcosa di simile in QGIS.
AndreJ,

@AndreJ Per favore vedi le mie modifiche.
jbalk,

0

Ho dovuto farlo da solo una volta per uno strato raster e mi ci è voluto un po 'per capire che non avevo bisogno dell'inverso. Per far combaciare le immagini nella strana proiezione originale, scrivi uno script per creare una griglia in quella proiezione, corrispondente ai pixel nel tuo editor grafico. Trasforma in avanti per ogni punto della griglia per raccogliere il valore del livello che hai in WGS 84. (simile al commento di pensieri spaziali )

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.