5.1. Lesson: 新しいベクタデータセットを作成する

使用するデータはどこかから持ってこなければなりません。最も一般的なアプリケーションでは、データがすでに存在しています。しかしプロジェクトがより特化し専門的になるほど、データが既に利用可能であるという可能性が低くなります。このような場合は、自身の新しいデータを作成する必要があります。

このレッスンの目標: 新しいベクタデータセットを作成します。

5.1.1. basic Follow Along: レイヤ作成ダイアログ

新しいベクタデータを追加するには、まずそれを追加するためのベクタデータセットが必要です。現在の場合は、既存のデータセットを編集するのではなく、完全に新しいデータを作成して始めましょう。それゆえ、まず自分自身の新しいデータセットを定義する必要があります。

  1. QGISを開き新しい無地のプロジェクトを作ります。

  2. メニューから レイヤ ► レイヤを作成 ► 新しいシェープファイルレイヤ を選択し、クリックします。新しいレイヤを定義するための 新規シェープファイルレイヤ ダイアログが表示されます。

    ../../../_images/create_vector_layer.png
  3. ファイル名 フィールドの ... をクリックします。保存ダイアログが現れます。

  4. exercise_data ディレクトリに移動します。

  5. 新しいレイヤを school_property.shp として保存します。

    この段階で欲しいデータセットの種類を決定することが重要です。それぞれの異なるベクタレイヤタイプは、バックグラウンドで「別々に構築」されているので、一度レイヤを作成したらそのタイプは変更できません。

    次の練習では、区域を表す新しい地物を作成します。このような地物には、ポリゴンデータセットを作成する必要があります。

  6. ジオメトリタイプ ではドロップダウンメニューから ポリゴン を選びます:

    ../../../_images/polygon_selected.png

    これは、ダイアログの残りの部分には影響しませんが、それは、ベクタデータセットが作成されたときにジオメトリの正しいタイプが使用されるようになります。

    次のフィールドでは、座標参照系、またはCRS、を指定します。CRS は数値座標と地球表面の位置とを関連付ける方法です。詳しくはユーザーズマニュアルの 投影法の利用方法 を参照してください。

    この例では、プロジェクトに関連付けられた既定のCRSであるWGS84を使います。

    ../../../_images/default_crs.png

    次に、 新規フィールド の下にグループ化されたフィールドのコレクションがあります。既定では、新しいレイヤは1つの属性、 id フィールド(下の フィールドリスト に表示されています)しか持ちません。しかし、作成したデータを有効に活用するためには、実際にこの新しいレイヤに作成する地物について、何か記述する必要があります。今のところ、 name というフィールドをひとつ追加して、テキスト長を 80 文字に制限された テキストデータ を格納することで十分でしょう。

  7. 以下の設定を再現し、フィールドリストに追加 ボタンをクリックします:

    ../../../_images/new_attribute.png
  8. ダイアログが次のようになることを確認します。

    ../../../_images/new_attribute_added.png
  9. OK をクリックします

新しいレイヤが レイヤ パネルに表示されるはずです。

5.1.2. basic Follow Along: データソース

新しいデータを作成するとき、それは明らかに地上に現実に存在するオブジェクトに関するものである必要があります。そのため、どこかから情報を取得する必要があります。

オブジェクトに関するデータを取得するにはさまざまな方法があります。たとえば、GPSを使用して現実の世界でのポイントをキャプチャし、それからQGISにデータをインポートできます。あるいは、セオドライトを使用してポイントを調査し、新しい地物を作成するために、手動で座標を入力できます。あるいは、デジタル化プロセスを使用して、衛星画像や航空写真などのリモートセンシングデータからオブジェクトをトレースできます。

この例では、デジタイズのアプローチを使用します。サンプルラスタデータセットが提供されているので、必要に応じてそれらをインポートする必要があります。

  1. dataSourceManager データソースマネージャ ボタンをクリックします。

  2. 左にある raster ラスタ を選びます。

  3. ソース パネルにある ... ボタンをクリックします:

  4. exercise_data/raster/ に移動します。

  5. ファイル 3420C_2010_327_RGB_LATLNG.tif を選びます。

  6. 開く をクリックしてダイアログウィンドウを閉じます。

    ../../../_images/add_raster.png
  7. 追加閉じる をクリックします。画像が地図に読み込まれます。

    ../../../_images/raster_added.png
  8. 航空写真が表示されない場合は、新規レイヤを選択して右クリックし、コンテキストメニューから レイヤの領域にズーム を選択してください。

    ../../../_images/zoom_to_raster.png
  9. zoomIn 拡大 ボタンをクリックし、下の青くハイライトされている部分にズームインします:

    ../../../_images/map_area_zoom.png

これでこの三つの運動場をデジタイズする準備ができました:

../../../_images/field_outlines1.png

デジタイズする前に、 school_property レイヤを空中写真の上に移しましょう。

  1. レイヤ ペーンにある school_property レイヤを選び、一番上にドラッグします。

../../../_images/move_school_layer.png

デジタイズを開始するためには、 編集モード に入る必要があります。GISソフトウェアでは一般的に、重要なデータを誤って編集したり削除することを防ぐために、これが必要とされます。編集モードは、レイヤごとに個別にオンまたはオフに切り替えられます。

school_property レイヤで編集モードに入るには:

  1. レイヤ パネルで school_property レイヤをクリックして選択します。

  2. toggleEditing 編集モード切替 ボタンをクリックします。

    このボタンを見つけることができない場合は、 デジタイズ ツールバーが有効になっているか確認してください。 ビュー ► ツールバー ► デジタイジング メニューエントリ の横にチェックマークがあるはずです。

    編集モードに入るとすぐに、いくつかのデジタイズツールが有効になっているのがわかります:

    • capturePolygon ポリゴン地物を追加

    • vertexToolActiveLayer 頂点ツール

    他の関連ボタンはまだ無効ですが、新しいデータに触れると有効になります。

    レイヤ パネルの school_property レイヤ に鉛筆のアイコンが表示され、編集モードになっていることを示していることに注意してください。

  3. capturePolygon ポリゴン地物を追加 ボタンをクリックし、学校の運動場のデジタイズを始めます。

    マウスカーソルが十字になったのがわかると思います。これにより、デジタイズする点をより正確に配置することができます。デジタイズツールを使っているときでも、マウスホイールを回して地図を拡大・縮小したり、マウスホイールを押したまま地図内をドラッグしてパンできることを覚えておいてください。

    デジタイズしている第1の地物は athletics field です:

    ../../../_images/school_area_one.png
  4. 運動場の縁のどこかの点でクリックすることでデジタイズを開始します。

  5. さらに縁に沿ってクリックして点を置いてゆき、描画している図形が運動場を完全に覆うようにします。

    ../../../_images/school_field_outline.png
  6. 最後の点を配置した後、右クリックしてポリゴンの描画を終了します。これで地物が確定し、 属性 ダイアログが表示されます。

  7. 値を以下のように埋めます:

    ../../../_images/school_area_one_attributes.png
  8. OK をクリックすると、新しい地物が完成しました!

    ../../../_images/new_feature.png
  9. レイヤ パネルで school_property レイヤを選択します。

  10. 右クリックしてコンテキストメニューから 属性テーブルを開く を選びます。

    ../../../_images/open_attribute_table.png

    表には、追加したばかりの地物が表示されます。編集モードでは、更新したいセルをダブルクリックすることで、属性データを更新することができます。

    ../../../_images/feature_table.png
  11. 属性テーブルを閉じます。

  12. 作成したばかりの新しい地物を保存するには、saveEdits 編集内容の保存 ボタンをクリックします。

地物をデジタイズしているときに間違えた場合、作成が終わった後で常にそれを編集できることを覚えておいてください。間違えた場合は、前述のように地物を作成し終わるまで、デジタイズを継続します。その後:

  1. vertexToolActiveLayer 頂点ツール ボタンをクリックします。

  2. 移動したい頂点の上にマウスを置き、左クリックします。

  3. 頂点の正しい位置にマウスを移動し、左クリックします。これにより、頂点が新しい位置に移動します。

    ../../../_images/select_vertex.png
    ../../../_images/moved_vertex.png

    線分の移動も同じ要領で行えますが、線分の中点にカーソルを合わせる必要があります。

    変更を取り消す場合は、 undo 元に戻す ボタンか Ctrl+Z を押します。

  4. saveEdits レイヤ編集内容を保存 ボタンをクリックして、変更内容を保存するのを忘れないようにしてください。

  5. 編集が終わったら、toggleEditing 編集モード切替 ボタンをクリックして、編集モードから出ます。

5.1.3. basic Try Yourself ポリゴンをデジタイズする

学校自体と上のフィールドをデジタイズします。デジタイズを支援するためにこの画像を使用します:

../../../_images/field_outlines1.png

それぞれの新しい地物は、一意な id 値を持つ必要があることを覚えておきましょう!

注釈

レイヤーに地物を追加し終わったら、編集内容を保存して、編集モードを終了することを忘れないでください。

注釈

以前のレッスンで学んだ技法を使って、school_property の塗りつぶし、輪郭、ラベルの配置や形式の体裁を整えることができます。

5.1.4. moderate Follow Along: 頂点編集テーブルを使う

地物を編集するもう一つの方法は、 頂点編集 テーブルを使って各頂点の実際の座標値を手動で入力することです。

  1. school_property レイヤの編集モードになっていることを確認してください。

  2. まだアクティブになっていない場合は、vertexToolActiveLayer 頂点ツール ボタンをクリックします。

  3. school_property レイヤに作成したポリゴン地物の上にマウスを移動し、右クリックをします。すると、その地物が選択され、 頂点エディタ ペインが表示されます。

    ../../../_images/vertex_editor_table.png

    注釈

    このテーブルは、その地物の頂点の座標を含んでいます。この地物には7つの頂点がありますが、地図上で確認できるのは6つだけであることに注意してください。よく見ると、0行目と6行目が同じ座標であることに気づくでしょう。これらは地物ジオメトリの始点と終点であり、閉じたポリゴン地物を作成するために必要です。

  4. 選択した地物のひとつまたは複数の頂点のうえでボックスをクリック&ドラッグします。

    ../../../_images/vertex_select.png

    選択された頂点の色が青に変わり、頂点の座標を含んでいる 頂点エディタ テーブルの対応する行がハイライトされます。

    ../../../_images/vertex_selected.png
  5. 座標を更新するには、編集したいテーブルのセルを左ダブルクリックし、更新した値を入力します。この例では、行 4 の x 座標が 20.4450 から 20.4444 に更新されます。

    ../../../_images/edit_vertex_in_vertex_editor.png
  6. 更新した値を入力したら、エンターキーを押して変更を適用します。マップウィンドウで頂点が新しい位置に移動するのが確認できます。

  7. 編集が終わったら、 toggleEditing 編集モード切替 ボタンをクリックして編集モードを解除し、編集内容を保存します。

5.1.5. basic Try Yourself 線をデジタイズする

ここでは、道路レイヤにまだ記されていない2つのルートをデジタル化します。一つは細道、もう一つは小道です。細道はレイルトン郊外の南端を走り、印を付けた道路を起点と終点としています:

../../../_images/path_start_end.png

小道はさらにもう少し南です:

../../../_images/track_start_end.png
  1. 道路 レイヤがまだマップにない場合は、ダウンロードした訓練データの exercise_data フォルダに含まれるGeoPackageファイル training-data.gpkg から roads レイヤを追加してください。やり方については Follow Along: GeoPackageデータベースからベクタデータを読み込む を参照してください。

  2. exercise_data ディレクトリに routes.shp という ESRI シェイプファイルのラインデータセットを新規に作成し、 idtype という属性を設定します(上記の方法を参考にしてください)

  3. routes レイヤで編集モードを有効にします。

  4. ライン機能を使用しているので、captureLine 線の地物を追加 ボタンをクリックし、ラインデジタイズモードを開始します。

  5. 一度に1つずつ、 routes レイヤにある細道と小道をデジタイズします。できるだけ正確にルートをたどるようにし、角やカーブに沿って点を追加します。

  6. type 属性の値を path または track に設定します。

  7. レイヤプロパティ ダイアログを使って、ルートにスタイルを追加します。細道と小道で異なるスタイルを自由に使ってください。

  8. 編集内容を保存し、toggleEditing 編集モードを切り替え ボタンを押して、編集モードをオフにします。

5.1.6. In Conclusion

これで地物を作成する方法がわかりましたね!このコースではポイント地物の追加についてカバーしていませんが、より複雑な地物(ラインとポリゴン)で作業してきましたから実際に必要ありません。ポイントを置きたいところを1回クリックし、いつものように属性を与え、その後地物が作成されること以外、まったく同じ動作です。

デジタイズはGISプログラムでは非常に一般的な活動ですので、方法を知ることは重要です。

5.1.7. What's Next?

GISレイヤーの地物は、単なる画像ではなく、空間内のオブジェクトです。例えば、隣接するポリゴンは、互いの位置関係を知っています。これは、 トポロジー と呼ばれています。次のレッスンでは、これがなぜ便利なのか、その例を見てみましょう。