このレッスンでは、QGISでの完全なGIS解析を通して案内します。
ノート
LinfinitiとS Motala(ケープ半島工科大学)が開発したレッスン
あなたはケープ半島とその周辺で、珍しいフィンボスの植物種に適した生息地である領域を見つける任務を課されています。ケープ半島内での調査地域の範囲は次のとおりです。Melkbosstrandの南、ストランドの西。問題の植物種は以下の嗜好を示すことを植物学者が示してくれています:
東向き斜面に生息します。
15%と60%の間の勾配の斜面に生息します。
年間総降水量1200ミリメートル超の領域に生息します。
どの集落からも少なくとも250メートル離れたところで発見されます。
それが発生した植生の面積は、面積が少なくとも6000平方メートルである必要があります。
ケープ自然保護ボランティアとして、あなたは自宅に最も近い適当な土地の一画でその植物を探すことに合意しました。GISのスキルを使用してどこを見に行くべきか決定しましょう。
この問題を解決するために、 https://www.dropbox.com/s/q5evvkizuunrcs0/more_analysis.zip?dl=0 からデータをダウンロードして exercise_data/more_analysis フォルダの下に置く必要があるでしょう。自宅に最も近い候補地域を見つけるために使用します。ケープタウン(この問題の基になる)に住んでいない場合は、ケープタウンの地域のどの家でも選択できます。解決策に含まれるのは:
DEMを分析し、東向き斜面および該当する勾配を有する斜面を見つける。
降雨ラスターを分析し、該当する降雨量の領域を見つける。
ゾーニングベクターレイヤーを分析し、集落から離れていて該当するサイズである領域を見つける。
画面の一番右下にある「CRSステータス」ボタンをクリックします。表示される画面の CRS タブの下に ワールド座標参照系 ボックスが表示されるでしょう。
このボックスで、 投影座標系 ‣ ユニバーサル横メルカトル(UTM) に移動します。
プロジェクトに名前を付けて保存 ツールバーボタンをクリックして地図を保存するか、 ファイル ‣ プロジェクトに名前を付けて保存... メニュー項目を使用します。
データを処理するために、地図キャンバスに必要なレイヤー(通りの名前、ゾーン、降雨、DEM)をロードする必要があります。
開く をクリックします。
The dialog closes and shows the original dialog, with the file path specified in the text field next to the Browse button. This allows you to ensure that the correct file is selected. It is also possible to enter the file path in this field manually, should you wish to do so.
該当するファイルに移動し、それを選択し、 開く をクリックしてください。
地図を保存します。
何が起こっているのかを適切に確認するために、レイヤーのためのシンボルを変更する必要があります。
表示されているメニューで プロパティ を選択します。
街路 レイヤーの現在の色を示す四角が付いた 変更 とラベルのついたボタンをクリックしてください。
表示されるダイアログで新しい色を選択します。
OK をクリックします。
レイヤープロパティ ダイアログの OK をもう一度クリックします。これは 街路 レイヤーの色を変更します。
Zoning レイヤーについて同様のプロセスに従って、そのための適切な色を選択してください。
ラスターレイヤーシンボル体系はいくらか違います。
Rainfall ラスターの プロパティ ダイアログを開きます。
標準偏差を使用する が選択されていることを確認します。
コントラスト強調 見出しの下に、 Current ドロップダウンリストの値を 最大最小に引き延ばす に変更します。
OK をクリックします。「降水量」ラスターは、見える場合は、画素毎に異なる輝度値が見えるように、色を変更しなければなりません。
これですべてのデータがロードされ正常に表示されますので、分析を開始できます。クリップ操作が最初に行われるならば、最高です。使用するつもりのない領域の値を計算することに処理能力を無駄使いしないようにするためです。
表示されるメニューで、 クエリ... メニュー項目を選択します。 クエリビルダー ダイアログが表示されます。
今、地区の次のリストだけを選択するためのクエリを作成します:
フィールド リスト中で NAME_2 フィールドをダブルクリックします。以下の SQLのwhere句 のテキストフィールドに表示されます。
(現在空) 値 リストの下の すべて ボタンをクリックします。短い遅延の後、これは選択したフィールドの値(NAME_2 )を持つ 値 リストを投入します。
値 リストの中で Bellville をダブルクリックします。前述のように、これはSQLクエリに追加されます。
In order to select more than one district, you’ll need to use the OR boolean operator.
OR ボタンをクリックすると、それがSQLクエリに追加されます。
上記と同様のプロセスを使用して、既存のSQLクエリに次の行を追加します。
"NAME_2" = 'Cape'
Add another OR operator, then work your way through the list of districts above in a similar fashion.
最終的なクエリはこうであるべきです
"NAME_2" = 'Bellville' OR "NAME_2" = 'Cape' OR "NAME_2" = 'Goodwood' OR
"NAME_2" = 'Kuils River' OR "NAME_2" = 'Mitchells Plain' OR "NAME_2" =
'Simons Town' OR "NAME_2" = 'Wynberg'
OK をクリックします。地図に表示される地区は現在、上記のリストのものに限定されています。
今、興味の領域を持っている、このエリアへのラスターをクリップできます。
見えるレイヤーは DEM 、Rainfall 、Districts レイヤーだけであることを確認してください。
Districts は見えるように最上になければなりません。
ラスター ‣ 抽出 ‣ Clipper メニュー項目を選択することにより、クリッピングダイアログを開きます。
入力ファイル(ラスター)レイヤー ドロップダウンリストで DEM レイヤーを選択します。
選択... ボタンをクリックして、 出力ファイル テキストフィールドに出力先を指定します。
ファイル名を入力します。
ファイルを保存します。データ値なし チェックボックスはチェックなしのままにしておきます。
正しいラジオボタンが選択されていることを確保することによって 範囲 クリップモードを使用してください。
地区を含む領域が選択されるように、キャンバス内のエリアをクリックしてドラッグ。
OK をクリックします。
クリップ操作が完了した後、クリップ ダイアログを閉じないでください。(そうすると、すでに定義されているクリップ領域を失う原因となります。)
入力ファイル(ラスター) ドロップダウンリストで Rainfall ラスターを選択し、別の出力ファイル名を選択します。
第二のクリップ操作が完了したら、クリップ ダイアログを閉じることができます。
地図を保存します。
これらのレイヤー上で右クリックし、 削除 を選択します。
これは、記憶装置からデータを削除しません。地図から外すだけです。
街路 レイヤーのラベルを無効にします。
ラベル付け ボタンをクリックします。
このレイヤーにラベル付け ボックスのチェックをオフにします。
OK をクリックします。
再度 街路 をすべて表示します。
クエリ を選択します。
表示された クエリ ダイアログで、 クリア ボタンをクリックし、 OK をクリックします。
データがロードされるまで待ちます。すべての街は今、表示されます。
地図を保存します。
In order to create the hillshade, you will need to use a plugin that was written for this purpose.
This plugin is included by default in QGIS 1.8. However, it may not be immediately visible. To check if it is accessible on your system:
OK をクリックします。
You will now have access to this plugin via the Raster ‣ Terrain analysis menu item.
Remember that plugins may sometimes depend on certain Python modules being installed on your system. Should a plugin refuse to work while complaining of missing dependencies, please ask your tutor or lecturer for assistance.
出力レイヤーのための適切な場所を指定し、それを hillshade と呼びます。
OK をクリックします。
処理が完了するのを待ちます。
新しい hillshade レイヤーが レイヤーリスト に現れています。
レイヤーリスト 中で hillshade レイヤーを右クリックし、プロパティ ダイアログを呼び出します。
透明な陰影起伏がクリップされたDEM上に重ね合わされたときに効果に注意されたいです。
ラスター ‣ 地形分析 メニュー項目をクリックします。
クリップされたDEMを入力レイヤーとして 傾斜 分析タイプを選択します。
出力の目的のために適切なファイル名と場所を指定します。
OK をクリックします。
勾配画像が計算され、地図に追加されました。しかし、いつものように単なる灰色の四角形です。何が起こっているかを適切に確認するには、次のようにシンボルを変更します。
(いつものようにレイヤーの右クリックメニューを経由して) レイヤー Properties ダイアログを開きます。
( カラーマップ ドロップダウンメニューで) グレースケール となっているところを 疑似カラー に変更します。
標準偏差を使用 ラジオボタンが選択されていることを確認します。
メニュー項目 ラスター ‣ ラスター計算機 をクリックしてください。
In the Raster bands list on the left, you will see all the raster layers in your Layers list. If your Slope layer is called slope, it will be listed as slope@1.
The slope needs to be between 15 and 60 degrees. Everything less than 15 or greater than 60 must therefore be excluded.
インターフェイスのリスト項目とボタンを使用して以下の式を作成します:
((slope@1 < 15) OR (slope@1 > 60)) = 0
適切な場所とファイル名で 出力レイヤー フィールドを設定してください。
OK をクリックします。
Now find the correct aspect (east-facing: between 45 and 135 degrees) using the same approach.
次の式を組み立てます:
((aspect@1 < 45) OR (aspect@1 > 135)) = 0
Find the correct rainfall (greater than 1200mm) the same way. Build the following expression:
(rainfall@1 < 1200) = 0
Having reclassified all the rasters, you will now see them displayed as gray rectangles in your map (assuming that they have been added to the map correctly). To properly display raster data with only two classes (1 and 0, meaning true or false), you will need to change their symbology.
バンドから最小/最大値ロード 見出しの下の 実際(遅い) ラジオボタンを選択します。
読み込み ボタンをクリックします:
The Custom min / max values fields should now populate with 0 and 1, respectively. (If they do not, then there was a mistake with your reclassification of the data, and you will need to go over that part again.)
コントラスト強調 見出しの下で Current ドロップダウンリストを MinMaxへ引き延ばしする に設定します。
OK をクリックします。
3つのすべてのためにこれを行うには、ラスターを再分類し、作業を保存することを忘れないでください!
The only criterion that remains is that the area must be 250m away from urban areas. We will satisfy this requirement by ensuring that the areas we compute are 250m or more from the edge of a rural area. Hence, we need to find all rural areas first.
Hide all layers in the Layers list.
Zoning を再表示します。
その上で右クリックして クエリ ダイアログを起動します。
次のクエリをビルドします:
"Gen_Zoning" = 'Rural'
行き詰まったら Streets クエリを構築するための以前の説明書を参照してください。
それを実行したら クエリ ダイアログを閉じます。
Zoning レイヤーからポリゴンのコレクションが表示されるはずです。新しいレイヤーファイルにこれらを保存する必要があります。
Zoning の右クリックメニューで 名前を付けて保存... を選択します。
Zoning ディレクトリの下にレイヤーを保存します。
OK をクリックします。
レイヤーを地図に追加します。
ベクター ‣ ジオプロセッシングツール ‣ ディゾルブ をクリックします。
選択地物のみ使用 ボックスのチェックはないままで、入力ベクターレイヤーとして rural レイヤーを選択します。
Zoning ディレクトリの下にレイヤーを保存します。
ディゾルブ ダイアログを閉じます。
rural と Zoning レイヤーを外します。
地図を保存します。
Now you need to exclude the areas that are within 250m from the edge of the rural areas. Do this by creating a negative buffer, as explained below.
メニュー項目 ベクター ‣ バッファ ‣ ジオプロセッシングツール をクリックしてください。
表示されるダイアログで、入力ベクターレイヤーとして rural_dissolve レイヤーを選択します( 選択された地物のみ使用 はチェックすべきではありません)。
バッファ結果をディゾルブする ボックスにチェックします。
他の農村のベクターファイルと同じディレクトリに出力ファイルを設定します。
保存 をクリックします。
OK をクリックして処理が完了するのを待ちます。
現れたダイアログで はい を選択します。
バッファ ダイアログを閉じます。
rural_dissolve レイヤーを削除します。
地図を保存します。
3つの既存のラスターと同じ分析に農村地帯を組み込むためには、それは同様にラスター化する必要があります。しかし、ラスターは、分析のために互換性があるようにするために、同じサイズにする必要があります。そのため、ラスター化する前に次の3つのラスターと同じエリアにベクターをクリップする必要があります。ベクターは別のベクターによってクリップできるのみなので、最初にラスターと同じサイズのバウンディングボックスポリゴンを作成する必要があります。
メニュー項目 レイヤー ‣ 新規 ‣ 新規シェープファイルレイヤー... をクリックします。
タイプ 見出しの下で ポリゴン ボタンを選択します。
OKをクリックします。
新しいベクターレイヤー ダイアログでも OK をクリックします。
Zoning ディレクトリにベクターを保存します。
新しい bbox レイヤーと再分類ラスターのレイヤーを除くすべてのレイヤーを非表示にします。
表示>ツールバー メニュー項目に移動し、 デジタル化 が選択されていることを確認します。その後、その上に鉛筆やコーキーと、ツールバーのアイコンが表示されるはずです。 編集を切り替え ボタンです。
編集を切り替え ボタンをクリックして 編集モード に入ってください。これにより、ベクターレイヤーが編集できるようになります。
地物を追加 ボタンをクリックします、編集を切り替え ボタンの近くにあるはずです。これは、二重の矢印ボタンの後ろに隠れてすることができます。 デジタイズ ツールバーの非表示のボタンもしそうなら、表示するために二重矢印をクリックしてください。
地物を追加 ツールをアクティブにして、ラスターの角を左クリックしてください。それが正確であることを保証するために、マウスのホイールでズームインする必要があるかもしれません。このモードでは、地図をパンするには、マウスの中央ボタンかマウスホイールをクリックしたまま地図内でドラッグします。
第四及び最終点に関しては、形状を確定するために右クリックします。
シェープIDの任意の番号を入力します。
OK をクリックします。
編集を保存 ボタンをクリックします。
編集を切り替え ボタンをクリックして、編集セッションを停止してください。
地図を保存します。
これでバウンディングボックスができましたので、農村地域のバッファレイヤーをクリップするためにそれを使用できます。
bbox と rural_buffer レイヤーだけが、後者を上にして、表示されていることを確認してください。
ベクター>ジオプロセッシングツール>クリップ メニュー項目をクリックしてください。
表示されたダイアログで、入力ベクターレイヤーを rural_buffer に、クリップレイヤーを bbox に、両方とも 選択地物のみ使用 ボックスをチェックしないで、設定します。
Zoning ディレクトリの下に、出力ファイルを置きます。
OK をクリックします。
TOCにレイヤーを追加するように求められたら、 はい をクリックしてください。
ダイアログを閉じます。
3つのベクターを比較し、自分のために結果を参照してください。
bbox と rural_buffer レイヤーを削除し、地図を保存します。
これでラスター化する準備ができました。
作成した新しいラスターのピクセルサイズを指定する必要がありますので、まず既存のラスターの1つの大きさを知っておく必要があります。
3つの既存のラスターのいずれかの プロパティ ダイアログを開きます。
メタデータ タブに切り替えます。
プロパティ ダイアログを閉じます。
ラスター ‣ 変換 ‣ ラスター化 メニュー項目 をクリックしてください。データセットがサポートされていないことについて警告を受けることがあります。それをクリックして消し、無視します。
入力レイヤーとして rural_clipped を選択します。
Zoning ディレクトリ内の出力ファイルの場所を設定します。
キャンバスにロードします ボタンをチェックします。
OK をクリックします。
それが計算された後、新たなラスターが地図に表示されるはずです。
新しいラスターはグレーの長方形のようになります - 再分類ラスターのために行ったように、表示スタイルを変更できます。
地図を保存します。
Now that you have all four criteria each in a separate raster, you need to combine them to see which areas satisfy all the criteria. To do so, the rasters will be multiplied with each other. When this happens, all overlapping pixels with a value of 1 will retain the value of 1, but if a pixel has the value of 0 in any of the four rasters, then it will be 0 in the result. In this way, the result will contain only the overlapping areas.
ラスター ‣ ラスター計算機... メニュー項目をクリックします。
(それらを呼ばれるものに応じて、そのレイヤーのための適切な名前で)次の式を構築します。
[Rural raster] * [Reclassified aspect] * [Reclassified slope] *
[Reclassified rainfall]
Set the output location to the Rasterprac directory.
Name the output raster cross_product.tif.
Ensure that the Add result to project box is checked.
OKをクリックします。
他の再分類ラスターのスタイルを設定するのと同じ方法で、新しいラスターのシンボルを変更します。新しいラスターが正しく、すべての基準が満たされている領域を表示します。
To get the final result, you need to select the areas that are greater than 6000m^2. However, computing these areas accurately is only possible for a vector layer, so you will need to vectorize the raster.
メニュー項目 ラスター ‣ 変換 ‣ ポリゴン化 をクリックしてください。
OKをクリックします。
処理が完了したらダイアログを閉じます。
All areas of the raster have been vectorized, so you need to select only the areas that have a value of 1.
新しいベクターのため クエリ ダイアログを開きます。
クエリのビルド:
"DN" = 1
OK をクリックします。
Create a new vector file from the results by saving the candidate_areas vector after the query is complete (and only the areas with a value of 1 are visible). Use the Save as... function in the layer’s right-click menu for this.
Save the file in the Rasterprac directory.
候補領域のみ.shp と名前を付けます。
地図を保存します。
新規ベクターレイヤーの右クリックメニューを表示します。
属性テーブルを開く を選択します。
テーブルの下に沿った 編集モード切り替え ボタンをクリックするか、Ctrlキー+E を押します。
テーブル底部に沿った フィールド計算機を開く ボタンをクリックするか、Ctrlキー+I を押します。
Under the New field heading in the dialog that appears, enter the field name area. The output field type should be an integer, and the field width should be 10.
フィールド演算式 に、タイプします:
$area
計算された値で、このフィールドの計算は、ベクターレイヤーの各ポリゴンの面積を計算し、次いで( 面積 と呼ばれる)新しい整数列を投入することを意味します。
OK をクリックします。
id と呼ばれる別の新しいフィールドに同じことを行います。フィールド演算式 中にキーボード入力します:
$id
これは、各ポリゴンは識別目的のためのユニークなIDを持っていることを保証します。
再び 編集モード切り替え をクリックし、編集内容を保存するようプロンプトが表示されたら、そうします。
今この面積が知られています:
Build a query (as usual) to select only the polygons larger than 6000m^2. The query is:
"area" > 6000
Save the selection as a new vector layer called solution.shp.
今はもう解領域が出ているので、家に最も近いものを選択します。
以前のように新しいベクターレイヤーを作成しますが、今回は type 値が Point となるよう選択します。
それが正しいCRSであることを確認します!
新規レイヤー作成を終了します。
(新規レイヤーが選択された状態で)編集モードにします。
街路をガイドとして使用しながら、家または居住の他の現在の場所がある点をクリックします。家を見つけるのを助けるために他のレイヤーを開く必要があります。近くのどこにも住んでいない場合は、単に家が考えられるかもしれない街の中のどこかをクリックします。
シェープIDの任意の番号を入力します。
OK をクリックします。
編集内容を保存し、編集モードを終了します。
地図を保存します。
どれが家に最も近いかを決定するため、ソリューションエリアのポリゴンの重心(「質量中心」)を見つける必要があります。
入力レイヤーを solution.shp と指定します。
新しいレイヤーを、見えるようレイヤーの順序の一番上にドラッグします。
メニュー項目 ベクター ‣ 分析ツール ‣ 距離行列 をクリックします。
出力マトリクス型は linear になるはずです。
適切な出力場所と名前を設定します。
OK をクリックします。
テキストエディタでファイルを開きます(またはスプレッドシートにインポート)。最短 距離 に関連付けられたターゲットIDに注意してください。同距離に複数あることもあります。
これは、研究の質問への最終的な答えです。
提出のために、お好みの魅力的なラスター (例えば DEM とか 傾斜 ラスター、など)の上に半透明の陰影起伏のレイヤーを、また、最も近いソリューション領域(複数可)のポリゴンだけでなく、家を含めます。 出力図を作成する際は地図作成のためのすべてのベストプラクティスに従ってください。