PCを林業に生かすブログ

タグ:QGIS

前回は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

今回は説明が難しいので後回しにしてきた座標参照系(CRS)についてです。

ここで事細かく説明できる力は私にはありません。ですので先ずは分かりやすく説明されているサイトを見つけましたのでそちらを見て頂きたいと思います。

  朝日航洋株式会社さんのサイトより
  第1回 座標参照系(CRS)とは?
  第2回 座標参照系(CRS)とは? - QGIS での CRS の選び方 -
  第3回 座標参照系(CRS)とは? - プロジェクトの CRS を地理座標系にすると -

以上・・・

だけではちょっと手抜きなので、私なりにちょっとだけ説明します。

ずいぶん昔の話ですが私が青函トンネル記念館を訪れたときに、青函トンネルの測量には地球の丸さまで考慮されていると知りました。53.85㎞のトンネルなのに地球の丸さが影響するなんて地球って意外と小さいものだなと思いました。
その地球の丸さが地図の表現にも大きな影響を与えてしまいます。
2022-01-16 (12)

日本の位置はココですよね、真横から見たら随分斜めになってしまいます。
昔学校で習ったメルカトル法みたいな表現では極に近いほど誤差が大きくなってしまいます。QGISでは当然地球全体を表現することは可能ですが、こんなに斜めから見た図では地図を視覚的に捉えるにはよろしくないですよね。
2022-01-16 (11)
この様に真上から見た図の方が狭い範囲であれば正確に表現しやすくなります。
日本では日本全体と19に分割した投影座標系というのがあります。
利用する地域によって使い分けることによってより精度の高い地図を表示する事ができると言うわけです。
石川県の場合は7が該当になります。林業ではそれほど広域の地図は必要ないので
JGD2011 / Japan Plane Recatangular CS VIIを利用するのが適当だと思います。
他にJGD2000がありますがJGD2000とJGD2011の違いは震災前と後の違いです。
東北地方太平洋沖地震は地図を塗り替えるほどの大地震だったんですね。
座標参照系を選択する上で注意が必要なのは、地理座標系と投影座標系の二種類があるのでこれを間違うと表示される場所がズレてしまいます。
またwgs84という座標参照系もよく出てきます。これはGarminのように地球上のどこで利用するか分からないツールのデータなどに使われています。

説明の順番が良くないのですが、QGISで座標参照系を選択するのはプロジェクトの座標参照系とレイヤの座標参照系です。プロジェクトの座標系はプロジェクトを作るときに設定するか画面の右下で切り替えることも出来ます。
2022-01-16 (3)_LI
レイヤの座標参照系は色々なデータを取り込むわけですからインポートする場合などはそれぞれ違った座標参照系を使っていますよね。これらは全て変換しなければ使えないのでしょうか?答えはそのまま取り込んでも大丈夫です。QGISが変換してくれるか変換しても良いか聞いてくれますので安心して使ってください。

😢今回のブログ編集ではなぜか英子文字が使えませんでした。

このページのトップヘ