PCを林業に生かすブログ

カテゴリ: QGIS

QGISを使って以前作成した森林作業道の計画路線について、DEM(0.5m)を使って50m毎に横断勾配の計測をシミュレーションしてみたいと思います。

手順は次の通り
1.森林作業道のレイヤーに50m毎に測点を設定。
2.Profile Toolを使って横断勾配を計測する。

1.側点を設定
 プロセッシング(C)→ベクタジオメトリ→ジオメトリに沿った等間隔点群

スクリーンショット 2023-01-29 142306
スクリーンショット 2023-01-29 142512
入力レイヤに作業道のレイヤ
距離を50.0メートルと指定
実行をクリック

スクリーンショット 2023-01-29 145039
路線に対して50m毎に側点を設定できました。

※点レイヤーのプロパティで好きなマーカーに変更してください。
 マーカーは中央が分かりやすいものが適しています。

2.横断勾配を計測
 Profile Toolを起動します。
スクリーンショット 2023-01-29 142726
※初めて使用する場合はプラグインをインストールする必要があります。

スクリーンショット 2023-01-29 145319
先ずはDEMを指定します。レイヤー(DEM)を選択してからAdd Layerをクリック。

①ピンポイントで勾配を計測する方法
次に等高線に直角になるように線を引きます。
 ・始点クリック→終点ダブルクリック
 ※この時、標高の低い方から高い方向に向かって線を引く
スクリーンショット 2023-01-29 145417
図のように引いた線の断面図がグラフとなって表示されます。

スクリーンショット 2023-01-29 145500
HeightのところをSlope(°)に変更すると各ポイントの勾配を表示してくれます。
スクリーンショット 2023-01-29 145920
マウスカーソルを表の上で左右にスライドするとマップ画面のラインと同期して動きます。
森林作業道中央の部分に合わせると16.501°となっていることが分かります。
しかし、これではピンポイントすぎてデータとしてはあまりよろしくないですよね。

②側点付近の平均的な勾配を計測
スクリーンショット 2023-01-29 150212
図のように計測したい幅(必要な部分だけ)に線を引きます。
そしてInterolated profileを外すと線を引くときにクリックした点だけになります。
今回は始点と終点だけです。
ここでは視点から終点までの平均勾配が22.854°となりました。

以上です。

0.5mDEMを使えばこの方法で現地に近いデータを得る事ができるはずです。
ただし、全ての点を一括で調べるわけではありませんのでそれなりの手間はかかってしまいます。
もっといい方法がありましたらご連絡ください。

前回は0.5mメッシュのかなり精密なDEMを作りました。
今回はDEMを等高線で表示させる方法です。
DEMから等高線を作り出す方法は「ラスタ」→「抽出」→「等高線(contour)」で作り出すことが出来ます。また、航空レーザー測量のデータには等高線も含まれていますので、あえてDEMを利用する必要はなさそうですよね。
しかし、等高線のデータはとても重いデータでプロジェクトを読み込んだり表示させるために時間とPCのメモリを消費してしまいます。今回紹介する方法はDEM(ラスタ)を表示するだけなので超速です。読み込みもスクロールもスイスイです。そしてその方法も簡単なのです。

1DEM
普通にグレースケールでDEMを表示するとこうなります。
このレイヤーのプロパティを表示します。

2プロパティ
シンボロジレンダリングタイプ等高線(contour)を選ぶコレだけで等高線表示になります。
見やすくするために次の設定にしました。
・等高線の間隔 1m
・等高線シンボル 幅0.1ミリメートル
・基準等高線間隔 10m
・基準等高線シンボル 幅0.5ミリメートル


3完成
赤色立体地図に重ね合わせるとこのようになりました。

※QGIS 3.26.3

QGISでいろいろなデータを扱うことが出来るようになりましたので、スマホに転送して現場で持ち歩いてみましょう。

QGISのプロジェクトをスマホで使うのであればQFieldというアプリを使うのが一般的だと思います。プロジェクトの一部または全部をそっくり使えるので見た目にもPCと同じように表示できてとてもいいアプリです。
しかし、今回は地図ロイドというアプリでその方法を紹介します。地図ロイドを使う理由は山旅ロガーGOLDと連携してトラックログを使うことができる点で優れているからです。ただし、表示する美しさはQFieldには敵いません。

スクリーンショット 2022-02-20 094528
このプロジェクトの中から模擬外周というポリゴンと森林作業道練習というラインの2つのレイヤをスマホに移していきます。

その手順は①GeoJSONファイルに変換 ②転送(Googleドライブ) ③地図ロイドに取り込む となります。②の転送については色々な方法がありますが今回はGoogleドライブを使います。

①GeoJSONファイルに変換 ②転送(Googleドライブ)
 地図ロイドの場合は図形を表示する形式はGeoJSONになりますので、シェープファイルから変換しなければなりません。②転送の手順も保存先をGoogleドライブにして同時に完了しましょう。
2022-02-20
レイヤを右クリックしてエクスポート新しいファイル名で地物を保存と進みます。


2022-02-20 (3)
図のように
 形式GeoJSON
 ファイル名
でGoogleドライブのフォルダを選んで適当にファイル名を付けます。
 座標参照系(CRS)EPSG4326 WGS84を指定します。

2022-02-20 (4)
この様なメッセージが出てきたらそのままOKで大丈夫(だと思います)。

同じように森林作業道練習のレイヤもGeoJSONに変換してGoogleドライブに収めましょう。

QGIS上には作成したGeoJSONのレイヤも追加されますが必要はありませんので下の図のように削除してしまいます。

2022-02-20 (5)
 

③地図ロイドに取り込む
 地図ロイドへ取り込みます。スマホに地図ロイドGoogleドライブをインストールします。


Screenshot_20220220-095317

スマホからGoogleドライブを開いて該当のフォルダーを開くと保存したGeoJSONファイルがあるのでタップか右端の・・・で出てくるメニューからアプリで開くを選択します。
アプリは当然地図ロイドを指定します。私の場合は他にGeoJSONを使うアプリが無いので常にこのアプリを使う設定にしています。
Screenshot_20220220-095347
これは地図ロイドが確認のメッセージを出しているのでOKを選択です。

Screenshot_20220220-095356
データはこれで取り込みは出来ました。
同じように他の1件のデータを登録します。

地図ロイドを起動してMENUを開きます。
Screenshot_20220220-095422

Screenshot_20220220-095435
作図GeoJSONを選択

Screenshot_20220220-095613
対象のファイル名をタップするとが付き地図に反映されます。を外すと非表示になります。

Screenshot_20220220-095634
右の・・・でメニューを開いてジャンプをタップすると地物が表示されます。

Screenshot_20220220-095649

もう一度GeoJSONのメニューまで戻ってスタイルの設定をします。
Screenshot_20220220-095742
練習作業道の方は線の色にしてラベルを表示 使うプロパティ名路線名を選択しました。

Screenshot_20220220-095823
練習外周塗りつぶし色透明度25に指定。


Screenshot_20220220-100426

この様に表示されました、パラボラアンテナのマークで現在地に移動します。
地図ロイドの詳しい使い方についてはいずれ紹介したいと思います。

前回紹介した林小班図と森林簿の結合で膨大なデータをQGISに取り込むことが出来ました。
このデータをどう利用していくのか?いくつか例を挙げて聞きたいと思います。

スクリーンショット 2022-02-04 164516
この図は小班を林齢ごとに色分けして林班と小班をラベルに設定したた物です。
やり方は「QGIS見た目を変えてみましょう。」で紹介していますので参考にしてください。
設定したところは次の通りです。
スクリーンショット 2022-02-04 161342
スクリーンショット 2022-02-04 161415
林齢が高いほど濃い緑で表示されています。

それではデータを絞り込んでみましょう。
森林簿上で樹種スギ林齢100年を超える小班のリストを抽出します。

森林簿の属性テーブルを開きます。
スクリーンショット 2022-02-04 161550
左下の選択(コンボックス)から詳細フィルタ(式)を選択します。

スクリーンショット 2022-02-04 162018

式を入力します。
QGISでは条件を指定する場合にはダイヤログではなく式を記述して抽出をします。この方法は慣れるまでは少し面倒ですが汎用性が非常に高い方法です。一見してプログラミングの様で敷居が高いように感じますがやってみるとそれほど難しくはありません。ラベルの書式とも共通するところが多いので是非習得して頂きたいです。
式の書き方は「QGIS 式」などで検索すると沢山出てきます。

今回の式を簡単に説明しておきましょう。
”EX_樹種" → 結合した森林簿フィールド名(樹種)の事です。
 ※"(ダブルクォーテーション)でくくってフィールド名を表現しています。

= 'スギ' → EX_樹種フィールドのなかでスギと一致するもの。
 ※=は値が一致する、'(シングルクオーテーション)でくくったものは値になります。

and → かつの事です。(AかつBのかつ)
 ※この場合EX_樹種の値がスギでありさらにand以降の式に一致するもの。

"EX_林齢" > 100 → EX_林齢100を超える。
 ※このとき100は含みません100以上を指定したいときは>=と記述します。

スクリーンショット 2022-02-04 162518
図のように目的のデータを絞り込めました。

ここから地物を指定するためには行番号をクリックするとで地物を選択する事が出来ます(後でその方法を説明します)。また、CTRLキーやSHIFTキーを使って複数の地物を選択することも出来ます。

今度は絞り込みと同時に地物を選択してみましょう。

スクリーンショット 2022-02-04 163007
式による地物の選択アイコンから同じようにを設定します。
今回は100年以上となるように設定しました。

スクリーンショット 2022-02-04 163117
リストが抽出されるとともに地物も選択され黄色で表示されました。

スクリーンショット 2022-02-04 163251
全レイヤの選択を解除アイコンで選択した地物を解除します。

次によくあるシチュエーションで林班と小班で場所を検索してみましょう。
スクリーンショット 2022-02-04 163545
64林班の小班33を検索します。

スクリーンショット 2022-02-04 163659
抽出されました。

スクリーンショット 2022-02-04 163756
ここで行番号をクリックすると地物の選択が出来ます。

しかし、普通は画面上にありませんので次の方法で一気に該当の地物を呼び出します。
スクリーンショット 2022-02-04 163858
右クリック地物にズーム

スクリーンショット 2022-02-04 164040

下の欄に計算式が残っていますね、ここを書き換えるだけで別の場所を検索することも出来ます。

今回も林小班図森林簿を利用できる方向けの記事です。
とりあえずQGISに林小班図を読み込みます。
スクリーンショット 2022-01-30 112512
小班図というグループを作りました。
林小班図の入ったシェープファイルをマップ上にドラッグアンドドロップで追加します。
スクリーンショット 2022-01-30 114325
レイヤプロパティ属性を確認してみると項目がコレだけしかありません。樹種住所所有者の情報も調べたいところです。その情報は森林簿にありますので、ここに統合してしまえば飛躍的に使い勝手が良くなります。

それでは次に森林簿を読み込みましょう。
スクリーンショット 2022-01-30 112743
同じくドラッグアンドドロップで読み込みます。CSVでもエクセルでもどちらでも大丈夫です。
オリジナルの森林簿はそっとしておきたいので前回エクセルで保存した森林簿を使います。

スクリーンショット 2022-01-30 131030
両方のファイルをレイヤとして読み込んだら分かりやすい名前に変更しておきましょう
ココではそれぞれブログ用森林簿ブログ用小班図としました。
※F2キーで名前を変更するのが最も簡単です。

いよいよ統合の手順です。
スクリーンショット 2022-01-30 115106
ブログ用小班図レイヤ右クリックプロパティを表示したら、左端のアイコンから統合を編集を選択します。
下の+マークをクリックするとベクタ結合を追加の画面になりますので次のように設定しましょう。
①では統合する相手のレイヤ名を選択(森林簿のレイヤ)
②③ではKEYCODEを選択します。
 KEYCODEが紐づけするためのキーになります(ここでは林小班図のKEYCODEと同じ内容をもつデータを森林簿から探し出してその情報を統合します。)ので両方の属性テーブルKEYCODEが存在していなければなりません。もしもKEYCODEかそれに相当するものが無ければフィールド計算機で作成する必要があります。
森林簿には必要のない項目も沢山ありますのでを入れてその下の窓で必要な項目だけにを入れましょう。
⑤にを入れて⑥にEX_と入力しました。追加される項目が分かりやすくなるように項目名の先頭にEX_を追加するという事です。これを行わずに既定のままだとブログ用森林簿_とレイヤー名がそのまま入ってしまいます。すると追加された項目名すべてがブログ用森林簿_***となり項目名が長すぎて扱いずらい表になってしまいます。いっそのことEX_よりも_だけでも良いぐらいです。

スクリーンショット 2022-01-30 115206
このように1つの結合が出来ました。

スクリーンショット 2022-01-30 115509
属性を確認すると緑の部分が結合により追加された項目です。
EX_***という項目名になっていますね。

スクリーンショット 2022-01-30 120222
これによっていろいろな分析が出来ます。
この図は樹種ごとに塗り分けた例です。
 ※やり方は「見た目を変えてみましょう」を参照

分析の例としては所有者ごとなどに色分けするとか、樹種や林齢・保安林など条件を指定して絞り込むなど様々な利用価値が出てきます。

ただし、注意しなければいけない事があります。
林小班図の場合1小班につき1つのKEYCODEとなっていますが、森林簿には1小班に複数のデータ(KEYCODE)が存在していますので森林簿全てのデータを統合したわけではありません。詳細は森林簿を確認する必要があります。
スクリーンショット 2022-01-30 113148

このページのトップヘ