¿Cómo reproyectar un archivo ráster en QGIS con transformación de datos?

11

Quiero reproyectar un archivo ráster tiff de la proyección A (ETRS89 / UTM Zone 32) a la proyección B (DHDN / Gauss-Kruger zone 2). Las dos proyecciones tienen un dato diferente, así que tengo que usar una transformación de dato (NTv2 BETa2007 en mi caso). Quiero crear un nuevo archivo ráster con proyección B porque quiero usarlo en otro software. Así que la reproyección sobre la marcha no es lo que necesito.

He intentado Ráster> Transformar (o similar, no conozco el menú en inglés) pero no puedo ver cómo definir una transformación de referencia aquí.

¿Cómo puedo hacer una reproyección permanente de un archivo ráster en Qgis con una transformación de datos?

Jens
fuente

Respuestas:

13

Gdalwarp es la herramienta para reproyectar, lo encuentra en Qgis en Ráster-> Projektionen-> Transformieren o independiente en OSGEO4W.

Comando básico es

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 debe estar en la misma carpeta o usar una ruta absoluta a la misma.

En Qgis, seleccione el tif cargado como entrada y su CRS, y pegue lo siguiente en el objetivo-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
AndreJ
fuente
1
Andre, gracias por tu respuesta. En un proyecto futuro, tengo que transformar 300 tiff de UTM a Gauss-Kruger. Hoy solo tengo tiffs de Gauss-Kruger para probarlo. Intenté '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 + unidades = m + no_defs + nadgrids = D: \ gis_spielwiese \ raster_reproject \ BETA2007.gsb + wktext" D: \ gis_spielwiese \ raster_reproject \ 4611.tif D: \ gis_spiel raster_reproject \ 4611utm_test7.tif 'pero hay un desplazamiento de 130 m. Así que supongo que gdalwarp no hace una transformación de datos.
Jens
44
Esa es otra razón: debe agregar + towgs84 = 0,0,0,0,0,0,0 a la cadena utm. Y es mejor escribir los + nadgrids en la cadena DHDN. Con los códigos EPSG estándar, obtiene un desplazamiento de aproximadamente 2 metros.
AndreJ
1
Con el nuevo parámetro está funcionando bien ahora. Muchas gracias Andre.
Jens
2
¿Serías capaz de publicar tu comando final?
Cliff