■ データ結合した時に結合するデータの接続文字を自由に設定できる
■ スナップの改良
以上、QGIS2.8の新機能の中から、私の気になったものを幾つかピックアップしてみました。
<お知らせ>
2015年9月の記事で「QGISで赤色立体地図っぽい地図を作る」という記事を掲載しましたが、2016年7月8~9日に開催された、FOSS4G Hokkaidoに参加した際、ある方から「QGISでの赤色立体地図の作り方を見つけたので」と教えていただきました。
ためしてみると、かなり本物に近い地図ができましたので、作成方法をメモ、共有したいと思います。
ただし、赤色立体地図の作成方法は、千葉達郎氏とアジア航測株式会社が特許をとっている技術ですので、特許権について侵害している部分があれば、コメントなどで教えていただきたいと思います。指摘があれば直ちに修正します。
この記事に書いている内容は、「地形表現手法の諸問題と赤色立体地図」という論文で公開されている内容を利用しています。
図 北海道羊蹄山の赤色立体地図
1.必要なデータ
QGISで赤色立体地図を作成するためには、標高DEMが必要です。基盤地図情報から、必要な地域の「数値標高モデル」をダウンロードします。
数値標高モデルから標高DEMの作成方法は、こちらを参照してください。
変換ツールで標高DEMを作成する際に、必ず平面直角座標系で作成してください。
また、標高DEMを保存するフォルダ名、ファイル名には日本語を使わないようにしてください。半角英数字のみのパスでないと、プログラムでエラーが出ます。
2.作成手順
QGISで赤色立体地図を作るには、次の流れで行います。
(ア) 基盤地図情報の数値標高モデルをダウンロードして、変換ツールを使って標高DEMを作成します。
(イ) QGISで標高DEMを表示して、プロセッシングツールの「Morphometric Protection Index」を使って地上開度図を作成します。
(ウ) 標高DEMをラスタ計算機を使って反転させます。
(エ) 「Morphometric Protection Index」で反転させた標高DEMから地下開度図を作成します。
(オ) ラスタ計算機で地上開度図と地下開度図を計算して、尾根谷度図を作成します。
(カ) 標高DEMから傾斜図を作成します。
(キ) 尾根谷度と傾斜図をQGISに表示して、スタイルを調整し、赤色立体地図を作成します。
3.QGISを使って地上開度を計算する
地上開度図を作成します。地上開度とは何かは、論文を参照してください。
l QGISに標高DEMを表示します。
l メニュー「プロセッシング」→「ツールボックス」を選択し、プロセッシングツールボックスを表示します。
※メニューに「プロセッシング」が表示されない場合には、メニュー「プラグイン」→「プラグインの管理とインストール」で「Processing」を有効にします。
l 検索ボックスに「morp」と入力すると、「SAGA」の中に「Morphometric Protection Index」があるので、実行します。「Morphometric Protection Index」は、地上開度を計算するプログラムです。
l 「Elevation」に標高DEMのレイヤを選択します。
l 「Radius」には、計算する距離(論文でいう考慮距離)を入力します。小さいほど処理速度は上がりますが、あまり小さいと必要な値が計算されません。私は「200(m)」としています。
また、元の標高DEMより「Radius」で入力した距離分小さい画像が作成されますので、それを考慮した標高DEMを準備する必要があります。
l 「Protection Index」の「...」ボタンをクリックし、「ファイルへの保存」を選択し、保存するファイルを指定します。保存するファイルのフォルダ名、ファイル名には半角英数字のみを使用してください。日本語を使うとエラーとなります。
l 「Run」ボタンをクリックし、処理を実行します。
標高DEMが大きいほど処理時間がかかります。
l 処理が終了すると、作成された地上開度図が地図に追加されます。
4.標高DEMを反転し、地下開度を計算する
「Morphometric Protection Index」では、地上開度しか計算できませんが、標高DEMを反転することで、地下開度を計算することができます。
l 標高DEMレイヤを選択し、メニュー「ラスタ」→「ラスタ計算機」を選択します。
ここでは、標高DEMのレイヤ名が「Hyoukou」としているとして説明します。
l 「ラスタ演算式」に「Hyoukou@1 * -1」と入力し、「ラスタレイヤ」の「出力レイヤ」の「...」ボタンをクリックして、保存するファイル名を指定します。フォルダ名、ファイル名は半角英数字のみとしてください。
l 「OK」ボタンをクリックすると、反転された標高DEMがレイヤに追加されます。
l 反転した標高DEMをプロセシングツールボックスの「Morphometric Protection Index」を使って、地下開度図を作成します。作成方法は「3.QGISを使って地上開度を計算する」と同じですので、そちらを参照してください。
5.地上開度図と地下開度図から尾根谷度を計算する
地上開度図と地下開度図の値をラスタ計算機で計算して、尾根谷度図を作成します。
尾根谷度を計算する式は、論文に掲載されています。
尾根谷度=(地上開度-地下開度)/2
l 地上開度図と地下開度図をレイヤに追加します。
ここでのレイヤ名は、地上開度図を「chijyou」、地下開度図を「chika」とします。
l メニュー「ラスタ」→「ラスタ計算機」を選択します。
l ラスタ計算機の「ラスタ演算式」に「(chijyou@1 - chika@1) / 2」と入力します。
l 「出力レイヤ」の「...」ボタンをクリックして、保存するファイルを指定します。フォルダ名、ファイル名は半角英数字のみ使用してください。
l 「OK」ボタンをクリックすると、尾根谷度図が作成されて、地図に追加されます。
6.標高DEMから傾斜図を作成する
標高DEMから傾斜図を作成します。
l 標高DEMをレイヤに追加します。
l メニュー「ラスタ」→「地形解析」→「傾斜」を選択します。
l 「標高レイヤ」に標高DEMを選択します。
l 出力レイヤの「...」ボタンをクリックして、ファイルの保存先を指定します。日本語は使えますが、半角英数字のみを利用した方がいいと思います。
l 「Zファクタ」を「1」にします。「Zファクタ」の「1」より数字が小さいと標高が強調されますので注意してください。
l 作成されると、地図に追加されます。
6.尾根谷度図と傾斜図をレンダリングする
尾根谷度図と傾斜図をレイヤに追加し、レイヤのスタイルを設定します。
レイヤの表示順は、傾斜図を尾根谷度図よりも上にしてください。
なお、ここで説明している色の設定は、あくまでも私の感覚での設定ですので、各自好きに設定していただいて構いません。
<尾根谷図のスタイル設定>
イ) レイヤプロパティの「スタイル」を選択し、「レンダータイプ」を「単バンド疑似カラー」にします。
ロ) 「新規カラーマップを作成」のカラーマップに「Greys」を選択し、「分類」ボタンをクリックします。すると、左のリストに色の設定が追加されます。(最小値と最大値の2行追加)
ハ) 色のリストに「+」ボタンで1行追加して、値「0」の行を作成します。追加した行は2行目に移動して、薄いグレー(できるだけ白に近い灰色)に設定します。
これは、尾根谷図の値「0」は平らな地形の場所で、平らな場所を白に近い色で表示すると、凹凸がわかりやすくなるためです。(個人的感覚です)
ニ) 「OK」ボタンをクリックして、レイヤプロパティを閉じます。
※私の設定:1行目 値=最小値、色=R255、G255、B255
2行目 値=0、色=R230、G230、B230
3行目 値=最大値、色=R60、G60、B60
<傾斜図のスタイル設定>
イ) レイヤプロパティの「スタイル」を選択し、「レンダータイプ」を「単バンド疑似カラー」にします。
ロ) 「+」ボタンをクリックして、色の行を追加し、右から最小値を確認し、「値」と「ラベル」に入力します。最小値の色は「白(R255、G255、B255)」にします。
ハ) 「+」ボタンをクリックして、色の行を追加し、右から最大値を確認し、「値」と「ラベル」に入力します。最小値の色は「やや暗い赤(R182、G20、B20)」にします。
ニ) 「カラーレンダリング」の「混合モード」を「乗算」にします。
ホ) 「OK」ボタンをクリックして、レイヤプロパティを閉じます。
※私の設定:1行目 値=最小値、色=R255、G255、B255
2行目 値=最大値、色=R182、G20、B20
6.他の地図を重ねる
地理院地図などをタイルレイヤプラグインなどで重ねると、更に地形がわかりやすくなります。その場合には、重ねる地図のカラーレンダリングを「乗算」にするか、尾根谷図のカラーレンダリングを「乗算」にします。
図 地理院地図を重ねた赤色立体地図(ニセコ イワオヌプリ周辺)
以上、赤色立体地図の作成方法です。
尾根谷度図の色の濃さを調整することで、もう少し立体的に見やすくなるかもしれませんし、標高DEMを色別標高図にして、標高別の色分けを行うと、わかりやすくなるかもしれません。
インターネット上には、幾つかの本物の赤色立体地図が公開されていますので、そちらを参考にして、レンダリングを調整してください。
質問等がありましたら、コメントでどうぞ。
QGISの最新版、2.16.0の32bitスタンドアロン版をインストールした場合、「libintl-8.dllがありません」とエラーが出て、起動できない場合があります。
私はの場合は、職場がWindows7 Pro 32bitなのですが、
2016年7月13日にダウンロードした、Ver2.14.4と2.16.0の32bitスタンドアロン版をインストールすると上記のエラーが出ます。
解決方法は次のとおり
足りないdllファイルは、全てQGISインストールフォルダ内の「\apps\grass\grass-7.0.4\bin」にあります。
何も変更せずにインストールした場合は、「C:\Program Files\QGIS Nebo\apps\grass\grass-7.0.4\bin」です。
ここからエラーメッセージで表示されるdllファイルをコピーして、QGISインストールフォルダの「bin」フォルダにコピーします。
通常であれば、「D:\Program Files\QGIS Nebo\bin」です。
私の場合には、3つくらいのファイルが足りないとエラーが出ましたが、全てbinフォルダにコピーすると、起動しました。
QGIS初心者掲示板でも、同じようなエラーが出でたとの報告があるので、エラーで困っている人がいるかもしれません。
エラーが出た時には試してみてください。
北海道の森林情報を、「CARTO(https://carto.com/)」で可視化しました。
どなたでもアクセスすることができます。
CARTOのアップロードできる容量の関係で、4つの地区にわけています。
地図は、主要樹種で色分けしています。小班をクリックすると、林班、小班、樹種、森林の種類などを確認することができます。
GISを使えない方も、簡単に地図を確認することができます。
活用して見てください。
昨年、現代林業で連載していた「QGISを林業で使う」を、単行本として出版するということをお知らせしていました。以前の記事では、10月ころに出版できるのではと書いていたかもしれませんが、出版が大幅に遅れて、現在「初校」という著者がチェックする段階になっています。それも11月段階で半分しかできておらず、全部の初校が出るのは、12月末か1月はじめになりそうだとのことです。
本として発売されるのは、2月以降になるかもしれません。
以前の記事を見て、楽しみにしていた方がいらっしゃいましたら、申し訳ありません。
何日か前に「QGIS初心者質問グループ」回答者の方が紹介されていたのですが、「QGIS逆引きガイド」という本がKindle版で発売されているようです。
全2巻で、目次を見るとかなりいろいろな機能の紹介がされているようです。
2巻買っても900円ということですが、私の本は安くても3000~4000円にはなると思いますので、こんな安く最新版の紹介をされた本が発売されると、私の本がヤバイですね。
私の本の発売はまだ未定ですが、発売日等が決まりましたらお知らせしますので、ぜひ手にとって見てください。
林業でQGISを使う実際の事例などもたくさん紹介しています。
よろしくお願いします。
「CS立体図」という地図をご存知でしょうか?
CS立体図は、傾斜図と曲率図と標高図を組み合わせた地図で、長野県林業総合センターで開発した、微地形を判読しやすくされた立体地図です。
・地形判読を行いやすくする立体図法
(http://www.pref.nagano.lg.jp/ringyosogo/documents/iku_cs.pdf)
・数値地形データを用いた「微地形図」の作成方法
(http://www.pref.nagano.lg.jp/ringyosogo/seika/documents/bichikei.pdf)
私も最近知ったのですが、林業の路網選定などには、非常に役に立つ地図のようです。
長野県林業総合センターでは、ArcGISでの作成方法が紹介されています。この中では、「立体図」と「曲率図」を作成して重ね合わせる手法が紹介されていますが、「立体図」だけでもかなり立体的に見えるので、ここではQGISで作る、CS立体図のうちの立体図の作成方法を紹介します。
個人的には、赤色立体地図より立体的に見えるのではないかと思います。
図:ニセコアンヌプリ周辺の立体図
※今回作成する立体図の、曲率については、「Profile Curvature」という計算方法を使用していますが、これが本当に正しいのか、著者はわかっていません。もし他にいい方法があれば情報をください。
「Profile Curvature」で作成した地図は、等高線上の地形のシワが強調されて表現されます。
1. 標高DEMを準備する
2. QGISのレイヤに標高DEMを追加する
図:レイヤに追加した標高DEM
3. プロセッシングツールで傾斜と曲率を計算
図:「Slope aspect Curvature」のダイアログ
4. レイヤを名前をつけて保存する
図:「名前をつけて保存する」のダイアログ
5. 傾斜レイヤのスタイルを設定する
図:傾斜レイヤのプロパティのスタイル設定
6. 曲率レイヤのスタイルを設定する
図:曲率レイヤのプロパティのスタイル設定
7. 必要であれば、地理院地図などを背景に追加する
長野県林業総合センターの資料では、標高DEMも重ねていますが、標高DEMは重ねなくても立体的でわかりやすいと思います。
図:地理院地図を重ねた立体図
CS立体図は、赤色立体地図よりも地すべりなどの地形が見やすいように感じます。
長野県では、1mメッシュDEMを利用していますので、かなりの微地形を確認することができるようですが、基盤地図情報の10mメッシュDEMでも十分地形判読を行うことができます。
地質図や地すべり位置図などを重ねることで、更に地形判読を行いやすくなると思います。
2016年11月19日放送の「ブラタモリ」で、知床の地形について説明していたので、知床の立体図を作成してみた。
図 知床の羅臼岳周辺の立体図
また、2016年8月24日に大雨の影響で、羅臼において土砂崩れが発生しています。
この箇所の地形を立体図でアップにしてみました。10mメッシュですので少し荒いですが、地形がよくわかります。
土砂崩れした箇所は、マウスカーソルの十字がある場所です。
QGISのプロセッシングツール「SAGA」→「Slope aspect corvature」コマンドで作成できる様々な地図を傾斜図に重ねてみました。
図 傾斜図(Slope)のみ
図 傾斜図(Slope)+Profile Curvature
図 傾斜図(Slope)+Longitudinal Curvature
図 傾斜図(Slope)+Maximal Curvature
図 傾斜図(Slope)+Cross-Sectional Curvature
図 傾斜図(Slope)+General Curvature
どうでしょうか?
様々な立体図で見ると、土砂崩れした斜面の上流部には、沢地形があり、崖の手前で大きく南に曲がっています。かなり水の集まりやすい地形ですね。
このような地形は、大規模な土砂崩れが発生する可能性が高いので気をつけなければいけません。特に北海道の海岸沿いで、隆起した地形はこのような地形が多いかもしれませんね。
立体図で見ると、このような地形がよく分かるのでいいですね。
「Cross-Sectional Curvature」や「General Curvature」で見ると、隠れた水道(みずみち)も地図で見ることができるようですね。
このような立体図は、10~30分程度で簡単に作成することができます。
災害後の復旧計画にも、立体図を参考にすることができそうです。基盤地図情報の10mメッシュでも十分使えそうですね。