7.3. Lesson: 地形解析

ある種のラスタからはそれが表す地形の洞察をより多く得ることができます。数値標高モデル(DEM)がこの点では特に有用です。このレッスンでは先ほどからの住宅開発案の調査地域についてより詳しく調べるのに地形解析ツールを使用します。

このレッスンの目標: 地形に関する詳細な情報を取得するために地形解析ツールを使用します。

7.3.1. basic Follow Along: 陰影図を計算する

前のレッスンで使用したのと同じDEMレイヤを使用することにします。この章をゼロから始める場合は、 ブラウザ パネルを使用して、 raster/SRTM/srtm_41_19.tif を読み込んでください。

DEMレイヤは、地形の標高を表示しますが、少し抽象的に見えることがあります。DEMレイヤは、必要な地形の3D情報をすべて含んでいますが、3Dオブジェクトのようには見えません。地形の印象を良くするために、陰影図 を計算することができます。これは、光と影を使って地形をマッピングするラスタで、3Dに見える画像を作成することができます。

ここでは、 ラスタ ► ラスタ地形解析 メニューにあるアルゴリズムを使用することにします。

  1. 陰影図 メニューをクリックします

  2. このアルゴリズムでは、光源の位置を指定することができます: 方位角(azimuth)`は0(北)から90(東)、180(南)、270(西)の値を持ち、 :guilabel:`太陽高 は光源の高さを0から90度までで指定します。

  3. 以下の値を使用することにします:

    • Z係数1.0

    • 方位角(水平角)300.0°

    • 太陽高40.0°

    ../../../_images/hillshade_explanation.png
  4. 新しいフォルダ exercise_data/raster_analysis/hillshade という名前でファイルを保存します

  5. 最後に 実行 をクリックします

hillshade と呼ばれる新しいレイヤが次のように表示されます:

../../../_images/hillshade_raster.png

きれいで3次元的に見えますが、これは改善できるでしょうか? 陰影図はそれだけでは石膏模型のように見えます。どうにかしてそれを他のよりカラフルなラスタと一緒に使用できないでしょうか? もちろんできます。オーバーレイとして陰影図を使用します。

7.3.2. basic Follow Along: 陰影図をオーバーレイとして使用する

陰影図は一日のある時点の日光について非常に有用な情報を提供することができますが審美的な目的で使うこともできます。それを使えば地図をよりよく見せることができます。陰影図をほとんど透過させる設定がその鍵となります。

  1. 元の srtm_41_19 レイヤのシンボルを、前の課題と同じように 疑似カラー スキームを使用するように変更します

  2. srtm_41_19hillshade レイヤ以外のすべてのレイヤを非表示にします

  3. レイヤ パネルで srtm_41_19 をクリックして、 hillshade レイヤの下にドラッグします

  4. レイヤプロパティで 透過性 タブをクリックして、 hillshade レイヤを透明に設定します

  5. 全体の不透明度50% に設定します。

    このような結果が得られます:

    ../../../_images/hillshade_pseudocolor.png
  6. レイヤ パネルで hillshade レイヤをオフにしたりオンにしたりして、その違いを見てみましょう。

このように陰影図を使用すると景観の地形を誇張することが可能です。その効果があなたにとって十分な強さだと思えない場合には、 hillshade レイヤの透明度を変更すればよいですが、もちろん、陰影起伏がより明るくなるほど、その背後の色は薄暗くなります。ちょうど良いバランスを見つける必要があります。

終了したら、プロジェクトを保存することを忘れないでください。

7.3.3. Follow Along: 最適な地域を見つける

前回、 ベクタ解析 のレッスンで取り上げた不動産業者の問題を思い出してください。ここでは、買い手が建物を購入し、その敷地に小さなコテージを建てたいと考えているとします。南半球では、理想的な開発用地には以下のようなエリアが必要であることが分かっています:

  • 北向きである

  • 傾斜が5度以下

  • 傾斜が2度以下であれば、傾斜方向は問題になりません。

最適なエリアを探しましょう。

7.3.4. moderate Follow Along: 傾斜の計算

傾斜 は、地形がどの程度急であるかを知らせます。例えば、そこの土地に家を建てたいのであれば、比較的平坦な土地が必要です。

傾斜を計算するには、 プロセシング ► ラスタ地形解析傾斜(slope) アルゴリズムを使用する必要があります。

  1. アルゴリズムを開きます

  2. Srtm_41_19DEMレイヤ として選択します

  3. Z係数1.0 に維持します

  4. 出力を slope という名前のファイルとして、 hillshade と同じフォルダに保存します

  5. 実行 をクリックします

各ピクセルが対応する傾斜の値を持つ、地形の傾斜が表示されます。黒いピクセルは平坦な地形、白いピクセルは急な地形を表しています:

../../../_images/slope_raster.png

7.3.5. moderate Try Yourself 傾斜方位を計算する

傾斜方位 は、地形の傾斜が向いている磁針方向です。傾斜方位が0だと北向き、90だと東向き、180だと南向き、270だと西向きの斜面であることを意味します。

この調査は南半球で行われているため、不動産物件は太陽光が残るように北向きの斜面に建てるのが理想的です。

プロセシング ► ラスタ地形解析傾斜方位(aspect) アルゴリズムを使用して、 aspect レイヤを slope と共に保存することができます。

7.3.6. moderate Follow Along: 北向きの傾斜方位を見つける

今、ラスタは傾斜方位だけでなく傾斜も表示していますが、どこが理想的な条件を一度に満たしているのか知るすべはありません。どうやって解析すればいいのでしょうか?

その答えは ラスター計算機 です。

QGISでは、さまざまなラスタ計算機が利用できます:

  • ラスタ ► ラスタ計算機

  • プロセシングの:

    • ラスタ解析 ► Raster calculator

    • GDAL ► ラスタその他 ► ラスタ計算機

    • SAGA ► Raster Calculus ► Raster Calculator

各ツールは同じ結果を導いていますが、構文が若干異なったり、演算子の有無が異なったりすることがあります。

ここでは、プロセシングツールボックスラスタ解析 ► Raster calculator を使います

  1. それをダブルクリックしてツールを開きます。

    • ダイアログの左上には、読み込んだすべてのラスタレイヤが name@N としてリストアップされます。name はレイヤの名前で N はバンドです。

    • 右上の部分には、さまざまな演算子が表示されています。ラスタが画像であると考えるのは少し待ってください。ラスタは数字で埋め尽くされた2次元の行列と考えるのが良いでしょう。

  2. 北は0(ゼロ)度なので、地形が北を向くためには、その傾斜方位が270度以上または90度以下である必要があります。したがって、式は次のようになります:

    aspect@1 <= 90 OR aspect@1 >= 270
    
  3. 次に、セルサイズ、範囲、CRSなどのラスタの詳細を設定する必要があります。これは手動で行うこともできますし、参照レイヤ を選択することで自動的に設定することもできます。この最後のオプションは、 Reference layer(s) パラメータの隣にある ... ボタンをクリックすることで選択できます。

  4. ダイアログでは、同じ解像度のレイヤを取得したいので、aspect レイヤを選択します。

  5. レイヤを aspect_north として保存します。

    ダイアログはこのようになります:

    ../../../_images/raster_calculator.png
  6. 最期に 実行 をクリックします。

結果はこのようになります:

../../../_images/aspect_result.png

出力値は 0 または 1 です。どういうことでしょうか?ラスターの各ピクセルに対して、書いた式は条件にマッチするかどうかを返します。したがって、最終的な結果は (0) と (1) になります。

7.3.7. moderate Try Yourself その他の条件

傾斜方位を行ったので、DEMから新規レイヤを2枚作成します。

  • 最初のものは傾斜が 2 度以下の地域を特定します

  • 2つ目も同様ですが、傾斜は 5 度以下であることが必要です。

  • それらを exercise_data/raster_analysis の下に slope_lte2.tifslope_lte5.tif という名前で保存してください。

7.3.8. moderate Follow Along: ラスタ解析結果を組み合わせる

これで、DEMから3つのラスタレイヤを生成できました:

  • aspect_north: 北向きの地形

  • slope_lte2: 2度以下の傾斜

  • slope_lte5: 5度以下の傾斜

この条件を満たす場合、画素値は 1 となります。それ以外の場所では 0 となります。したがって、これらのラスタを掛け合わせると、すべてのピクセルの値が 1 となります(残りは 0 となります)。

条件を満たすものは:

  • 傾斜が5度以下で、北向きの地形

  • 傾斜が2度以下で、地形の向きは考慮しない。

ですから、傾斜が5度以下、かつ北向きの地形、または 傾斜が2度以下の地形を探す必要があります。そのような地形は開発に適しているでしょう。

これらの抽出条件を満たすエリアを計算します:

  1. 再び Raster calculator を開きます

  2. この式を で使用します:

    ( aspect_north@1 = 1 AND slope_lte5@1 = 1 ) OR slope_lte2@1 = 1
    
  3. Reference layer(s) パラメータに aspect_north を設定します(他のレイヤを選択しても問題ありません - これらはすべて srtm_41_19 から計算されています)

  4. 出力結果を exercise_data/raster_analysis/ の下に all_conditions.tif という名前で保存します

  5. 実行 をクリックします

結果:

../../../_images/development_analysis_results.png

ヒント

これまでの手順は、次のコマンドを使用することで簡略化することができます:

((aspect@1 <= 90 OR  aspect@1 >= 270) AND slope@1 <= 5) OR slope@1 <= 2

7.3.9. moderate Follow Along: ラスタを簡素化する

上の画像からわかるように、複合的な解析によって、条件を満たす非常に小さな領域がたくさんできます(白い部分)。しかし、これらは小さすぎて何も構築できないため、解析にはあまり役に立ちません。このような小さくて使えない領域をすべて取り除いてしまいましょう。

  1. ふるい(sieve) ツールを開きます(GDAL ► ラスタ解析 in プロセシングツール

  2. 入力レイヤall_conditions を、 出力ファイルall_conditions_sieve.tifexercise_data/raster_analysis/ 以下)をセットします。

  3. 閾値 を 8(最小 8 連続ピクセル)に設定し、 8方向の連結関係をチェックする をチェックします。

    ../../../_images/raster_sieve_dialog.png

    処理が完了すると、新しいレイヤーが読み込まれます。

    ../../../_images/sieve_result_incorrect.png

    どうなっているのでしょうか?その答えは、新しいラスターファイルのメタデータにあります。

  4. レイヤプロパティ ダイアログの 情報 タブでメタデータを表示します。STATISTICS_MINIMUM の値を見てください:

    ../../../_images/sieve_metadata.png

    このラスタは、元となったラスタと同様に、値「1」と「0」のみを特徴とするはずですが、非常に大きな負の数も持っています。データを調査すると、この数値はヌル値として機能することがわかります。我々はフィルタリングされなかった部分のみを対象にしているので、このヌル値をゼロに設定しましょう。

  5. ラスタ計算機 を開き、次の式を組み立てます:

    (all_conditions_sieve@1 <= 0) = 0
    

    これは、すべての非負の値を維持し、負の数をゼロに設定し、値 1 を持つすべての領域をそのまま残します。

  6. 出力結果を exercise_data/raster_analysis/ の下に all_conditions_simple.tif という名前で保存してください。

出力はこのようになります:

../../../_images/raster_sieve_correct.png

これは期待されたもので、以前の結果を簡素化したものです。あなたが得た結果が期待したものでない場合は、メタデータ(および該当する場合はベクタの属性)を見ると問題を解決するための要点がわかることを覚えておいて下さい。

7.3.10. moderate Follow Along: ラスタの再分類

*ラスタ計算機*を使用して、ラスタレイヤの計算を行いました。もう一つ、既存のレイヤから情報を抽出するための強力なツールがあります。

話を aspect レイヤに戻します。このレイヤは0から360の範囲の数値を持っていることが分かっています。このレイヤを傾斜方位に応じて他の不連続な値(1〜4)に*再分類*したいのです:

  • 1 = 北(0から45及び315から360);

  • 2 = 東(45から135)

  • 3 = 南(135から225)

  • 4 = 西(225から315)

この操作はラスタ計算機でも可能ですが、計算式が非常に大きくなってしまいます。

代替ツールとしては、 プロセシングツールボックスラスタ解析 にある 区分表(テーブル)で再分類 ツールを使用します。

  1. ツールを開きます

  2. ラスタレイヤ として aspect を選びます

  3. 再分類の区分表(テーブル)... をクリックします。表のようなダイアログがポップアップ表示され、各区分の最小値、最大値、新しい値を選択することができます。

  4. 行を追加 ボタンをクリックし、行を5つ追加します。各行を下図のように記入し、 OK をクリックします:

    ../../../_images/reclassify_table.png

    各クラスの閾値を扱うためにアルゴリズムが用いる方法は、 分類区分の境界上の扱い によって定義されます。

  5. レイヤを reclassified.tif という名前で exercise_data/raster_analysis/ フォルダに保存します

    ../../../_images/reclassify_setup.png
  6. 実行 をクリックします

元の aspect レイヤと reclassified レイヤを比較すると、大きな差はありません。しかし、凡例を見ると、値が 1 から 4 になっていることが分かります。

このレイヤをより良いスタイルに仕上げていきましょう。

  1. レイヤスタイル パネルを開きます

  2. 単バンドグレー の代わりに、 カテゴリ値パレット を選びます

  3. 分類 ボタンをクリックして、自動的に値を取得し、ランダムな色を割り当てます:

    ../../../_images/unique_style.png

出力は以下のようになります(ランダムに生成されたため、異なる色を使用することも可能です):

../../../_images/reclassify_result.png

この再分類とレイヤに適用されたパレットスタイルにより、傾斜方位領域を即座に区別することができます。

7.3.11. basic Follow Along: ラスタを問い合わせる

ベクタレイヤとは異なり、ラスタレイヤは属性テーブルを持ちません。各ピクセルには1つまたは複数の数値が含まれます(シングルバンドまたはマルチバンドのラスタ)。

この演習で使用したすべてのラスタレイヤは、1つのバンドだけで構成されています。レイヤによって、ピクセルの値は標高、傾斜方位、傾斜の値を表すことがあります。

ラスタレイヤに問い合わせてピクセルの値を取得するにはどうすればよいのでしょうか? identify 地物情報表示 ボタンを使えばいいのです!

  1. 属性ツールバーからツールを選択します。

  2. srtm_41_19 レイヤの任意の場所をクリックします。 地物情報 が表示され、クリックした場所のバンドの値が表示されます:

    ../../../_images/identify_raster.png
  3. パネル下部にある ビュー メニューから テーブル を選択すると、 地物情報 パネルの出力を、現在の ツリー モードから テーブル に変更することができます:

    ../../../_images/identify_raster_table.png

ラスター値を取得するために各ピクセルをクリックすることは、しばらくすると煩わしくなるかもしれません。この問題を解決するために、Value Tool プラグインを使うことができます。

  1. プラグイン ► プラグインの管理とインストール... を選びます

  2. すべて タブで、検索ボックスに value t と入力します

  3. Value Tool プラグインを選択し、 インストール を押して、ダイアログを 閉じる します。

    ../../../_images/value_tool.png

    新しい Value Tool パネルが表示されます。

    Tip

    パネルを閉じた場合は、 ビュー ► パネル ► Value Tool で有効にするか、ツールバーのアイコンをクリックすることで再び開くことができます。

  4. プラグインを使用するには、 Enable チェックボックスをチェックし、 レイヤ パネルで srtm_41_19 レイヤがアクティブ(チェック済み)であることを確認します。

  5. カーソルを地図上に移動させると、ピクセルの値が表示されます。

    ../../../_images/value_tool_query.png
  6. しかし、それだけではありません。Value Toolプラグインを使用すると、 レイヤ パネルにあるアクティブなラスタレイヤを すべて クエリすることができます。aspectslope レイヤを再度アクティブにして、地図上にマウスを移動します:

    ../../../_images/value_tool_query_multi.png

7.3.12. In Conclusion

DEMから様々な種類の分析結果を取り出す方法を見てきました。陰影起伏や傾斜、傾斜方位の計算をしました。またこれらの結果をさらに解析し結合するためにラスタ計算機の使用方法を見てきました。最後に、レイヤを再分類する方法と結果をクエリする方法を学びました。

7.3.13. What's Next?

2つの分析結果が得られました:潜在的に適した小地所を示すベクター分析の結果と潜在的に適した地形を示すラスター分析の結果です。この問題の最終的な結果に到達するためにどのようにこれらを組み合わせるか?それが次のレッスンのトピックです。次のモジュールで始まります。