フリーハンドで地形区分を示すラスタデータを作成したい

93 views
Skip to first unread message

M.Ryo

unread,
Sep 14, 2022, 12:59:53 AMSep 14
to QGIS初心者質問グループ
QGISで以下のことが実現できないので,質問させていただきました.

【実現したいこと】
画像で示しているように,標高データ(DEM)上でフリーハンドで領域を指定し,
その指定した領域に数値を設定します.(オレンジ=1,緑=2というように)
そして,最後にDEMの格子に対応するようなラスタデータの形式で領域ごとに
数値が振り分けられたデータを取得したい
スクリーンショット 2022-09-14 13.45.24.png

もし上のようなことが実現可能であればご教授いただければと思います.

【現在の環境】
MacOS
QGIS  3.22.9

mooya

unread,
Sep 14, 2022, 9:22:06 AMSep 14
to QGIS初心者質問グループ
M.Ryo さま

 こんばんは。gdalの「ベクタのラスタ化」を使うと良いと思います。

1.ラスタレイヤ(DEMデータ)のレイヤプロパティ→情報→ピクセルの大きさ と 単位 を控えます。
2.プロセッシング「ベクタのラスタ化(rasterize)」を開いて
 入力レイヤ = フリーハンドのベクタレイヤ
 焼きこむ値の属性(フィールド) = 書き込む値のフィールド
 種強くラスタサイズの単位 =  ラスタレイヤ(DEMデータ)の単位
 水平方向の解像度 =  ラスタレイヤ(DEMデータ)の水平ピクセルサイズ
 鉛直方向の解像度 =  ラスタレイヤ(DEMデータ)の鉛直ピクセルサイズ
 出力領域 = ▼ボタン→レイヤから計算→ ラスタレイヤ(DEMデータ)を指定
 出力のデータ型 = 任意(質問の文脈からするとInt32など整数型)

↓出力 たぶん、ピクセルの中心に重なっているベクタレイヤで判定していると思います。

キャプチャ.PNG

2022年9月14日水曜日 13:59:53 UTC+9 M.Ryo:

キタ

unread,
Sep 14, 2022, 10:50:24 AMSep 14
to QGIS初心者質問グループ
「Serval」プラグインを使うと、ラスタの値を編集することができます。
インストールすると、ツールバーが追加されます。
範囲を指定するアイコンImage 1.pngで値を編集したい範囲を選択して、Image 2.pngに変更したい値を入力して、Image 3.pngをクリックするとその値にラスタ値が変更されます。
注意するのは、変更したら自動的に保存されるので、標高DEMラスタを編集する場合は、ファイルをコピーしてから行ったほうが良いです。

キタ

2022年9月14日水曜日 13:59:53 UTC+9 M.Ryo:
QGISで以下のことが実現できないので,質問させていただきました.

M.Ryo

unread,
Sep 15, 2022, 1:13:15 AMSep 15
to QGIS初心者質問グループ
mooya様,返信ありがとうございます.

実際に試してみたところ,なかなか上手く行っておらず,以下の状態になります.
下写真の一番下のレイヤがDEMデータ,二番目の茶色がベクタデータ(ポリゴン),一番上が「ベクタのラスタ化」で
作成されたラスタデータです.
具体的には「ベクタのラスタ化」で作成されたラスタデータにうまく任意の整数値が入っていない状況です.
スクリーンショット 2022-09-15 14.07.27.png
そこで質問なのですが,ベクタのラスタ化で用いる入力レイヤは,
レイヤ→レイヤの作成→新規シェープファイルレイヤで作成するポリゴンデータでよろしいのでしょうか?


2022年9月14日水曜日 22:22:06 UTC+9 mooya:

M.Ryo

unread,
Sep 15, 2022, 1:30:37 AMSep 15
to QGIS初心者質問グループ
キタ様,返信ありがとうございます.

実際に「Serval」プラグインをインストールしたのですが,写真のようにServalを使用するためのツールバーが
グレーアウトした状態になってしまい,機能を使用することができません.
qgisのバージョンなども変更してみましたが,グレーアウトのままでした.
「Serval」の使用方法の誤りがあれば教えていただければと思います.
スクリーンショット 2022-09-15 14.18.16.png

2022年9月14日水曜日 23:50:24 UTC+9 キタ:

キタ

unread,
Sep 15, 2022, 1:48:31 AMSep 15
to QGIS初心者質問グループ
レイヤパネルで、ラスタレイヤを選択すれば利用できるようになるはずです。
うまくいかない場合は、ラスタのファイルが読み取り専用とかになっているのかもしれません。
レイヤのエクスポートで、編集できるフォルダにジオTIFFでコピーを作成してみてください。

キタ

2022年9月15日木曜日 14:30:37 UTC+9 M.Ryo:

mooya

unread,
Sep 15, 2022, 9:04:36 AMSep 15
to QGIS初心者質問グループ
M.Ryo さま

 こんばんは、mooyaです。
 ベクタレイヤはシェープファイルのポリゴンで良いと思います。
 お示しの情報では、原因はよくわかりませんが、よくある原因としては、CRSが適切でない、書き込む値の型が適切でない、処理はできているが確認方法が適切でないなどでしょうか。
 Macで動くかわかりませんが、サンプルで作成したプロジェクト一式と「ベクタのラスタ化」の入力パラメータを添付しますので、お試しいただけますでしょうか。


ベクタのラスタ化.PNG






2022年9月15日木曜日 14:48:31 UTC+9 キタ:
ラスタ書き込み.zip

M.Ryo

unread,
Sep 15, 2022, 10:56:30 PMSep 15
to QGIS初心者質問グループ
キタ様,返信ありがとうございます.

実際にジオtiff形式に変換したところ,「Serval」が使用でき,
目的の処理ができました.今回はありがとうございました.

M.Ryo

unread,
Sep 15, 2022, 11:01:41 PMSep 15
to QGIS初心者質問グループ
mooya様,返信ありがとうございます.

添付していただいたデータをもとに,もう一度提案していただいた手法を試してみたところ,
うまくベクタのラスタ化から目的の処理が実行できました.昨日上手くできなかった原因は
現在はまだわかりませんが,現時点では目的の処理ができるようになりました.
ありがとうございました.
Reply all
Reply to author
Forward
0 new messages