Come riproiettare un file raster in QGIS con trasformazione del riferimento?


11

Voglio riproiettare un file tiff raster dalla proiezione A (ETRS89 / UTM Zone 32) alla proiezione B (DHDN / Gauss-Kruger zone 2). Le due proiezioni hanno un dato diverso quindi devo usare una trasformazione del riferimento (NTv2 BETa2007 nel mio caso). Voglio creare un nuovo file raster con la proiezione B perché voglio usarlo in un altro software. Quindi la riproiezione al volo non è ciò di cui ho bisogno.

Ho provato Raster> Trasforma (o simile - non conosco il menu inglese) ma non riesco a vedere come definire una trasformazione di riferimento qui.

Come posso fare una riproiezione permanente di un file raster in Qgis con una trasformazione di riferimento?

Risposte:


13

Gdalwarp è lo strumento da riproiettare, lo trovi in ​​Qgis in Raster-> Projektionen-> Transformieren o standalone in OSGEO4W.

Il comando di base è

gdalwarp -s_srs EPSG:25832 -t_srs "+proj=tmerc +lat_0=0 +lon_0=6 +x_0=2500000 +y_0=0 +k=1.000000 +ellps=bessel +units=m +nadgrids=./BETA2007.gsb +wktext" input.tif output.tif

BETA2007.gsb dovrebbe trovarsi nella stessa cartella o utilizzare il percorso assoluto.

In Qgis, seleziona il tif caricato come input e il suo CRS e incolla quanto segue nel target-CRS:

+proj=tmerc +lat_0=0 +lon_0=6 +x_0=2500000 +y_0=0 +k=1.000000 +ellps=bessel +units=m +nadgrids=D:\path\to\your\BETA2007.gsb +wktext

1
Andre, grazie per la tua risposta. In un futuro progetto devo trasformare 300 tiff da UTM a Gauss-Kruger. Oggi ho solo tiffs di Gauss-Kruger per testarlo. Ho provato 'gdalwarp -s_srs "+ proj = tmerc + lat_0 = 0 + lon_0 = 6 + k = 1 + x_0 = 2500000 + y_0 = 0 + ellps = bessel + datum = potsdam + units = m + no_defs + wktext" -t_srs "+ proj = utm + zone = 32 + ellps = GRS80 + unità = m + no_defs + nadgrids = D: \ gis_spielwiese \ raster_reproject \ BETA2007.gsb + wktext" D: \ gis_spielwiese \ raster_reproject \ 4611.tif D: \ \isis raster_reproject \ 4611utm_test7.tif 'ma c'è uno spostamento di 130 m. Quindi suppongo che gdalwarp non effettui una trasformazione di riferimento.
Jens,

4
Questo è un altro motivo: devi aggiungere + towgs84 = 0,0,0,0,0,0,0 alla stringa utm. Ed è meglio scrivere + nadgrids nella stringa DHDN. Con i codici EPSG standard si ottiene un offset di circa 2 metri.
AndreJ,

1
Con il nuovo parametro ora funziona bene. Grazie mille Andre.
Jens,

2
Saresti in grado di pubblicare il tuo comando finale?
Cliff,
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.