Como reprojetar um arquivo raster no QGIS com transformação de dados?

11

Desejo reprojetar um arquivo raster tiff da projeção A (zona 32 do ETRS89 / UTM) para a projeção B (zona 2 do DHDN / Gauss-Kruger). As duas projeções têm um dado diferente, então eu tenho que usar uma transformação de dado (NTv2 BETa2007 no meu caso). Quero criar um novo arquivo raster com projeção B, porque quero usá-lo em outro software. Portanto, reprojeção on-the-fly não é o que eu preciso.

Tentei Raster> Transform (ou similar - não conheço o menu em inglês), mas não consigo ver como definir uma transformação de referência aqui.

Como posso fazer uma reprojeção permanente de um arquivo raster no Qgis com uma transformação de dados?

Jens
fonte

Respostas:

13

O Gdalwarp é a ferramenta para reprojetar, você o encontra no Qgis em Raster-> Projektionen-> Transformieren ou autônomo no OSGEO4W.

Comando básico é

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 deve estar na mesma pasta ou usar o caminho absoluto para ela.

No Qgis, selecione o tif carregado como entrada e seu CRS e cole o seguinte no CRS de destino:

+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
fonte
1
Andre, obrigado pela sua resposta. Em um projeto futuro, tenho que transformar 300 tiff da UTM em Gauss-Kruger. Hoje, só tenho provas de Gauss-Kruger para testá-lo. Eu tentei 'gdalwarp -s_srs "+ proj = tmerc + lat_0 = 0 + lon_0 = 6 + k = 1 + x_0 = 2500000 + y_0 = 0 + ellps = bessel + datum = potsdam + unidades = m + no_defs + wktext" -t_srs "+ proj = utm + zona = 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 ', mas há um deslocamento de 130 m. Então, suponho que o gdalwarp não faça uma transformação de dados.
Jens
4
Essa é outra razão: você deve adicionar + towgs84 = 0,0,0,0,0,0,0 à string utm. E é melhor escrever os + nadgrids na string DHDN. Com os códigos EPSG padrão, você obtém um deslocamento de cerca de 2 metros.
Andrej
1
Com o novo parâmetro, ele está funcionando bem agora. Muito obrigado Andre.
Jens
2
Você seria capaz de postar seu comando final?
Cliff