태그 보관물: affine-transformation

affine-transformation

.tif 래스터 레이어를 번역 (위치 변경)하는 방법은 무엇입니까? 번역 (위치 변경)해야하며 어떻게 할

나는 논문 (환경 물리학)에 QGIS를 사용하기 시작했고 그것에 대해 꽤 무지하다는 것을 인정해야한다. 나는 항상 Mathematica 나 Matlab을 사용했다.

내 문제는 : .tif 형식의 래스터 레이어가 잘못 배치되어 있습니다 (남서로 100m 이동해야 함). 번역 (위치 변경)해야하며 어떻게 할 수 있는지 전혀 모릅니다.

Affine 변환을 시도했지만 작동하지 않습니다 (입력 레이어를 선택할 수 없음). 나는 또한 파이썬에서 래스터를 번역 (위치 변경)하는 방법을 읽었 습니까? 그러나 나는 그것을 많이 이해하지 못했다는 것을 인정해야한다. 나는 여러 번 시도했지만 파이썬에는 좋지 않다.



답변

아! 링크 된 토론에서 말한대로 다음과 같이 처리했습니다 …. ( Python에서 래스터를 변환하는 방법? ) 파이썬 콘솔을 사용하는 방법을 알아내는 데 시간이 걸렸습니다. 😉 어쨌든 고마워! 🙂

QGIS Python 콘솔에서 GDAL / Python을 사용했습니다! 🙂

내가 쓴 것은 :

from osgeo import gdal
gdal.AllRegister()
rast_src = gdal.Open('filename.tif', 1 )
gt = rast_src.GetGeoTransform()
gtl = list(gt)
gtl[0] -= 200
gtl[3] -= 100
rast_src.SetGeoTransform(tuple(gtl))
rast_src = None

편집 : “gdall.AllRegister ()”를 “gdal.AllRegister ()”로 전환했습니다.


답변

Rasmover플러그인은 당신이 원하는해야한다.

실험용 플러그인이 플러그인 목록에 들어가도록 허용해야합니다.

결과는 가상 래스터 파일이며, 필요한 경우 텍스트 편집기로 편집하여 매개 변수를 조정할 수 있습니다.


답변

래스터에 이미 UTM 투영이 있고 다른 UTM 영역으로 세로 방향으로 이동하려는 특수한 경우에는 gdal_translate가능합니다. 예를 들어, 입력 래스터는 UTM 영역 Z에 있으며 UTM 영역 26 (즉, 대부분의 위도에서 대서양)으로 이동하려고합니다.

gdal_translate -a_srs '+proj=utm +zone=26 +datum=WGS84' input.tif output.tif

보고 된 모델 공간 단위의 원점 및 모서리 좌표 gdalinfo는 동일하게 유지됩니다. 그러나 모서리는 위도 / 경도 변화에 따라 조정되며 래스터는 실제로 세계의 다른 부분으로 이동했습니다.


답변