QGISを使用してベクトル境界を持つラスターをクリッピングしますか?


58

QGISを使用しています。ベクターデータである管理境界レイヤーを使用して、ラスター降水レイヤーをクリップします。ただし、ジオプロセシングツールはベクターデータにのみ使用できるようです。

この降水層をクリップするにはどうすればよいですか?


この質問で「ベクトル」が2回現れることを本当に意味しましたか?
whuberの

@whuber-特にありません...このフォーラムでは重要ですか?
カーク

「ベクトル」のいずれかを「ラスター」に変更せずに、この質問を理解することはできませんでした。私は今それを手に入れたと思います:あなたはあなたがジオプロセシングツールはすべての要素がベクトルデータである場合にのみ適用可能であると思うと言っています。混乱は、境界層がベクトル形式であることを明示的に言うことであり、それが直接の先例であるため、質問を曖昧にします。
whuber

4
私は元の質問と同じ問題を抱えています-gdalプラグインを使用するクリッピングツールは機能しますが、長方形でのみクリップします.......国境のようなものにクリップする必要がある場合はどうなりますか?
マット

回答:


36

GDALプラグインをインストールしてから、クリッパーツールを使用します。
ここに画像の説明を入力してください


11
「gdal tools」、別名「raster tools」プラグインは、私が間違っていなければ、qgis 1.5以降デフォルトでインストールされます。手動でインストールする必要はありません。
ジョヴァンニマンギ

このツールは、ラスターにバンドを追加することがわかりました。コマンドdstalphaを使用します。
B

2
Pabloが書いたように、Clipper Toolが答えです。qgis 1.7.0では、プラグインの名前は「GdalTools」です。ツール(探している "Clipper"とともに)は、qgisプラグインマネージャーで有効にした後、Rasterメニューに追加されます。
アンプ

1
ラスターデータとベクターデータを同じCRSのディスクに保存する必要はありません。QGISでCRSが設定されている単純なpngファイルと区切りテキストレイヤーは機能しません。
AndreJ

12

Pythonの使用に興味がある場合は、こちらの GeospatialPython.comで優れたドキュメントを入手できます

そしてclipraster.pyのソースはこちらです。

クリッピング

プロセス:

ラスターのクリッピングは、ハイエンドの地理空間ソフトウェアパッケージでの一連の単純なボタンクリックです。コンピューティングに関しては、地理空間画像は実際には非常に大きな多次元配列です。最も簡単なリモートセンシングは、これらの配列に対して数学演算を実行して、データから情報を抽出することです。ここでの背後にあるのは、ソフトウェアが実行していることです(いくつかの手順を実行するか、実行します)。

  1. ベクトルシェープファイルを、マスクとして使用できる行列に変換します
  2. 地理空間画像を行列に読み込む
  3. シェープファイルの範囲外の画像セルはすべて捨てます
  4. シェープファイルの境界外のすべての値をNODATA(null)値に設定します
  5. オプション:視覚化を改善するために、画像に対してヒストグラムストレッチを実行します
  6. 結果の画像を新しいラスターとして保存します。

clipraster.pyリンクが壊れています。更新することを検討してください。Tks。
アンドレシルバ


8

gdalwarpプロセスの効率を上げることができるので、使用することをお勧めします。

たとえばinraster.tif、シェープファイルを使用してラスターをカットする場合extent.shp

gdalwarp -cutline extent.shp -crop_to_cutline -of GTiff  -dstnodata 255 inraster.tif inraster_cropped.tif -co COMPRESS=LZW -co TILED=YES --config GDAL_CACHEMAX 2048 -multi

最後の2つのパラメーターを使用すると、以下を使用してプロセスを強化できます。

  1. マルチコア実装。
  2. 関数で使用可能なキャッシュを設定します。

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