14.3. Lesson: 林分をデジタイズする
ジオリファレンスされた地図を単純な背景画像として使うのでなければ、次の自然なステップは、そこから要素をデジタイズすることです。それは Lesson: 新しいベクタデータセットを作成する で学校の運動場をデジタイズしてベクタデータを作成する演習ですでにやっています。このレッスンでは、航空写真の代わりにジオリファレンスされた地図を使い、地図に緑色の線で表示されている林分境界線をデジタイズします。
このレッスンの目標: デジタイズ作業を支援するための技法を学び、林分をデジタイズし、最後にそれらに目録データを追加します。
14.3.1. Follow Along: 林分境界を抽出する
前のレッスンで保存した、 map_digitizing.qgs プロジェクトを QGISで開きます。
地図をスキャンし、ジオリファレンスすれば、その画像をガイドとして見ながら直接デジタイズすることができます。デジタイズに使おうとしている画像が、例えば航空写真の場合には、それが最も適した方法でしょう。
ここでの場合のように、デジタイズに使用しているものが良い地図であれば、情報は要素の種類ごとに異なる色の線として明確に表示されているでしょう。これらの色は、 GIMP のような画像処理ソフトウェアを使用すれば、個別の画像として比較的簡単に抽出できます。このような個別の画像はデジタル化の支援に使用できます。それはこの後見ていきます。
最初のステップは、GIMPを使って林分だけ、つまりオリジナルのスキャン地図に見ることができる緑がかったすべての線、を含んだ画像を得ることです:
GIMPを開きます(まだインストールされていない場合は、インターネットからダウンロードするか、先生に頼んでください)。
exercise_data/forestry フォルダにある、オリジナルの地図画像 rautjarvi_map.tif を開きます
。 林分は緑色の線として(各ポリゴン内には緑で林分の数と一緒に)表されていることに注意してください。
これで林分の境界(緑がかったピクセル)を構成している画像内のピクセルを選択できます:
ツール
を開きます。アクティブツールで、林分の線が線を構成する画素を区別するのに十分なくらい近くなるように、画像にズームインします( Ctrlキー+マウスホイール )。下の左の画像を参照してください。
線の中央でマウスカーソルをクリックアンドドラッグし、ツールが、いくつかのピクセルの色の値を収集するようにします。
マウスクリックを解除し、数秒待って。ツールによって収集された色と一致する画素が画像全体を通して選択されます。
画像全体で緑がかったピクセルが選択されていることを確認するために縮小します。
結果に満足できない場合は、クリックアンドドラッグ操作を繰り返します。
ピクセルの選択は、下の右の画像のようになるはずです。
選択を完了したら、新しいレイヤとしてこの選択をコピーして別の画像ファイルとして保存する必要があります。
選択された画素をコピー( Ctrl+C )します。
そして、ピクセルを直接貼り付けます( Ctr+V )、GIMPには貼り付けられたピクセルが新しい一時的な レイヤとして、 レイヤ-ブラシ パネル中の 浮動選択(貼り付け レイヤ) として表示されます。
その一時レイヤを右クリックして 新しいレイヤへ を選択します。
レイヤを貼り付け のみが表示されるよう、元の画像レイヤの隣の「目」のアイコンをクリックしてそれを非表示にしてください。
最後に、 ファイルの種類を選択(拡張子で) を TIFF画像 として設定し、 digitizing フォルダを選択してそれに rautjarvi_map_green.tif と名前を付けます。尋ねられたとき非圧縮を選択します。
を選択し、
画像内の他の要素で同様の処理を行うことができます。例えば、道路を表す黒い線や地形等高線を表す茶色の線を抽出できるでしょう。しかし私たちにとっては林分で十分です。
14.3.2. Try Yourself 緑色画素の画像をジオリファレンス
前のレッスンで行ったように、この新しい画像は、データの残りの部分とともに使用できるようにするためにジオリファレンスする必要があります。
この画像はジオリファレンサツールに関する限りは基本的に元の地図画像と同じ画像なので、これ以上地上基準点をデジタル化する必要はないことに注意してください。ここでは、忘れてはならないいくつかのものがあります:
この画像も、もちろん、KKJ / Finland zone 2 CRSです。
保存した地上基準点を使用する必要があります、
。変換設定 を確認することを忘れないでください。
出力ラスタに digitizing フォルダ中で rautjarvi_green_georef.tif と名前を付けます。
新しいラスタが元の地図ときちんと合っていることを確認してください。
14.3.3. Follow Along: デジタイズを支援するポイントを作成する
QGISでのデジタイズツールが念頭にあると、デジタイズ中にこれらの緑のピクセルにスナップできたら便利だろうとすでにお考えかもしれません。それはまさに次にしようとしていること、つまり、QGISで利用可能なスナップツールを使ってこれらのピクセルからポイントを作成し、後で林分の境界線に沿ってデジタイズするために使います。
Lesson: ラスタからベクタへの変換 で確認できます。
ツールを使用して、緑の線をポリゴンに ベクタ化してください。やり方を覚えていない場合は、digitizing フォルダ内に rautjarvi_green_polygon.shp という名前で保存します。
拡大してポリゴンがどのように見えるかを見てください。何かこのようになっているでしょう:
これらのポリゴンからポイントを得る次のオプションは、その重心を得ることです:
を開きます。
ツールの入力ファイルとしてたった今得たポリゴンレイヤを設定します。
digitizing フォルダ内部で 出力 に green_centroids.shp と名前を付けます。
をチェックします。
ポリゴンの重心を計算するためのツールを実行します。
今、TOCから rautjarvi_green_polygon レイヤを削除できます。
重心レイヤのシンボルを次のように変更します:
green_centroids の レイヤのプロパティ を開きます。
シンボロジ タブに移動します。
単位 を地図単位に設定してください。
大きさ を1に設定してください。
ポイント1つ1つを区別する必要はありません。それらはスナップツールが使用するためそこにある必要があるだけです。これらのポイントを使用することで、それらがない場合よりもずっと簡単に元の線をたどれるようになりました。
14.3.4. Follow Along: 林分をデジタイズする
これで実際のデジタイズ作業を開始する準備が整いました。 ポリゴンタイプ のベクタファイルの作成から始めますが、この演習では、関心域の一部をデジタイズしたシェープファイルがあります。主要道路(幅の広いピンクの線)と湖の間に残っている林分の半分のデジタイズを完了するだけです:
ファイルマネージャのブラウザを使用して digitizing フォルダに移動します。
地図に forest_stands.shp ベクタファイルをドラッグ&ドロップします。
どのポリゴンがすでにデジタイズされているかが容易に見えるように、新しいレイヤのシンボロジを変更します:
ポリゴンの塗りを緑に。
ポリゴン境界を1mmに。
そして透明度を50%に設定します。
過去のモジュールを覚えていれば今、私たちは、セットアップおよびスナップオプションを有効にする必要があります:
に移動します。
green_centroids レイヤと forest_stands レイヤのスナップを有効にします。
それらのレイヤの 許容誤差 を5地図単位に設定してください。
forest_stands レイヤの 重なりを避ける ボックスを チェックします。
トポロジ編集を有効 をチェックします。
適用 をクリックします。
これらのスナップ設定では、デジタイズ中にcentroidsレイヤ中のポイントの一つまたはデジタイズされるポリゴンのどこかの頂点に十分近づくといつでも、ピンクの十字がスナップされる点に表示されます。
最後に、forest_stands と rautjarvi_georef を除くすべてのレイヤの可視性をオフにします。地図画像がこれ以上の透明されていないことを確認してください。
デジタイズを開始する前に注意すべきいくつかの重要な事:
境界のデジタイズではあまりに正確にしようとしないでください。
境界が直線である場合は、2つのノードだけでデジタイズしてください。一般的に、できるだけ少ないノードを使用してデジタイズしてください。
正確であることが必要と感じた場合のみ拡大して範囲を閉じてください。例えばいくつかの角や、ポリゴンを特定のノードで他のポリゴンと接続したいときです。
デジタイズしながら、マウスの中ボタンを使用して拡大/縮小および地図を移動してください。
一度に1つのポリゴンをデジタイズしてください。
1つのポリゴンをデジタイズした後、地図から読める林分IDを書き込みます。
これでデジタイズを開始できます:
地図ウィンドウで林分番号357の位置を確認します。
forest_stands.shp レイヤの編集を有効にします。
地物を追加 ツールを選択します。
ドットのいくつかを繋げることにより、林分 357 のデジタイズを始めます。
スナップを示すピンク十字に留意してください。
完了したら、右クリックしてそのポリゴンのデジタイズを終了します。
林分 id を入力します(この場合は357)。
OK をクリックします。
デジタイズし終えてもポリゴン id の入力を求められなかった場合は、 地物作成後に属性フォームをポップアップさせない がチェックされていないことを確認してください。
に行き、デジタイズされたポリゴンは次のようになります:
次に2番目のポリゴンとして、林分番号358を拾います。 forest_stands レイヤ 交差を回避 がチェックされていることを確認してください。このオプションではデジタイズにおいてポリゴンが交差することを許容しません。既存のポリゴンを超えてデジタイズした場合、新しいポリゴンは既存のポリゴンの境界に合うようにトリミングされます。この特性を使用すれば共通の境界が自動的に得られます。
林分357と共通する角の一つで林分358のデジタイズを始めてください。
それから両方の林分に共通する別の角に到達するまで、通常通りに継続します。
最後に、共通の境界が交差されていないことを確認しながらポリゴン357内のいくつかのポイントをデジタイズします。下の左の画像を参照してください。
右クリックして林分358の編集を終了します。
id を358と入力します。
OK をクリックすると、右の画像に示すように、新しいポリゴンに林分357との共通の境界線が表示されます。
既存のポリゴンと重なるポリゴンの部分は自動的にトリミングされていて、意図したとおりに、共通の境界が残されています。
14.3.5. Try Yourself 林分のデジタイズを完了する
これで、2つの林分ができました。そして、続行する方法について良いアイデア。主要道路と湖によって制限されているすべての林分がデジタイズされるまで、自分でデジタイズを続けてください。
それは大変な作業のように見えるかもしれませんが、すぐに林分をデジタイズするのに慣れるでしょう。それは約15分かかります。
デジタイズ中に、ポリゴンを編集したり削除したノードを、分割またはマージする必要がある場合があります。 Lesson: 地物のトポロジ で必要なツールについて学びましたが、今がそれらを読み直す良い機会でしょう。
トポロジの編集を有効 がアクティブな場合、2つのポリゴンに共通のノードを移動すると、その共通の境界は、両方のポリゴンが同時に編集されるようになることを思い出してください。
結果は次のようになります:
14.3.6. Follow Along: 林分データを結合する
地図のために持っている森林目録データは、紙に書かれている可能性があります。その場合は、最初にテキストファイルやスプレッドシートにそのデータを記述する必要があります。この演習では、1994年目録(地図と同じ目録)からの情報は、カンマ区切りテキスト(CSV)ファイルとして準備ができています。
テキストエディタで exercise_data\forestry ディレクトリ中の rautjarvi_1994.csv ファイルを開き、目録データファイルが 林分 の番号である ID と呼ばれる 属性 を持っていることに注意してください。これらの番号はポリゴンに入力した 林分 のIDと同じであり、 ベクタファイルにテキストファイルからのデータをリンクするために使用できます。同じフォルダにある rautjarvi_1994_legend.txt ファイルでこの目録データのメタデータを見ることができます。
ツールを使ってQGISでその .csv を開きます。ダイアログ で次のように設定します:
.csv ファイルからデータを追加するには:
forest_stands レイヤのレイヤプロパティを開きます。
結合 タブに移動します
ダイアログボックスの下部にあるプラス記号をクリックします。
結合するレイヤ として rautjarvi_1994.csv を 、 結合基準の属性 として ID を選択します。
ターゲット属性 も id に設定されていることを確認してください。
OK を2回クリックします。
テキストファイルからのデータは、これでベクタファイルにリンクされているはずです。起こったことを確認するには、 forest_stands レイヤの属性テーブル を開きます。目録データファイルからのすべての属性は、デジタイズした ベクタレイヤにリンクされていることがわかります。
14.3.7. Try Yourself 属性名を変更してエリアと境界を追加する
.csv ファイルからのデータは ベクタファイルにリンクされているだけです。データが実際に ベクタファイルに記録されるように、このリンクを恒久的なものにするには、新しい ベクタファイルとして forest_stands レイヤを保存する必要があります。 属性テーブル を閉じ、forest_stands レイヤを右クリックして forest_stands_1994.shp としてそれを保存します。
まだ追加していなかった場合は、新しい forest_stands_1994.shp を地図で開きます。そして、 属性 テーブル を開きます。追加した列の名前はぜんぜん有用でないことに気づきます。これを解決するには:
前に他のプラグインに行ったように テーブルマネージャ プラグインを追加します。
プラグインが有効になっていることを確認します。
TOCでレイヤ forest_stands_1994.shp を選択します。
次に、
に行きます。ダイアログボックスを使用し、 .csv ファイル中のものと一致するように列の名前を編集します。
保存 をクリックします。
はい を選択してレイヤスタイルを維持します。
テーブルマネージャ ダイアログを閉じます。
これらの 林分 に関する情報の収集を完了するには、 林分 の面積と周囲を計算することがあります。Lesson: 補足実習 ではポリゴンの領域を計算しました。必要な場合はそのレッスンに戻り 、林分 の領域を計算し、新しい 属性 に 面積 と名前を付け、計算値はヘクタールであることを確認してください。
これで利用可能なすべての情報が満載された forest_stands_1994.shp レイヤの準備ができました。
後で戻ってくる必要がある場合に備え、現在の地図の表示を維持するためにプロジェクトを保存します。
14.3.8. In Conclusion
これにはマウスを数回クリックする必要がありますが、これで古い登録データをQGISで使用できるデジタル形式で手にいれました。
14.3.9. What's Next?
まっさらな新しいデータセットで異なる分析することで開始できますが、より最新のデータセットの分析を行うことにより興味があるのではないでしょうか。次のレッスンのトピックは、現在の航空写真やデータセットにいくつかの関連情報の追加を使用した林分の作成になります。