14.5. 編集

QGISにはOGR、SpatiaLite、PostGIS、MSSQL Spatial、Oracle Spatialのベクタレイヤやテーブルを編集するさまざまな機能があります。

注釈

GRASSレイヤーを編集する手順は異なります。詳細は GRASSベクターレイヤーをデジタル化して編集する のセクションを参照してください。

ちなみに

同時編集

QGISの現在のバージョンでは、あなたが編集している地物と同じ地物を他の誰かが編集しているとしても、それを追跡できません。最後に保存した人の編集内容が保存されます。

14.5.1. スナップ許容誤差と検索半径の設定

ベクタレイヤのジオメトリを最適かつ正確に編集するためには、地物の頂点のスナップ許容誤差と検索半径を適切な値に設定する必要があります。

14.5.1.1. スナップ許容誤差

スナップ許容誤差とは、新しい頂点を追加したり既存の頂点を移動したりする際に、QGIS が接続しようとしている最も近い頂点やセグメントを検索するために使用する距離のことです。スナップ許容誤差の範囲外の場合には、QGISは既存の頂点やセグメントにスナップするのではなく、マウスボタンを離した場所に頂点を置きます。

このスナップ許容誤差の設定は、許容誤差に関連するすべてのツールに影響します。

スナップツールバーsnapping スナップを有効にする ボタンを使うか、またはキーボードの s を押すことで、スナップの有効化 / 無効化ができます。スナップモードでは、このツールバーで許容量や単位の設定もできます。

スナップ設定は プロジェクト ► スナップオプション... でも設定ができます。

レイヤへのスナップには、3種類の選択肢があります:

  • すべてのレイヤ :これはプロジェクト内のすべての可視状態のレイヤに対するクイック設定で、ポインターがすべての頂点やセグメントにスナップします。多くの場合、このスナップモードを使用すれば十分ですが、多数のベクタレイヤがあるプロジェクトでこのモードを使用する場合には注意が必要です。パフォーマンスに影響を及ぼすことがあります。

  • アクティブレイヤ :スナップに使用するのはアクティブレイヤのみです。編集中のレイヤ内でトポロジの一貫性を確保するのに便利な方法です。

  • 詳細設定 :レイヤ単位でスナップモードの有効化や許容誤差の調整ができます( 図 14.84 参照)。あるレイヤの編集で、その頂点を他のレイヤにスナップさせたい場合、ターゲットとなるレイヤにチェックを入れ、スナップ許容量に大きな値を入れるようにしてください。スナップオプションダイアログでチェックが入っていないレイヤに対しては、スナップが発生しません。

スナップモードについては、 頂点セグメント頂点とセグメント の中から選択できます。

スナップ許容量は、プロジェクトの マップ単位 または ピクセル のいずれかで設定できます。 ピクセル を選択する利点は、さまざまなマップの縮尺でスナップ許容量を一定に保つことができることです。通常は10から12ピクセルが適当な値ですが、ディスプレイのDPIにもよります。マップ単位を使用すると、許容量を実際の地上距離と関連付けることができます。例えば、要素間の最小距離の設定がある場合には、このオプションはお互いに近すぎる頂点を追加しないようにするのに役立ちます。

../../../_images/editProjectSnapping.png

図 14.84 スナップオプション(詳細設定モード)

注釈

デフォルトでは、可視状態の地物(スタイルが表示されている地物、ただしシンボロジが "シンボルなし" のレイヤを除く)のみにスナップできます。非表示の地物にもスナップできるようにするには、 設定 ► オプション ► デジタイズ タブで unchecked 非表示の地物に対してもスナップを有効にする にチェックを入れます。

ちなみに

デフォルトでスナップを有効にする

設定 ► オプション ► デジタイズ タブで、すべての新規プロジェクトでスナップをデフォルトで有効に設定することができます。また、既定のスナップモードや許容量、単位を設定することもでき、この設定値が スナップオプション ダイアログに入力されます。

14.5.1.2. 交点でのスナップを有効にする

このほかに利用可能なオプションとして、 snappingIntersection 交点でのスナップを有効にします の使用があります。これは、交差部に頂点が無くても、スナップが有効なジオメトリの交点にスナップできるようになります。

14.5.1.3. スナップアイコン

QGISでは スナップ の種類に応じてさまざまな スナップ アイコンを表示します:

../../../_images/snap_vertex_icon.png
../../../_images/snap_segment_icon.png
../../../_images/snap_intersection_icon.png

頂点へのスナップ:四角形アイコン

セグメントへのスナップ:砂時計型アイコン

交点へのスナップ:バツ印アイコン

設定内の デジタイズ でこれらのアイコンの色を変更できます。

14.5.1.4. 検索半径

頂点編集用検索半径 は、マップ上をクリックした際にQGISが選択する頂点を 検索 するために使用する距離です。この検索半径外の場合には、QGISは編集する頂点を見つけて選択することはできません。頂点編集用の検索半径は、 設定 ► options オプション ► デジタイズ タブ(スナップのデフォルト値の定義場所)で定義することができます。

スナップ許容量や検索半径は 地図上の単位 または ピクセル で設定します。ちょうど良い値を設定するには試行錯誤する必要があるかもしれません。大きすぎる値を設定した場合、特に近接した多数の頂点を扱う場合には、QGISは間違った頂点にスナップすることがあります。検索半径を小さくすると、動かしたい頂点にヒットさせるのが難しくなります。

14.5.1.5. スナップのスケール範囲制限

場合によっては、スナップが非常に遅くなることがあります。これは、いくつかのレイヤ内に地物が多いことが原因で、計算と管理に重いインデックスを必要とするためです。スナップの有効化を地図ビューが関連するスケール範囲内にあるときのみとするパラメータがあります。これにより、スナップに関連したコストのかかるインデックス計算は、関連するスケールでのみ行うようにすることができます。

スナップのスケール制限は、 プロジェクト ► スナップオプション... で設定ができます。スナップのスケール制限は、 詳細設定 モードでのみ利用可能です。

スナップをスケール範囲で制限するには、3つのモードが利用できます:

  • 無効化 :スナップはどのようなスケールでも有効です。これがデフォルトのモードです。

  • グローバル :スナップは制限され、現在の縮尺がグローバルな最小値と最大値の間にあるときのみ有効となります。このモードを選択した場合は、利用可能となる2つのウィジェットでスナップが有効となる縮尺範囲を設定します。

  • レイヤ単位 :スナップ縮尺範囲の制限は各レイヤで定義します。このモードを選択すると2つの列が利用可能となり、各レイヤの最小縮尺と最大縮尺を設定できます。

最小スケールと最大スケールはQGISの規則に従うことに注意してください。最小スケールは最も「ズームアウト」した、最大スケールは最も「ズームイン」したスケールです。最小スケールや最大スケールが「0」または「未設定」に設定されている場合、制限は無いものとみなされます。

14.5.2. トポロジ編集

これらのスナップオプションに加えて、 スナップオプション... ダイアログ( プロジェクト ► スナップオプション )と スナップ ツールバーでは、トポロジ編集機能を有効 / 無効にすることができます。

14.5.2.1. トポロジ編集を有効にする

topopologicalEditing トポロジ編集 ボタンは、共通の境界を持つ地物を編集および維持する際に役立ちます。このオプションを有効にすると、QGISは共有された境界を「検出」します。共通の頂点/セグメントを移動すると、QGISは隣接する地物のジオメトリの頂点やセグメントも移動させます。

トポロジ編集は、レイヤが表示されていて編集モードであれば、別のレイヤの地物でも機能します。

14.5.2.2. 新しいポリゴンで重なりを避ける

スナップモードが 詳細設定 モードの場合、ポリゴンレイヤには checkbox 重なりを避ける オプションがあります。このオプションは、選択されたレイヤの既存の地物と重なるような新しい地物を作成することを防ぐため、隣接するポリゴンのデジタイズが高速化できます。

既にポリゴンが1つある場合に、「重なりを避ける」を有効にして、2つ目のポリゴンを両者が交わるように作成してみましょう。QGISは2つ目のポリゴンを、既存のポリゴンの境界に合わせてカットします。この利点は、共通の境界の頂点全てはデジタイズする必要が無いことです。

注釈

新しいジオメトリが既存のポリゴンによって完全に覆われている場合には、新しい地物は消去され、QGISはエラーメッセージを表示します。

警告

重なりを避ける オプションは注意して使用すること

このオプションは任意のポリゴンレイヤの重なりのある新しい地物をカットするため、必要なくなったときにこのオプションのチェックを外し忘れていると、思いがけないジオメトリが作成されることがあります。

14.5.2.3. ジオメトリチェッカー

ジオメトリの不正を見つけるのに役立つコアプラグインがあります。このプラグインの詳細情報は ジオメトリチェッカープラグイン を参照してください。

14.5.2.4. 自動トレース

通常、地図キャプチャツール(地物を追加、部分を追加、リングを追加、地物の変形、分割)を使用する際には、地物の各頂点をクリックする必要があります。自動トレースモードを使えば、デジタイズ時にすべての頂点を手作業で配置する必要がなくなるため、デジタイズ作業をスピードアップできます。

  1. アイコンをクリックするか T キーを押して、 tracing トレースを有効にします ツールを有効にします( スナップ ツールバー内)。

  2. トレースしたい地物の頂点またはセグメントに スナップ させます。

  3. スナップさせたい別の頂点やセグメント上にマウスを移動させると、通常の直線ではなく、デジタイズのラバーバンドが最後にスナップした点から現在の位置までのパスを表現します。このツールは曲線ジオメトリにも対応しています。

    QGIS は、2つのポイント間の最短パスを構築するためにトレース元の地物のトポロジを実際に使用します。トレースの際には、パスを構築するためにトレース元のレイヤでスナップを有効にする必要があります。また、デジタイズ中に既存の頂点やセグメントにスナップし、2つのノードが既存の地物の辺を介してトポロジ的に接続可能であることを保証する必要があります。そうでない場合、QGISはノードを接続することができず、単一の直線をトレースします。

  4. 別の頂点やセグメント上でクリックすると、QGISは表示されたパスに沿って途中の頂点を配置します。

tracing トレースを有効にします アイコン横のメニューを展開して Offset オプションを設定すると、地物に沿ってトレースするのではなく、地物に平行なパスをデジタイズします。正の値は新しい線がトレース方向に対して左側に移動し、負の値は右側に移動します。

注釈

最適なトレースのための地図縮尺やスナップ設定の調整

地図表示内にあまりにも多くの地物がある場合、トレース構造の準備に長時間かかり、メモリのオーバーヘッドが大きくなる可能性を回避するため、トレースは無効になります。ズームインするか、いくつかのレイヤを非表示にすると、トレースは再び有効になります。

注釈

トポロジ点は追加されません

たとえ トポロジ編集 が有効になっているとしても、自動トレースツールは既存のポリゴンジオメトリに点を追加しません。編集中のレイヤでジオメトリの精度が有効になっている場合、結果として得られるジオメトリは既存のジオメトリを正確にトレースしていない場合があります。

ちなみに

T キーを押して自動トレースを素早く有効・無効にする

T キーを押すと、いつでも(地物のデジタイズ中でも)トレースを有効化/無効化することができます。従って、地物の一部分はトレースを有効にして、残る部分はトレースを無効にしてデジタイズすることが可能です。トレースが無効の場合には、スナップツールは通常どおりに動作します。

ちなみに

トレースを曲線ジオメトリに変換する

設定 ► オプション ► デジタイズ ► トレース の設定で、デジタイズで曲線ジオメトリを作成することが可能になります。詳細については デジタイズオプション を参照してください。

14.5.3. 既存レイヤのデジタイズ

デフォルトでは、QGIS はレイヤを読み取り専用でロードします。これは、マウスの操作を誤ってレイヤを編集してしまうことを防ぐための安全装置です。ただし、データプロバイダが編集をサポートしており( データ形式とフィールドの探究 参照)、かつ基礎となるデータソースが書き込み可能である(つまり、そのファイルが読み取り専用ではない)場合に限り、レイヤの編集が選択できます。

ちなみに

プロジェクト内のレイヤの編集権限を制限する

プロジェクト ► プロパティ... ► データソース ► レイヤのCapabilities テーブルでは、データプロバイダの権限とは無関係に、任意のレイヤを読み取り専用に設定することができます。これは、マルチユーザー環境において権限のないユーザーが誤ってレイヤ(シェープファイル等)を編集し、データが壊れてしまうことを防ぐための簡便な方法です。この設定は、現在のプロジェクト内でのみ適用されることに注意してください。

ベクタレイヤを編集するツールは、「デジタイジングツールバー」と、 先進的デジタイズ セクションで説明する「先進的デジタイズツールバー」の二つに分かれています。どちらも ビュー ► ツールバー ► で選択と解除ができます。

基本のデジタイズツールには、以下の機能があります:

アイコン

目的

アイコン

目的

allEdits

現在の編集

toggleEditing

編集モード切替

saveEdits

レイヤ編集内容の保存

newTableRow

レコードを追加

capturePoint

地物を追加:ポイントをキャプチャ

captureLine

地物を追加:ラインをキャプチャ

capturePolygon

地物を追加:ポリゴンをキャプチャ

vertexTool

頂点ツール(全レイヤ)

vertexToolActiveLayer

頂点ツール(現在のレイヤ)

multiEdit

全選択地物の属性一括変更

deleteSelectedFeatures

選択物の削除

editCut

地物の切り取り

editCopy

地物のコピー

editPaste

地物の貼り付け

undo

元に戻す

redo

やり直す

表:基本のベクタレイヤ編集ツールバー

いずれのデジタイジングツールでも、使用中にツールへのフォーカスを失うことなく、マップキャンバス内で ズームやパン を実行できます。

編集セッションはすべて、 toggleEditing 編集モード切替 オプションを選択することで開始します。このオプションは、レイヤのコンテキストメニューや属性テーブルダイアログ、デジタイジングツールバー、 編集 メニューにあります。

レイヤが編集モードになると、編集ツールバーのツールボタンが追加で利用可能になり、すべての地物の頂点にマーカーが表示されます。マーカーは、 設定 ► オプション... ► デジタイズ メニューの 選択地物のみマーカーを表示する オプションがチェックされていない限り、すべての地物の頂点に表示されます。

ちなみに

定期的に保存しましょう

定期的に saveEdits レイヤ編集内容の保存 で保存するのを忘れないでください。また、これはデータソースが変更をすべて受け入れ可能かどうかをチェックします。

14.5.3.1. 地物の追加

レイヤのタイプに応じて、ツールバー上の newTableRow レコードを追加capturePoint 点地物を追加するcaptureLine 線の地物を追加capturePolygon ポリゴン地物を追加 アイコンを使用すると、現在のレイヤに新しい地物を追加できます。

ジオメトリなしの地物を追加するには、 newTableRow レコードを追加 ボタンをクリックし、開いた地物フォームで属性値を入力します。空間的なツールで地物を作成するには、最初にジオメトリをデジタイズし、それから属性値を入力します。ジオメトリをデジタイズするには、以下の手順で操作します:

  1. 新しい地物の最初の点をマップエリア上で左クリックします。ポイント地物の場合はこれでおしまいで、必要に応じて属性値を入力するための地物フォームが開きます。レイヤプロパティで ジオメトリの精度 を設定している場合には、ここで グリッドにスナップ を使用して、一定距離に基づいた地物を作成することができます。

  2. ラインやポリゴンジオメトリの場合は、左クリックでキャプチャしたい点の追加を続けるか、 自動トレース 機能を使ってデジタイズを高速化します。これにより、配置した頂点間に連続的な直線が生成されます。

    注釈

    Delete キーまたは Backspace キーを押すと、最後に追加したノードを取り消します。

  3. 頂点の追加が終わったら、マップエリア上の任意の場所を右クリックして、その地物のジオメトリ入力が完了したことを確定させます。

    注釈

    ラインやポリゴンジオメトリのデジタイズ中に、直線的な 地物の追加 ツールと 円形ストリングツール の間を行ったり来たりして、複合的な曲線ジオメトリを作成することができます。

    ちなみに

    デジタイズのラバーバンドをカスタマイズする

    ポリゴンのキャプチャ中、下にある地物や点をキャプチャしたい場所をデフォルトの赤色のラバーバンドが隠してしまうことがあります。この問題は、 設定 ► オプション ► デジタイズ メニューでラバーバンドの 塗りつぶし色 を低い不透明度(アルファチャンネル)に設定することで解決できます。 頂点の編集中にラバーバンドを更新しない にチェックを入れると、ラバーバンドを使用しないこともできます。

  4. 属性ウィンドウが表示され、新しい地物のための情報を入力します。 図 14.85 では、アラスカにある架空の新しい川に属性を設定しています。ただし、 設定 ► オプション メニュー下の デジタイズ メニューで以下の機能を有効にすることもできます:

    • checkbox 地物作成後に属性フォームをポップアップさせない にチェックを入れると、フォームが開くのを抑制します。

    • checkbox 最後に入力した値を利用する にチェックを入れると、フォームを開いたときに最後の入力値がフィールドに自動的に入っており、変化させる値を入力するだけでよくなります。

../../../_images/editDigitizing.png

図 14.85 新しいベクタ地物をデジタイズした後の属性値入力ダイアログ

14.5.3.2. 頂点ツール

注釈

QGIS 3での大きな変更点

QGIS 3ではノードツールが完全に再設計され、 頂点ツール に名前が変わりました。これまでは「クリック&ドラッグ」方式でしたが、現在は「クリック&クリック」の作業フローを採用しています。これにより、複数のレイヤのオブジェクトを同時にデジタイズまたは編集している最中に、頂点ツールの作業で先進的デジタイズパネルを活用できるようになるなど、大きく改善されました。

編集可能な任意のベクタレイヤに対して、 vertexToolActiveLayer 頂点ツール(現在のレイヤ) は、CADプログラムのように地物の頂点を操作する機能を提供します。一度に複数の頂点を選択して、まとめて移動や追加、削除ができます。頂点ツールはトポロジ編集機能にも対応しています。このツールは選択状態を変えないので、何らかの操作を行った後でも、その地物とツールに関して選択が有効な状態を保ちます。

設定 ► options オプション ► デジタイズ ► 頂点編集用検索半径: selectNumber プロパティをゼロより大きい値に設定することが重要です。 そうでない場合、QGISはどの頂点が編集されているか伝えることができなくなり、警告が表示されます。

ちなみに

頂点マーカー

QGISの現在のバージョンでは、3種類の頂点マーカー:「半透明円」、「クロス」、「なし」をサポートしています。マーカーのスタイルを変更するには、 設定 メニューから options オプション を選択し、 デジタイズ タブをクリックして該当するエントリを選択します。

基本操作

始めに vertexToolActiveLayer 頂点ツール(現在のレイヤ) を有効にします。頂点にマウスカーソルを合わせると、赤い円が表示されます。

  • 頂点の選択Shift キーを押しながら頂点をクリックするか、クリックしていくつかの頂点を囲む長方形をドラッグすると、一度に複数の頂点を選択できます。頂点が選択されると、色が青に変わります。現在の選択にさらに頂点を追加するには、 Shift キーを押しながらクリックします。選択から頂点を外すには、 Ctrl を押しながらクリックします。

  • 頂点一括選択モード :一括選択モードは、 Shift+R キーを押すことで有効化できます。1つ目の頂点をシングルクリックで選択し、別の頂点を クリックせず カーソルを重ねます。すると、(ポリゴンの場合には)最短のパスを使用して、その間にあるすべての頂点が動的に選択されます。

    ../../../_images/vertex_batch_selection_mode.png

    図 14.86 Shift+R を使用した頂点の一括選択

    Ctrl を押すと選択を反転させ、地物境界の最長パスに沿って選択します。2回目のクリックで頂点の選択を終了するか、 Esc キーを押して一括選択モードを抜けます。

  • 頂点の追加 :頂点を追加するには、セグメントの中央に現れる仮想の新しい頂点を使います。これをつまめば、新しい頂点が追加されます。境界の任意の場所をダブルクリックしても、新しい頂点が作成されます。ラインの場合には線の両端にも仮想の頂点が表示され、線を延長させることができます。

    ../../../_images/vertex_add_node.png

    図 14.87 頂点追加時の仮想ノード

  • 頂点の削除 :頂点を選択し、 Delete キーを押します。地物の全ての頂点を削除すると、データソースが対応しているならば、ジオメトリのない地物が生成されます。頂点の削除は地物を完全に削除するのではなく、ジオメトリ部分のみ削除することに注意してください。地物を完全に削除するには、 deleteSelectedFeatures 選択物の削除 ツールを使用します。

  • 頂点の移動 :移動させたい頂点をすべて選択し、選択した頂点または辺をクリックして、移動させたい新しい場所でもう一度クリックします。選択したすべての頂点が一緒に移動します。スナップが有効になっている場合には、選択全体が最も近い頂点や辺に移動します。先進的デジタイズパネルを使用して、2回目のクリックの前に距離や角度、正確なXY位置に関して制限をかけることもできます。

    グリッドへのスナップ機能を使うこともできます。レイヤプロパティで ジオメトリの精度 の値を設定すると、ジオメトリの精度に応じたズームレベルでグリッドが表示されます。

    ../../../_images/vertex_snap_to_grid.png

    図 14.88 頂点の選択とグリッドへの頂点の移動

頂点ツールで行われた各変更は 元に戻す ダイアログ中の個別のエントリとして格納されます。トポロジ編集が有効となっているときには、上記すべての操作がトポロジ編集をサポートしていることを覚えておいてください。また、オンザフライの投影もサポートしており、頂点ツールは、頂点の上にポインタを置くことにより頂点を識別するためのツールチップを提供します。

頂点エディタパネル

地物に 頂点ツール を使用しているときに右クリックすると、 頂点エディタ パネルを開くことができます。パネルには地物のすべての頂点の xy 座標(と、あれば zm 座標)と r (円形ジオメトリの場合の半径)が一覧表示されます。テーブルの行を単に選択するとマップキャンバス内で対応する頂点が選択され、その逆も同様です。テーブル内の座標を変更すると、頂点の位置が更新されます。複数の行を選択して、それらを完全に削除することもできます。

注釈

QGIS 3.4からの動作変更

地物上で右クリックすると、すぐに頂点エディタが表示されてその地物にロックされるため、他の地物の編集ができなくなります。ロックされている間は、その地物が編集専用となります。頂点やセグメントのクリックやドラッグによる選択や移動は、この地物でのみ可能です。新しい頂点はロックされた地物にのみ追加できます。また、頂点ツールを起動すると自動的に頂点エディタパネルが開くようになり、その位置やドッキング状態が使用後も記憶されるようになりました。

../../../_images/vertex_editor_panel.png

図 14.89 選択したノードを示す頂点エディタパネル

14.5.3.3. 地物の切り取り、コピーと貼り付け

選択した地物は、同じQGISプロジェクト内のレイヤ間で切り取り、コピー、貼り付けすることができます。ただし、貼り付け先のレイヤはあらかじめ toggleEditing 編集モード切替 で編集モードに設定されている必要があります。

ちなみに

コピー&ペーストを使用してポリゴンをラインに変換、ラインをポリゴンに変換

ライン地物をコピーしてポリゴンレイヤに貼り付けると、QGISはライン地物の両端を結んで閉じたジオメトリに対応する境界を持つポリゴンをターゲットレイヤに貼り付けます。これは、同じデータから異なるジオメトリを生成するための簡単な方法です。

地物は外部アプリケーションにテキストとして貼り付けることもできます。つまり、地物はCSV形式で表現され、ジオメトリデータはOGC Well-Known Text(WKT)形式で表示されます。QGIS外のWKT地物およびGeoJSON地物はQGIS内のレイヤに貼り付けることもできます。

コピー&ペースト機能はどんなときに便利でしょうか?これまでの説明で、一度に複数のレイヤを編集したり、レイヤ間で地物をコピー&ペーストできることはわかりました。なぜこのようなことが必要なのでしょうか?例えば、新しいレイヤでとある作業をする必要がありますが、必要なのは1つか2つの湖だけだとしましょう。 big_lakes レイヤにある5,000個の湖は必要ありません。このようなときは新規レイヤを作成し、コピー&ペーストを使って必要な湖をポトンと貼り付けることができます。

例として、新しいレイヤに湖をいくつかコピーしてみましょう:

  1. コピーしたいレイヤを読み込みます(ソースレイヤ)

  2. 貼り付けたいレイヤを読み込みまたは作成します(ターゲットレイヤ)

  3. ターゲットレイヤを編集モードにします

  4. 凡例をクリックして、ソースレイヤをアクティブにします

  5. selectRectangle シングルクリックによる地物選択 ツールを使用して、ソースレイヤ上の地物(複数可)を選択します

  6. editCopy 地物のコピー ツールをクリックします

  7. 凡例の貼り付け先レイヤをクリックしてアクティブにします

  8. editPaste 地物の貼り付け ツールをクリックします

  9. 編集モードを終了して変更内容を保存して下さい

ソースレイヤとターゲットレイヤでスキーマが異なる(フィールド名やデータ型が異なる)場合にはどうなるでしょうか?QGISは、一致するものは入力し、一致しない残りは無視します。ターゲットレイヤにコピーされる属性を気にしないのであれば、フィールド名やデータ型の設計は重要ではありません。地物とその属性をすべて確実にコピーしたい場合には、スキーマを一致させるように注意してください。

注釈

貼り付け地物の一致

ソースレイヤとターゲットレイヤが同じ投影法を使用している場合、貼り付けられた地物はソースレイヤと同じジオメトリになります。しかし、ターゲットレイヤの投影法が異なる場合には、QGISはジオメトリが同一であることを保証できません。これは単に、投影法間の変換時に小さな丸め誤差が入り込むためです。

ちなみに

文字列属性を他のレイヤにコピーする

「文字列」型の新しい列を属性テーブルに作成し、より大きな長さを持つ別の属性テーブル列から値を貼り付ける場合、新しい列のサイズ長は同じ長さに延長されます。これは、GDAL/OGR 1.10以降のGDALシェープファイルドライバが、挿入されるデータの長さに合わせて動的に文字列や整数のフィールドを自動拡張することを認識しているからです。

14.5.3.4. 選択地物の削除

地物全体(属性とジオメトリ)を削除するには、まずは通常の selectRectangle シングルクリックによる地物選択 ツールを使用してジオメトリを選択します。また、選択は属性テーブルから行うこともできます。選択が完了したら、 Delete または Backspace キーを押すか、 deleteSelectedFeatures 選択物の削除 ツールを使用して、地物の削除ができます。選択された複数の地物を一度に削除することができます。

デジタイジングツールバーの editCut 地物の切り取り ツールでも地物の削除ができます。このツールは地物を事実上削除しますが、これを「空間クリップボード」にも置きます。このため、地物の切り取りを削除する目的でも使うことができます。切り取った地物はその後、 editPaste 地物の貼り付け ツールを使用して戻すことができるので、1段階のみの取り消し機能とも言えます。切り取り、コピー、貼り付けは現在の地物選択に対して機能するので、一度に複数の地物の操作ができます。

14.5.3.5. 元に戻すとやり直し

undo 元に戻すredo やり直す ツールを使用すると、ベクタレイヤの編集操作の取り消しややり直しができます。元に戻す/やり直す履歴( 図 14.90 参照)にある全ての操作を表示する、ドッキング可能なウィジェットもあります。このウィジェットはデフォルトでは表示されていません。ツールバーを右クリックして 元に戻す/やり直す パネル のチェックボックスを有効にすると、このウィジェットを表示することができます。ただし、たとえウィジェットが表示されていなくとも、この「元に戻す/やり直す」機能は有効です。

../../../_images/redo_undo.png

図 14.90 デジタイジングの操作を元に戻す・やり直す

「元に戻す」を押すか Ctrl+Z (または Cmd+Z )を押すと、すべての地物および属性の状態が、取り消す操作が起こった前の状態に戻ります。通常のベクタの編集操作以外の変更(例えば、プラグインによって行われた変更)については、どのような変更が行われたかによって、元に戻せる場合と戻せない場合があります。

元に戻す/やり直し 履歴ウィジェットを使用するには、履歴リストから操作を単純にクリックするだけです。すべて地物は、選択した操作を行った後の状態に戻されます。

14.5.3.6. レイヤ編集内容の保存

レイヤが編集モードになっているとき、変更はすべてQGIS のメモリ内にとどまっています。従って、変更はすぐにデータソースやディスクにコミット/保存されるわけではありません。現在のレイヤの編集内容を保存したいが、編集モードは離れることなく編集を続けたい場合には、 saveEdits レイヤ編集内容の保存 ボタンをクリックします。 toggleEditing 編集モード切替 で編集モードをオフにする(またはQGISを終了する)と、変更を保存するか破棄するかを尋ねられます。

変更が保存できない場合(例えばディスクが一杯であったり、属性が範囲外の値の場合など)、QGISのメモリ内の状態はそのままです。これにより、編集を訂正して保存をやり直すことができます。

ちなみに

データの整合性

編集を開始する前には常に、データソースをバックアップすることをお勧めします。QGIS製作者はデータの整合性を維持するためにあらゆる努力をしていますが、この点に関する保証はありません。

一度に複数のレイヤを保存する

レイヤの編集機能は、複数のレイヤのデジタイズができます。複数のレイヤで行ったすべての変更を保存するには、 fileSaveAs 選択レイヤの保存 を選択します。また、選択した全てのレイヤのデジタイズ内容を取りやめるために、 rollbackEdits 選択レイヤをロールバック を行うこともできます。選択したレイヤの編集を終了したい場合には、 cancelEdits 選択レイヤの編集キャンセル が簡単な方法です。

プロジェクトの編集中の全レイヤを対象とした同じ機能もあります。

ちなみに

トランザクショングループを使用して、複数のレイヤの変更を一度に編集・保存・ロールバックする

同じPostGreSQLデータベースの複数レイヤで作業する場合、 プロジェクト ► プロパティ... ► データソース可能な場合は自動的にトランザクショングループを作成する オプションを有効にすると、動作を同期させる(編集モードのオンオフや変更の保存・ロールバックを同時に行う)ことができます。

14.5.4. 先進的デジタイズ

アイコン

目的

アイコン

目的

cad

先進的デジタイズツールの有効化

tracing

トレースを有効にします

moveFeature moveFeatureLine moveFeaturePoint

地物の移動

moveFeatureCopy moveFeatureCopyLine moveFeatureCopyPoint

地物のコピーと移動

rotateFeature

地物の回転

simplifyFeatures

地物の簡素化

addRing

リングを追加

addPart

部分を追加

fillRing

リングの充填

reverseLine

線の向きの反転

deleteRing

リングの削除

deletePart

部分の削除

offsetCurve

曲線のオフセット

reshape

地物の変形

splitParts

部分の分割

splitFeatures

切断箇所

mergeFeatAttributes

選択地物の属性結合

mergeFeatures

選択地物の結合

rotatePointSymbols

点のシンボルの回転

offsetPointSymbols

点のシンボルのオフセット

trimExtend

地物のトリム/延長

表:ベクタレイヤの先進的デジタイズツールバー

14.5.4.1. 地物の移動

moveFeature 地物の移動 ツールを使用して、既存の地物の移動ができます:

  1. 移動させたい地物を選択します。

  2. マップキャンバス上をクリックして、変位の原点を指定します。スナップ機能によって正確な点を選択することもできます。

    先進的デジタイズによる制限 を活用して、原点座標を正確に設定することもできます。この場合には、次のようにします:

    1. 最初に、 cad ボタンを押してパネルを有効化します。

    2. x キーを押し、使用したい原点に対応するx座標値を入力します。その後、このオプションの横にある locked ボタンを押して、値をロックします。

    3. y 座標についても同様に操作します。

    4. マップキャンバスをクリックすると、原点が指定した座標に配置されます。

  3. マップキャンバス上を移動して、ポイントの移動先を指定します。ここでも、移動の終点を配置するためにスナップモードを使用したり、上記のように先進的デジタイズパネルを使用して相補的な 距離角度 による配置制約を指定したりすることができます。

  4. マップキャンバス上をクリックすると、地物全体が新しい位置に移動します。

同様にして、 moveFeatureCopy 地物のコピーと移動 ツールを使用して、地物の移動したコピーを生成することもできます。

注釈

地物の移動地物のコピーと移動 ツールを使ってマップキャンバス上を最初にクリックしたときに地物が何も選択されていない場合、マウスの下にある地物だけがこの操作の影響を受けます。そのため、複数の地物を移動させたい場合には、それらの地物を先に選択しておく必要があります。

14.5.4.2. 地物の回転

rotateFeature 地物の回転 ツールを使用すると、マップキャンバス内で1つまたは複数の地物を回転させます。

  1. rotateFeature 地物の回転 アイコンをクリックします。

  2. 回転させたい地物をクリックします。地物の重心が回転の中心として参照され、回転後の地物のプレビューが表示されます。また、ウィジェットが開き、現在の Rotation 角度が表示されます。

  3. 満足する新しい配置角度でマップキャンバス上をクリックするか、テキストボックスに回転角を入力します。 スナップ先 ° ボックスを使用して、回転の値に制限をつけることもできます。

  4. 複数の地物を同時に回転させたい場合には、最初にそれらを選択しておきます。デフォルトでは、結合したジオメトリの重心の周りに回転します。

デフォルトの地物重心とは異なるアンカーポイントを使用することもできます。 Ctrl キーを押しながらマップキャンバスをクリックすると、その点が新しい回転の中心となります。

地図上をクリックする前に Shift キーを押したままの場合、回転は45度ずつで行われます。これはユーザー入力ウィジェットの中で後から変更できます。

地物の回転を中止するには、 ESC キーを押すか rotateFeature 地物の回転 アイコンをクリックします。

14.5.4.3. 地物の簡素化

simplifyFeatures 地物の簡素化 ツールを使用すると、ジオメトリの有効性を保つ範囲で頂点の数を減らしたりスムージングすることで、ラインやポリゴンのジオメトリをインタラクティブに変形させることができます。

  1. simplifyFeatures 地物の簡素化 ツールを選択します。

  2. 地物をクリックするか、地物の上で矩形をドラッグします。

  3. ダイアログがポップアップし、適用する 方法 を指定できます。つまり、実行したい事柄に応じて以下のとおり指定します:

    • ジオメトリの簡素化 、つまりオリジナルよりも頂点の数を減らしたい場合には、利用可能な手法は 距離で簡略化するグリッドで簡素化面積で簡略化(Visvalingam) です。簡略化に使用する 許容範囲 の値を レイヤの単位ピクセル または 地図単位 で指定する必要があります。許容範囲の値を大きくするほど、より多くの頂点が削除されます。

    • 新しい頂点を追加して ジオメトリのスムージング を行いたい場合には、 スムージング オプションを指定します。既存の各頂点に対して、2つの頂点がその頂点から伸びるセグメント上に配置されます。 オフセット は、頂点が配置される距離のセグメントの長さに対する割合を表します。また、この配置処理の 反復 数を設定することができます。反復数が大きいほど、より多数の頂点が配置され、よりスムーズな地物になります。

    使用した設定はプロジェクトの終了時や編集セッションの終了時に保存されます。このため、次回、地物の簡素化を行う場合に同じパラメータで行うことができます。

  4. ダイアログの下部には適用される修正の概要が表示され、地物数と頂点数(操作前の数と操作後の数および変更の比率)が一覧表示されます。また、マップキャンバスでは、適用後のジオメトリが既存のジオメトリ上にラバーバンド色で表示されます。

  5. 適用後のジオメトリが期待通りのものならば、 OK ボタンを押して修正を適用します。そうでない場合には、 キャンセル ボタンを押すかマップキャンバスで右クリックし、操作を中断します。

注釈

レンダリングのためだけにジオメトリを簡素化する 設定 ► オプション ► レンダリング メニュー内の地物の簡素化オプションとは異なり、 simplifyFeatures 地物の簡素化 ツールは、永続的にデータソース内の地物ジオメトリを変更します。

14.5.4.4. 部分を追加

選択された地物に addPart 部分を追加 して、マルチポイント、マルチラインまたはマルチポリゴン地物を生成します。新しく生成する部分は、既存の地物の外側にデジタイズしなければなりません。部分の追加は、既存の地物をあらかじめ選択してから実行する必要があります。

addPart 部分を追加 は、ジオメトリのない地物にジオメトリを追加するためにも使用できます。まず、属性テーブルで地物を選択し、 addPart 部分を追加 ツールで新しいジオメトリをデジタイズします。

14.5.4.5. 部分の削除

deletePart 部分の削除 ツールは、マルチパート地物から部分を削除できます(例えば、マルチポリゴン地物からポリゴンを削除する)。このツールは、すべてのマルチパートジオメトリ(ポイント、ライン、ポリゴン)で動作します。このツールはさらに、地物のジオメトリ要素を完全に除去するためにも使用できます。部分を削除するには、単に対象の部分の内部をクリックします。

14.5.4.6. リングを追加

ツールバーの addRing リングを追加 アイコンを使用して、リングポリゴンを作成できます。これは、既存のポリゴン領域の内部にさらにポリゴンをデジタイズできて、それが「穴」となり、外側と内側のポリゴンの境界の間の領域のみがリングポリゴンとして残ります。

14.5.4.7. リングの充填

fillRing リングの充填 ツールを使うと、他のポリゴン地物の完全に内部にある、重複する領域が何もないポリゴン地物を作成できます。つまり、この新しい地物は既存の地物の穴を覆います。このような地物を作成するには、以下の手順で操作します:

  1. fillRing リングの重点 ツールを選択します。

  2. 既存の地物上に新しいポリゴンを描きます。QGISはそのジオメトリに( addRing リングを追加 ツールを使ったときのように)リングを追加し、ジオメトリがリングに一致する新しい地物( capturePolygon ポリゴン地物を追加 ツールで内部境界に沿って トレース したような地物)を作成します。

  3. また、地物にすでにリングがある場合には、リング上にマウスを乗せて Shift キーを押しながら左クリックすると、その場所に穴を充填する新しい地物が作成されます。

    新しく作成した地物の 地物属性 フォームが開きます。フォームには「親」の地物の値や フィールドの制約 による値があらかじめ入力されています。

14.5.4.8. リングの削除

deleteRing リングの削除 ツールは、穴の内側をクリックして既存のポリゴン内部のリングを削除できます。このツールは、ポリゴンとマルチポリゴンの地物に対応しています。このツールをポリゴンのリングの外側で使用したときには、ポリゴンは何も変わりません。

14.5.4.9. 地物の変形

ツールバーの reshape 地物の変形 ツールを使用すると、ラインやポリゴン地物の形状を変形できます。ラインの場合には、元のラインとの最初の交点から最後の交点までの部分を置き換えます。

../../../_images/reshape_lines.png

図 14.91 ラインの変形

ちなみに

変形ツールでラインストリングジオメトリを延長する

reshape 地物の変形 ツールを使用して、既存のラインストリングジオメトリの延長ができます。ラインの最初または最後の頂点にスナップして、新しいラインを描画します。ジオメトリの有効性を確認した後、地物は2つのラインを結合したジオメトリになります。

ポリゴンの場合には、ポリゴンの境界を変形します。これが機能するためには、変形ツールの線はポリゴンの境界を少なくとも2回横切る必要があります。ラインを描画するには、マップキャンバスをクリックして頂点を追加します。終了するには右クリックしてください。ラインと同様に、最初の交点と最後の交点の間のセグメントのみが考慮されます。ポリゴンの内側にある変形ラインのセグメントはポリゴンを切り取り、ポリゴンの外側にある変形ラインのセグメントはポリゴンを拡大させます。

../../../_images/reshape_polygon.png

図 14.92 ポリゴンの変形

ポリゴンでは、変形によって意図しない結果が生じることがあります。地物の変形ツールは主にポリゴンの小さな部分を置き換えるのに便利なツールであって、大規模な形状の見直しには向いていません。また、無効なポリゴンを生成してしまうため、変形ラインは複数のポリゴンリングを横切ることはできません。

注釈

変形ツールは、ポリゴンのリングや閉じた線の開始位置を変更することがあります。つまり「二回」表される開始位置のポイントは、変形後はもはや同じではありません。これは、ほとんどのアプリケーションでは問題とならないかもしれませんが、留意すべき点です。

14.5.4.10. 曲線のオフセット

offsetCurve 曲線のオフセット ツールは、ラインレイヤが平行移動したものを作成します。このツールは編集中のレイヤに適用することもできますし(ジオメトリが変更されます)、背景レイヤに適用することもできます(この場合はラインやリングのコピーを作成して編集中のレイヤに追加します)。このため、このツールは距離線のレイヤの作成に最適です。 ユーザー入力 ダイアログがポップアップし、変位距離が表示されます。

平行移動したラインレイヤを作成するには、まずは編集モードに入り、 offsetCurve 曲線のオフセット ツールをアクティブにします。次に、平行移動させたい地物をクリックします。マウスを移動して好きな場所をクリックするか、ユーザー入力ウィジェットに平行移動させたい距離を入力します。変更は saveEdits レイヤ編集内容の保存 ツールで保存できます。

QGISのオプションダイアログ(デジタイズタブの 曲線オフセットツール セクション)では、 継ぎ目スタイル象限セグメントmiter制限 といったパラメータを設定できます。

14.5.4.11. 線の向きの反転

ラインジオメトリの向きを変える機能は、地図作成やネットワーク解析の準備のために役立つことがあります。

ラインの方向を変えるには:

  1. reverseLine 線の向きの反転 をクリックして、線の向きの反転ツールをアクティブにします。

  2. ライン上をクリックすると、線の向きが反転します。

14.5.4.12. 切断箇所

splitFeatures 切断箇所 ツールを使用して、地物を2つまたはそれ以上の独立した地物に分割することができます。独立した地物の各ジオメトリが属性テーブル内の新しい行に対応します。

ライン地物またはポリゴン地物を分割するには:

  1. splitFeatures 切断箇所 ツールを選択します。

  2. 分割したい地物を横切るように線を引きます。選択がアクティブな場合には、選択された地物のみが分割されます。分割が設定できたら、対応するフィールドには デフォルトの値または式 が適用され、その他の親地物の属性はデフォルトで新しい地物にコピーされます。

  3. その後は、分割された地物の属性を通常通りに変更することができます。

ちなみに

1クリックでポリラインを新しい地物に分割する

splitFeatures 切断箇所 ツールを使用して、ポリライン地物の既存の頂点をスナップしクリックすると、その地物が2つの新しい地物に分割されます。

14.5.4.13. 部分の分割

QGISでは、部分の個数が増えるようにマルチパート地物の部分を分割することができます。 splitParts 部分の分割 アイコンを使用して、分割したい部分を横切るように線を引くだけです。

ちなみに

1クリックでポリラインを新しい部分に分割する

splitParts 部分の分割 ツールを使用して、ポリライン地物の既存の頂点をスナップしクリックすると、その地物が同じ地物に属する2つの新しいポリライン部分に分割されます。

14.5.4.14. 選択地物の結合

mergeFeatures 選択地物の結合 ツールを使用すると、既存の地物をマージして新しい地物を作成できます。ジオメトリを結合して、新しいジオメトリを生成します。地物に共通の境界がない場合には、マルチポリゴン/マルチライン/マルチポイント地物が作成されます。

  1. 最初に、結合させたい地物群を選択します。

  2. 次に、 mergeFeatures 選択地物の結合 ボタンを押します。

  3. 新しく開いたダイアログで、表の最下段にある 結合 行には、結合結果の地物の属性値が表示されています。この属性値は以下の方法で変更することが可能です:

    • 対応するセルにマニュアル入力値を入力する

    • テーブルの行を選択し、 選択した地物から属性を取得する ボタンを押して、この元の地物の値を使用する

    • すべてのフィールドをスキップ ボタンを押して、属性値を空にする

    • 表の最上段のドロップダウンメニューを展開して、上記オプションを選択し、対応するフィールドにのみ適用する。このとき、元の地物の属性の集計値(フィールド型に応じて、最小値、最大値、中央値、合計、カウント、連結などがあります。関数の完全なリストは 統計パネル を参照)を使用することも可能です。

    注釈

    レイヤがフィールドにデフォルト値やデフォルト式を持つ場合には、それが結合した地物の初期値として使用されます。

  4. OK ボタンを押して、修正を適用します。単一の地物(またはマルチパート地物)がレイヤに作成され、選択していた地物と置き換わります。

14.5.4.15. 選択地物の属性結合

mergeFeatAttributes 選択地物の属性結合 ツールを使用すると、地物の境界をマージすることなく、同じ属性を地物に適用できます。ダイアログは「選択地物の結合」ツールと同じですが、選択されたオブジェクトの属性の一部は同じになる一方で、ジオメトリはそのままである点が異なります。

14.5.4.16. 点のシンボルの回転

rotatePointSymbols 点のシンボルの回転 は、マップキャンバスでポイントシンボルの回転を個別に変更することができます。

  1. 最初に、回転の値を保存するフィールドを指定する必要があります。これは、以下の手順でシンボルの データによって定義された 回転のプロパティにフィールドを割り当てることで行います:

    1. レイヤプロパティ ► シンボロジ ダイアログで、シンボルの編集ダイアログを見つけます。

    2. シンボルレイヤの(なるべく)最上位の マーカー レベルの 回転 オプションの近くにある、 dataDefined データによって定義された上書き ウィジェットをクリックします。

    3. フィールドの型 コンボボックスでフィールドを選択します。これにより、このフィールドの値は、これに応じて各地物のシンボルを回転させるために使われます。

      または、 データをプロジェクトに格納する エントリをチェックして、回転値を制御するための 補助テーブル フィールドを生成することもできます。

    注釈

    すべてのシンボルレイヤに同じフィールドを割り当てるよう注意してください

    データ定義の回転フィールドをシンボルツリーの最上位に設定すると、自動的にすべてのシンボルレイヤに設定が伝搬します。すべてのシンボルレイヤに同じ設定がされていることが、 点のシンボルの回転 ツールでグラフィカルなシンボル回転を行うための前提条件です。実際、シンボルレイヤの一つが回転プロパティに異なるフィールドを持っている場合には、ツールは機能しません。

    ../../../_images/rotatepointsymbol.png

    図 14.93 点のシンボルの回転

  2. 次に、 rotatePointSymbols 点のシンボルの回転 ツールを使用して、マップキャンバス内でポイントシンボルをクリックします。

  3. 周りでマウスを動かします。回転値付きの赤い矢印が表示されます( 図 14.93 参照)。 Ctrl キーを押しながらマウスを動かすと、回転は15度単位で行われます。

  4. 求める角度の値となったら、もう一度クリックします。シンボルがこの新しい回転角でレンダリングされ、対応するフィールドがこれに応じて更新されます。

    右クリックすると、シンボルの回転を中止します。

14.5.4.17. 点のシンボルのオフセット

offsetPointSymbols 点のシンボルのオフセット を使うと、マップキャンバス内でポイントシンボルがレンダリングされる位置をインタラクティブに変更することができます。このツールは This tool behaves like the rotatePointSymbols 点のシンボルの回転 ツールと同様に動作しますが、シンボルの各レイヤでデータ定義の オフセット(X,Y) プロパティにフィールドを結合させる必要がある点が異なります。このフィールドには、シンボルがマップキャンバスで動かされた場合に地物のオフセット量が入力されます。

  1. シンボルの オフセット(X,Y) プロパティのデータ定義ウィジェットにフィールドを関連付けます。シンボルが多数のレイヤからなる場合には、各レイヤにフィールドを割り当てられます。

  2. offsetPointSymbols 点のシンボルのオフセット ツールを選択します。

  3. ポイントシンボルをクリックします。

  4. マウスを新しい位置に移動します。

  5. もう一度クリックします。シンボルが新しい位置に移動します。元の位置からのオフセット値がリンクしたフィールドに格納されます。

    右クリックすると、シンボルのオフセットを中止します。

注釈

offsetPointSymbols 点のシンボルのオフセット ツールは、点地物自体は移動させません。点地物自体を移動させる目的では、 vertexToolActiveLayer 頂点ツール(現在のレイヤ) または moveFeaturePoint 地物の移動 ツールを使う必要があります。

14.5.4.18. 地物のトリム/延長

デジタイズした線が短すぎたり長すぎたりして、他の線にスナップするのが難しい(欠落または他の線との交差)場合には、セグメントを伸ばしたり短くしたりできることが必要です。

trimExtend 地物のトリム/延長 ツールを使用すると、(マルチ)ラインや(マルチ)ポリゴンの修正も可能です。さらに、必ずしも線の端である必要はありません。ジオメトリのどのセグメントでも修正することができます。

注釈

このツールによって無効なジオメトリとなることがあります。

注釈

このツールを機能させるには、セグメントへのスナップを有効にする必要があります。

このツールでは、ある制限(セグメント)を選択するよう求められ、もう一つ選んだセグメントがこの制限に関して延長またはトリミングされます。頂点ツールとは異なり、変更するためのチェックは編集中のレイヤのみで行われます。

両方のセグメントが3Dの場合には、ツールはZ値を得るために制限セグメントに対して内挿を実行します。

トリムの場合には、短くする側をクリックして選択する必要があります。

14.5.5. シェープデジタイジング

シェープデジタイジング ツールバーには、正多角形や曲線ジオメトリを描くためのツールセットがあります。

14.5.5.1. 円形ストリングを追加

circularStringCurvePoint 円形ストリングを追加circularStringRadius 半径指定による円形ストリングの追加 ボタンを使用すると、円形ジオメトリを持つライン地物やポリゴン地物を追加できます。

これらのツールを使用した地物の作成は、その他のデジタイジングツールと同じ作成ルールに従います。左クリックで頂点の配置、右クリックでジオメトリ編集の終了です。ジオメトリを描画している最中、あるツールを別のツールや 直線的なジオメトリツール に切り替えて、複合的なジオメトリを作成できます。

注釈

曲線ジオメトリが曲線ジオメトリとして保存されるのは対応しているデータプロバイダのみ

QGISでは、任意の編集可能なデータ形式で曲線ジオメトリのデジタイズを行うことができますが、地物を曲線ジオメトリとして保存するためには、曲線ジオメトリをサポートするデータプロバイダ(PostGIS、メモリレイヤ、GML、WFSなど)を使用する必要があります。サポートしないプロバイダに保存すると、QGISは円弧をセグメント化します。

14.5.5.2. 円を描く

円を描くためのツールセットがあります。各ツールの説明は以下の通りです。

円は円形ストリングに変換されます。従って、 円形ストリングを追加 で説明したように、データプロバイダが対応しているならばこれは曲線ジオメトリとして保存され、対応していないならばQGISは円弧をセグメント化します。

  • circle2Points 2点で円を追加 :2点は円の直径と向きを定義します。(左クリック、右クリック)

  • circle3Points 3点で円を追加 :円周上の既知の3点から円を描きます。(左クリック、左クリック、右クリック)

  • circleCenterPoint 中心点と別の点で円を追加 :与えられた中心点と円周上の1点で円を描きます(左クリック、右クリック)。 先進的デジタイズパネル と共に使用する場合、1回目のクリックの後で距離を設定しロックすることで、このツールは「中心点と半径で円を追加」するツールとなります。

  • circle3Tangents 3本の接線で円を追加 :3つのセグメントに接する円を描きます。 セグメントへのスナップを必ず有効にしてくださいスナップ許容誤差と検索半径の設定 参照)。セグメント上をクリックし、接線として指定します。2つの接線が平行な場合にはエラーメッセージが表示され、入力はクリアされます。(左クリック、左クリック、右クリック)

  • circle2TangentsPoint 2本の接線と点で円を追加 :3本の接線による円と似ていますが、2つの接線を選択し、半径を入力して、希望する中心位置を選択します。

14.5.5.3. 楕円を描く

楕円を描くためのツールセットがあります。各ツールの説明は以下の通りです。

楕円は円形ストリングに変換することができないため、これは常にセグメント化されます。

  • ellipseCenter2Points 中心と2点で楕円を追加 :与えられた中心と長軸、短軸で楕円を描きます。(左クリック、左クリック、右クリック)

  • ellipseCenterPoint 中心と点で楕円を追加 :中心と角を指定したバウンディングボックス内に楕円を描きます。(左クリック、右クリック)

  • ellipseExtent 領域範囲の楕円を追加 :2つの対角を指定したバウンディングボックス内に楕円を描きます。(左クリック、右クリック)

  • ellipseFoci フォーカスから楕円を追加 :2つの焦点と楕円上の1点から楕円を描きます。(左クリック、左クリック、右クリック)

14.5.5.4. 長方形を描く

長方形を描くためのツールセットがあります。各ツールの説明は以下の通りです。

  • rectangleCenter 中心と点で長方形を追加 :中心と角の1点で長方形を描きます。(左クリック、右クリック)

  • rectangleExtent 領域範囲の長方形を追加 :2つの対角で長方形を描きます。(左クリック、右クリック)

  • rectangle3PointsDistance 3点で長方形を追加(第2点と第3点からの距離) :3つの点から方向のある長方形を描きます。最初の点と第2点は最初の辺の長さと角度を決定します。第3点がもう1つの辺の長さを決定します。辺の長さを設定するために、 先進的デジタイズパネル を使用することができます。(左クリック、左クリック、右クリック)

  • rectangle3PointsProjected 3点で長方形を追加(点p1、p2のセグメント上に投影された点からの距離) :上のツールと同様ですが、2つ目の辺の長さは第3点を最初の辺上に投影した点から計算されます。(左クリック、左クリック、右クリック)

    ../../../_images/draw_rectangles_3_points.png

    図 14.94 3点から距離(右)と投影(左)を使用して長方形を描く

14.5.5.5. 正多角形を描く

正多角形を描くためのツールセットがあります。各ツールの説明は以下の通りです。左クリックして最初の点を配置するとダイアログが現れ、多角形の辺の数を設定できます。右クリックで正多角形の描画を終了します。

  • regularPolygon2Points 2点で正多角形を追加 :2点で最初の辺の長さと角度を決定して正多角形を描きます。

  • regularPolygonCenterPoint 中心と点で正多角形を追加 :与えられた中心点からの正多角形を描きます。第2点は辺の1つの角度と中点への距離を決定します。

  • regularPolygonCenterCorner 中心と角点で正多角形を追加 :上のツールと同様ですが、第2点は頂点への角度と距離を決定します。

14.5.6. 先進的デジタイズパネル

新規または既存のジオメトリをキャプチャ、変形、分割するときには、「先進的デジタイズ」パネルを使用できます。特定の角度に対して線を正確に平行または垂直にデジタイズしたり、線を特定の角度にロックできます。さらに、座標を直接入力して、新しいジオメトリを正確に定義することもできます。

../../../_images/advanced_digitizing.png

図 14.95 先進的デジタイズパネル

先進的デジタイズ パネルは、ツールバーで右クリックするか、 ビュー ► パネル ► のメニュー、あるいは Ctrl+4 を押して開くことができます。パネルが表示されたら、 cad 先進的デジタイズツールの有効化 ボタンをクリックしてツールセットを有効にします。

注釈

このツールは、マップビューが地理的座標系の場合には無効です。

14.5.6.1. 概念

先進的デジタイズツールの目的は、マップキャンバスでデジタイズする最中、マウスを動かすときの座標、長さ、および角度をロックすることです。

相対参照または絶対参照を使用して、制約を作成することもできます。相対参照とは、次の頂点制約の値が前の頂点またはセグメントを基準とすることを意味します。

14.5.6.2. スナップ設定

settings ボタンを押して、先進的デジタイズツールのスナップ設定を設定します。ツールを共通の角度にスナップできます。オプションは次のとおりです。

  • 共通角にスナップしない

  • 30º度にスナップ

  • 45º度にスナップ

  • 90º度にスナップ

地物へのスナップを制御することもできます。オプションは次のとおりです。

  • 頂点または線分にスナップしない

  • プロジェクト設定に応じてスナップする

  • すべてのレイヤーにスナップ

14.5.6.3. キーボードショートカット

先進的デジタイズパネルを使った作業をスピードアップするため、いくつかキーボードショートカットがあります:

キー

キー単独

Ctrl+ または Alt+

Shift+

D

距離を設定

距離をロック

A

角度を設定

角度をロック

最後のセグメントに対する相対的な角度に切り替え

X

X座標を設定

X座標をロック

最後の頂点に対する相対的なXに切り替え

Y

Y座標を設定

Y座標をロック

最後の頂点に対する相対的なYに切り替え

C

作図モードを切り替え

P

垂直モードと平行モードを切り替え

14.5.6.4. 絶対参照デジタイジング

新しいジオメトリを最初から描画するときには、指定した座標から頂点のデジタイズを開始できると非常に便利です。

例えば、ポリゴンレイヤに新しい地物を追加するために capturePolygon ボタンをクリックしたとします。地物の編集を開始したいX座標とY座標を選んでから、次のように操作します。

  • x テキストボックスをクリックします(またはキーボードショートカット X を使います)。

  • 開始したいX座標の値を入力し、 Enter を押すか、右にある locked ボタンをクリックして、マップキャンバス上でマウスのX軸をロックします。

  • y テキストボックスをクリックします(またはキーボードショートカット Y を使います)。

  • 開始したいY座標の値を入力し、 Enter を押すか、右にある locked ボタンをクリックして、マップキャンバス上でマウスのY軸をロックします。

2つの青い点線と緑のバツ印はが、入力した正確な座標を示しています。マウスの位置は緑のバツ印の位置でロックされているため、マップキャンバスをクリックしてデジタイズを開始します。

../../../_images/advanced_digitizing_coordinates.png

図 14.96 指定の座標から描画を開始

デジタイズをフリーハンドで続行することもできますし、新しい座標ペアを追加したり、セグメントの 長さ (距離)と 角度 を入力してデジタイズすることもできます。

指定した長さのセグメントを描きたい場合には、 d (distance) テキストボックスをクリックし(またはキーボードショートカット D )、距離の値を(地図単位で)入力して、 Enter キーを押すか右にある locked ボタンをクリックしてマップキャンバス内のマウスをセグメントの長さに合わせてロックします。マップキャンバスでは、クリックした点は、距離テキストボックスに入力した値を半径とする円で囲まれます。

../../../_images/advanced_digitizing_distance.png

図 14.97 固定長セグメント

また、セグメントの角度を選択することもできます。前述のように a (angle) テキストボックスをクリックして(またはキーボードショートカット A )、角度の値(度単位)を入力し、 Enter キーを押すか右にある locked ボタンをクリックして値をロックします。このようにすると、セグメントは指定した角度に従います。

../../../_images/advanced_digitizing_angle.png

図 14.98 固定角セグメント

14.5.6.5. 相対参照デジタイジング

角度または座標の絶対値を使用する代わりに、最後にデジタイズされた頂点またはセグメントを基準にした角度や座標を使用することもできます。

角度については、 a テキストボックスの左にある delta ボタンをクリックする(または Shift+A を押す)と、ひとつ前のセグメントに対する相対角度に切り替わります。このオプションをオンにすると、最後のセグメントとマウスポインターの間の角度が計測されます。

座標については、 x または y テキストボックスの左にある delta ボタンをクリックする(または Shift+XShift+Y を押す)と、ひとつ前の頂点に対する相対的な座標に切り替わります。このオプションをオンにすると、最後の頂点をXY軸の原点と見なして座標計測します。

14.5.6.6. 継続的な固定

絶対参照デジタイジング、相対参照デジタイジングのどちらでも、 lockedRepeat 継続的に固定する ボタンをクリックすることで、角度や距離、X座標、Y座標の制約を継続的に固定することができます。継続的な固定を使用すると、複数の点や頂点を同じ制約条件でデジタイズすることができます。

14.5.6.7. 平行線と垂直線

上記のツールはすべて、 cadPerpendicular 垂直 および cadParallel 平行 ツールと組み合わせることができます。これらの2つのツールは、セグメントを別のセグメントに対して完全に垂直または平行に描画できます。

垂直 セグメントを描画するには、編集中に cadPerpendicular 垂直 アイコンをクリックして(またはキーボードショートカット P )垂直モードを有効にします。垂直な線を描画する前に、垂直としたい既存の地物のセグメントをクリックします(既存の地物の線が薄いオレンジ色になります)。すると、地物がスナップする青い点線が表示されます。

../../../_images/advanced_digitizing_perpendicular.png

図 14.99 垂直デジタイズ

平行 地物を描画する場合も手順は同じです。 cadParallel 平行 アイコンをクリックし(またはキーボードショートカット P を2回押して)、参照として使用したいセグメントをクリックし、地物を描画します。

../../../_images/advanced_digitizing_parallel.png

図 14.100 平行デジタイジング

これらの2つのツールは単に、直角や平行となるちょうどの角度を見つけて、編集中にこのパラメーターをロックするだけです。

14.5.6.8. 作図モード

cadConstruction 作図 アイコンをクリックするか、キーボードショートカット C により、 作図 モードの切り替えができます。作図モード中は、マップキャンバスをクリックしても新しい頂点は追加されませんが、クリックした位置はキャプチャされるので、距離や角度、X や Y の相対値をロックするための基準点として使用できます。

例えば、作図モードを使用すれば、既存の点から正確にとある距離にある点を描画できます。

マップキャンバス内に既存の点があり、スナップモードが正しく有効になっていると、そこから所定の距離や角度で他の点を簡単に描画できます。 cad ボタンに加えて、 cadConstruction 作図 アイコンをクリックするか C キーボードショートカットを使用して、 作図 モードを有効にする必要があります。

次に、距離を計算したいポイントをクリックし、 d ボックスをクリックし(または D ショートカット)希望の距離を入力して、 Enter を押してマップキャンバス内でマウスの位置を固定します。

../../../_images/advanced_digitizing_distance_point.png

図 14.101 点からの距離

新しい点を追加する前に C を押して作図モードを終了してください。これで地図上でクリックすると、入力された距離に点が配置されます。

また、角度の制約も使用して、例えば、元の点と同じ距離に新たに追加された点から特定の角度で別の点を作成することもできます。 cadConstruction 作図 アイコンをクリックするか C キーボードショートカットで作図モードに入ります。先に追加していた点をクリックし、次にもう1点をクリックして方向セグメントを設定します。続いて、 d テキストボックスをクリックして(または D ショートカット)希望する距離を入力し Enter を押します。そして a テキストボックスをクリックし(または A ショートカット)希望する角度を入力し Enter を押します。マウスの位置は、距離と角度の両方で固定されます。

../../../_images/advanced_digitizing_distance_angle_point.png

図 14.102 点からの距離と角度

新しいポイントを追加する前に、 C を押して作図モードを終了します。これでマップキャンバスをクリックすると、入力した距離と角度でポイントが配置されます。この手順を繰り返して、複数のポイントを追加できます。

../../../_images/advanced_digitizing_distance_point_final.png

図 14.103 所定の距離と角度の点

14.5.7. プロセシングによるレイヤのインプレース修正

プロセシングメニュー には、入力された地物のプロパティや他の地物との関係(同じレイヤ内かどうかに関わらず)に基づいて解析し、新しい地物を作成するための大規模なツールセットがあります。一般的な動作では出力として新しいレイヤを作成しますが、いくつかのアルゴリズムでは入力レイヤの修正も可能です。これは、高度で複雑な手続きを使用した複数の地物の修正を自動化するために便利な方法です。

地物をインプレースで編集するには:

  1. レイヤ パネルで編集したいレイヤを選択します。

  2. 該当する地物を選択します。このステップを省略することもできますが、その場合、修正はレイヤ全体に適用されます。

  3. プロセシングツールボックス の上部にある processSelected In-Place編集 ボタンを押します。アルゴリズムのリストがフィルタされ、インプレースの修正に対応したものだけが表示されます。すなわち:

    • レイヤレベルではなく、地物ソースレベルで動作するもの

    • レイヤの構造を変えないもの。例えば、フィールドの追加や削除を行わないもの

    • ジオメトリタイプを変えないもの。例えば、ラインレイヤからポイントレイヤに変換したりしないもの

    ../../../_images/edit_inplace_algorithms.png

    図 14.104 プロセシングアルゴリズム:全部(左) vs ポリゴンレイヤの in-place 編集対応(右)

  4. 実行したいアルゴリズムを探し出し、それをダブルクリックします。

    注釈

    アルゴリズムが追加のユーザー設定パラメータ(通常の入出力レイヤパラメータ以外)を何も必要としない場合には、ダイアログのポップアップ無しでアルゴリズムが直ちに実行されます。

    1. 通常の入力レイヤと出力レイヤ以外のパラメータが必要な場合には、アルゴリズムのダイアログがポップアップします。必要な情報を入力してください。

    2. アクティブな選択があるかどうかに応じて、 選択地物の変更 または 全地物の変更 をクリックします。

    変更がレイヤに適用され、編集履歴に置かれます。つまり、レイヤ名の横に editableEdits アイコンが表示されて、レイヤは実際に編集モードに切り替わり、変更は未保存の状態となっています。

  5. 通常どおり、 saveEdits レイヤ編集内容の保存 を押すと、レイヤへの変更がコミットされます。また、 undo 元に戻す を押すと変更全体をロールバックできます。