.tifラスターレイヤーを変換(再配置)する方法


10

私は論文(環境物理学)にQGISを使い始めており、私はそれについてかなり無知であることを認めざるを得ません-私は常にMathematicaまたはMatlabを使用してきました。

私の問題は:.tif形式のラスターレイヤーがあり、それが間違って配置されている(南西に100m移動する必要がある)。翻訳(再配置)する必要がありますが、どうすればいいのかまったくわかりません。

Affine変換を試しましたが、機能しません(入力レイヤーを選択できません)。Pythonでラスターを変換(再配置)する方法も読んだことがありますか?しかし、私はそれの多くを理解していないことを認めざるを得ません。私は何度か試しましたが、Pythonが苦手です。


.tifレイヤーが何らかの方法で地理参照されていると思いますか?メタデータに記述されている座標参照系はどれですか。ほとんどの場合、CRS設定を修正するだけでレイヤーが整列します。
アンダーダーク

コメントありがとうございます!はい、それは地理参照され、座標系は正しいものです(WGS 84 / UTMゾーン32N)..残念ながら、変位は使用する必要のある(不適切に記述された)プラグインからのものであり、変更/修正できません..したがって、レイヤーを再配置する必要があります...

Affine Transformプラグインはベクターレイヤー専用です。
AndreJ

回答:


9

ああ!リンクされたディスカッションで言われたことに従って、なんとかやってみました...(Pythonでラスターを変換(再配置)する方法は?)どうやら、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()」に切り替えました。


コードには1文字のタイプミスがあります。gdall.AllRegisterは2つの「L」のつづりが想定されていません。(「gdall」は定義されていません。)残念ながら、編集には6文字以上の長さが必要なので、編集できません。
Smerla

この答えは本当に私を助けてくれました!追加したいのは、print(gtl)関数を入力して変換を行う前に、ユニットを確認して確認することだけです。たとえば、私のラスターはdd mm ssでしたので、10進度に何メートルあるかを理解するために、ここにあるテーブルを使用しました(経度よりも緯度の方が簡単です!):メートルを10
進度に

1

Rasmoverプラグインは、あなたが欲しいものを行う必要があります。

実験的なプラグインをプラグインリストに追加できるようにする必要があります。

結果は仮想ラスターファイルで、必要に応じてテキストエディターで編集してパラメーターを調整できます。


見つかりませんでした... 3.6では使用できませんか?
foob​​arbecue

1
プラグインはgithub.com/geodrinx/rasmoverにありますが、最近のアクティビティはありません。osgeo-org.1560.x6.nabble.com/…およびgis.stackexchange.com/questions/274074/…を参照してください。おそらく、Rasterbenderプラグインがそれを代用することができます。
AndreJ

0

ラスタがすでにUTM投影を持っている、とあなたは別のUTMゾーンに縦方向にそれを移動したい特殊なケースでは、私はそれが見つけgdal_translate、それを行うことができます。たとえば、入力ラスターが任意のUTMゾーンZにあり、それをUTMゾーン26(つまり、ほとんどの緯度の大西洋)に移動するとします。

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

によって報告されるモデル空間単位の原点とコーナーの座標は変わりませんgdalinfo。しかし、緯度/経度のコーナー座標は変化し、ラスターは実際には世界の別の部分に移動しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.