シェープファイルのジオメトリに従ってラスターファイルをクリップしようとしています。次のコードを使用しています

gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif 

しかし、シェープファイルのジオメトリ範囲の外側に黒い色が表示されます。ここに例を示します。クリップしたい最初の画像。 2番目の画像は結果のラスターですが、ジオメトリの外側がnullになる3番目のラスターが必要です。

1番目の画像:INPUTラスター

1番目の画像:入力ラスター

2番目の画像:出力ラスター

2番目の画像:出力ラスター

ここに画像の説明を入力

3番目の画像:次のような出力を取得したい

回答

gdalwarp-dstalphaオプションを使用する必要があります。例:

gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif 

これにより、出力tiffにアルファバンドが追加され、カットラインの外側にある領域がマスクされます。

遅い回答ですが、役立つことを願っています。同じ問題を抱えている他の誰か。

コメント

  • -srcnodataなし< in > -dstnodata < out > Curlewによるヒントは機能しませんでした
  • そうですね、-dstalphaは画像で使用できます(基本的にGeoTIFFにアルファバンドを追加し、領域をマスクします)。ただし、データ値はソースバンドに残ります(この場合、値0であると思います)。これを(画像ではなく)ラスター値として使用する場合、-dstalphaは間違ったアプローチです。@ Curlewanswerがはるかに望ましいオプションです。また、入力ラスターとの正確なオーバーレイ(ピクセルサイズと間隔)を維持する必要がある場合、-crop_to_cutlineオプションは非常に危険であることがわかりました。座標を完全に制御できるように、-teオプション(境界ボックス)を設定することをお勧めします。
  • gdalwarp -cutline Eastcoast.shp -crop_to_cutline -dstalpha " myrasterfinal77.tif " " demUTM12.tif "取得無効な構文

回答

入力ラスターからnodata-valueを指定して、出力用に設定してみてください同じように。さらに、オプション-crop_to_cutlineを追加して、正確な切り抜きを作成します。オプションの詳細こちら

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif 

コメント

  • もう少し詳しく説明していただけますか? < in >および< out ?
  • < in >は、入力ラスターnodata-valueおよび< out >。すべての情報とオプション(出力形式、ソース、エクステントなど)を見つけることができる提供されたリンクを見てください
  • 無効な構文を取得しています、このgdalwarp-srcnodataで私を助けることができます" myrasterfinal77.tif " -dstnodata " demUTM12.tif " -crop_to_cutline -cutline " Eastcoast.shp " " myrasterfinal77 .tif " " demUTM12.tif "

回答

バックグラウンドでgdalwarpを実行し、適切なオプションを構成するQGISのラスタークリップオプションを使用できます。

http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html

コメント

  • ***。tif形式が必要です
  • 上記のリンクで概説されている手順により、.tif出力が得られるはずです。
  • lインクが死んでいるようです。
  • @VadimOvchinnikovが少しブラウジングして、移動した場所を見つけ、修正しました

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です