ラスターデータでピクセル値を指定の値の範囲のみ表示し、その範囲でポリゴン化したい

1,189 views
Skip to first unread message

e fujifuji

unread,
Aug 21, 2022, 8:13:49 AM8/21/22
to QGIS初心者質問グループ
初めまして。富士と申します。

全くのGIS初心者です。ネット検索でも解決しなかったので、相談させてください。
現在航空写真のtiffファイルを用いてラスターデータのピクセル値の範囲のみを形どったポリゴンを作ろうとしています。

バンドレンダリングで最大値、最小値を決めることにより表示としては指定したい範囲のみを表示することができるのですが、その形のポリゴン化(ベクター化)しようとすると一つの大きなポリゴンにしかなりません。

どのように処理すればよいかご教示いただけないでしょうか。

環境・使用データ
・windows 10 Pro 64bit
・QGIS 3.26.1

tiff file
・バンド数1

必要なデータが何かわかりませんので、とりあえずのものを載せました。追加情報が必要でしたらお知らせください。

よろしくお願いいたします。







福岡

unread,
Aug 22, 2022, 10:38:48 PM8/22/22
to QGIS初心者質問グループ
e fujifuji 様

こんにちは

ちょっとデータは違うのですが、DEMのGeoTiffを使ってテストをしてみました。

1.一定の数値範囲を表示させるということで、レイヤプロパティの「シンボロジ」タブで最大値、最小値を設定
2.メニューの「ラスタ - 変換 - ラスタをベクタ化(polygonize)」をテスト
3.プロセッシングツールの「ベクタ作成 - ラスタをベクタ化」をテスト
4.プロセッシングツールの「GDAL - ラスタ変換 - ラスタをベクタ化(polygonize)」をテスト

テスト結果としては、全てのテストで非表示部分もポリゴンが生成されます。
そして「2」と「4」は同じ処理を行っていて、同一値の隣接するポリゴンは統合されます。
また、小数点以下の値は丸められているようです。

「3」では1つ1つのピクセルがそのままポリゴンになるようです。

以上の結果からすると、「3」の処理を行って、その後生成されたポリゴンから目的のポリゴンを抽出するのが良いかと思われます。

そして最後にちょっと確認させてください。
1つの大きなポリゴンということですが、属性テーブルで確認しても地物は1つでしょうか?
また航空写真でバントは1つということですが、白黒写真ということでよろしいでしょうか?

このことについて違和感を持つ方もおられると思いますので、よろしくお願いいたします。

2022年8月21日日曜日 21:13:49 UTC+9 e fujifuji:

ありた

unread,
Aug 23, 2022, 8:56:53 PM8/23/22
to QGIS初心者質問グループ
こんにちは

「ラスタ計算機」での条件式は、合致すると1、しないと0の結果を返しますので
たとえば次のような式を与えると、値が100以下のセルは1、それ以外は0となる
結果が得られます。
"入力ラスタ@1" <= 100

複数条件を指定することもできます。
このように得られた切り抜きたい範囲を示したマスクレイヤに対し、ポリゴン化の
処理を行う方法もあります。
Reply all
Reply to author
Forward
0 new messages