15.3. 編集

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

注釈

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

注意

同時編集

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

ちなみに

編集の妥当性検証

レイヤ プロパティ ► デジタイジング タブの設定で、連続的な妥当性検証をレイヤ単位で有効にすることができます。詳細については デジタイズプロパティ を参照してください。

15.3.1. スナップ許容範囲と検索半径の設定

設定 ► オプション... ► デジタイズ メニューには、QGISの編集ツールのデフォルトの動作を設定するためのパラメータがいくつかあります。詳細な情報は デジタイズ を参照してください。

ベクタレイヤのジオメトリを最適かつ正確に編集するためには、地物の頂点のスナップ許容量と検索半径を適切な値に設定する必要があります。 スナップ グループはこれに関連する、スナップ許容量と検索半径の扱いに関するオプションを提供します。

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

    この許容量の設定はスナップを行うすべてのツールに影響し、新しいレイヤやプロジェクトにデフォルトとして適用されます。ただしこの設定は、レイヤレベルで上書きすることができます( スナップとデジタイズのオプション 参照)。

  • 検索半径: 頂点編集用検索半径 は、地図上をクリックしたときに選択する頂点を 検索 するためにQGISが使用する距離です。カーソルが検索半径内にいない場合、QGISは編集のために頂点を見つけ選択することはありません。

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

15.3.2. スナップとデジタイズのオプション

グローバルな スナップとデジタイズの設定 (スナップモード、スナップ許容量、スナップの単位など)は、 プロジェクト ► スナップオプション... メニューで、プロジェクト内において上書きすることができます。 スナップとデジタイズオプション において、その他のプロパティ(スナップするレイヤ、縮尺範囲、トポロジ編集の有無など)を設定することができます。 スナップツールバー はこれらの機能の大半にアクセスできます。

デフォルトでは、 snapping スナップを有効にする ボタンを押すかキーボードの S を押すまでは、プロジェクトにおいてスナップは無効化されています。スナップモード、スナップ許容量の値と単位はスナップツールバーでも設定できます。

15.3.2.1. スナップのプロパティ

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

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

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

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

スナップモードについては、 頂点セグメント領域(Area)重心点セグメントの中央線のエンドポイント の中から選択できます。

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

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

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

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

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

グローバル設定の デジタイズ において、これらのアイコンの色を変更できます。

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

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

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

注釈

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

ちなみに

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

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

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

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

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

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

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

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

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

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

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

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

15.3.2.4. 自己スナップ

snappingSelf 自己スナップ オプションを使用すると、現在編集中のジオメトリにスナップできるようになります。 先進的デジタイズパネル と組み合わせると、先に描画した辺や頂点に相対的な新しい辺をデジタイズする便利な方法を提供します。自己スナップは無効なジオメトリを引き起こす場合があるため、注意して使用してください。

../../../_images/self_snapping.gif

図 15.88 自己スナップを使用した地物の描画

15.3.2.5. カスタムグリッドへのスナップ

スナップ距離は、レイヤプロパティダイアログの デジタイズ タブでレイヤ単位でもカスタマイズできます。 ジオメトリの精度 の距離を設定することで、マップキャンバスに表示できる縮尺の場合には点のグリッドが表示されるようになります。このとき、スナップは点のグリッドに対して行われ、追加または変更されたジオメトリは、そのすべての頂点が最も近いグリッド点にスナップされます。詳細については、 デジタイズプロパティ を参照してください。

15.3.3. トポロジ編集

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

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

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

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

レイヤがZ値を持つ場合、トポロジ編集は頂点の接続に使用されている辺の値に基づいて頂点のZ値を補間します。

15.3.3.2. 重なりの制御

重なりの防止によって、選択されたレイヤの既存の地物と重なるような新しい地物の作成を防ぐことができるため、隣接するポリゴンのデジタイズが高速化できます。これは、重なりツールでコントロールすることができます。以下に挙げる3つのモードが利用可能です:

  1. allowIntersections 重なりを許容する (デフォルト)

  2. avoidIntersectionsCurrentLayer アクティブレイヤの重なりを禁止 :編集中のレイヤの他の地物との重なりを防ぎます。新しいジオメトリを隣接するジオメトリと重なるようにデジタイズすると、QGISは新しいジオメトリの重なる部分を切り取り、既存の地物の境界線にスナップさせます。境界上の共通の頂点をデジタイズする必要がないことが利点です。

  3. avoidIntersectionsLayers 詳細設定に従う :重なりの設定は 詳細設定 モードでレイヤ毎に設定できます。

注釈

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

警告

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

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

15.3.3.3. 自動トレース

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

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

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

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

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

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

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

注釈

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

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

注釈

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

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

ちなみに

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

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

ちなみに

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

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

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

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

ちなみに

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

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

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

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

アイコン

目的

アイコン

目的

allEdits

全レイヤまたは選択レイヤを同時に保存・ロールバック・編集キャンセルするツールへのアクセス

toggleEditing

アクティブなレイヤのステータスに基づいて、選択したレイヤ(複数可)の編集ステータスのオン・オフを切り替え

saveEdits

アクティブレイヤの編集内容を保存

newTableRow

レコードを追加

capturePoint

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

captureLine

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

capturePolygon

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

vertexTool

頂点ツール(全レイヤ)

vertexToolActiveLayer

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

multiEdit

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

deleteSelectedFeatures

選択した地物をアクティブレイヤから削除

editCut

地物をアクティブレイヤから切り取り

editCopy

選択した地物をアクティブレイヤからコピー

editPaste

地物をアクティブレイヤに貼り付け

undo

アクティブレイヤの変更を元に戻す

redo

アクティブレイヤの変更をやり直す

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

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

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

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

ちなみに

定期的に保存しましょう

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

15.3.4.1. 地物の追加

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

ジオメトリなしの地物を追加するには、 newTableRow レコードを追加 ボタンをクリックし、開いた地物フォームで属性値を入力します。

空間的なツールで地物を作成するには、最初にジオメトリをデジタイズし、それから属性値を入力します。ジオメトリをデジタイズするには、以下の手順で操作します:

  1. マップエリア上で左クリックし、新しい地物の最初の点を作成します。ポイント地物の場合はこれでおしまいで、必要に応じて属性値を入力するための地物フォームが開きます。

  2. ラインやポリゴンジオメトリの場合は、左クリックでキャプチャしたい点の追加を続けます。 地物へのスナップ オプションや グリッドへのスナップ先進的デジタイズ パネルに頼ることで、各頂点を正確な位置に落とすことができます。

    頂点を一つ一つクリックする方法の他に、ラインやポリゴンでは以下のツールを利用可能です:

    • 自動トレース を使用してデジタイズを加速できます。これは配置した頂点間に連続的な直線群を作成します。

    • フリーハンドのデジタイズ:キーボードの R を押すか 先進的デジタイズツールバーstreamingDigitize ストリーム・デジタイジング を有効にすることで使用できます。

    注釈

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

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

    注釈

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

    ちなみに

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

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

  4. ライン地物については、 Shift キーを押しながら右クリックすることで、ラインの輪を自動的に閉じます。

  5. 属性ウィンドウが表示され、新しい地物のための情報を入力します。 図 15.89 では、架空の新しい川に属性を設定しています。ところで、 設定 ► オプション メニュー下の :guilabel:`デジタイズ ` メニューでは以下の設定もできます:

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

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

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

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

15.3.4.2. 頂点ツール

QGISには、ベクタ地物の頂点を操作するためのツールが2つあります:

  • vertexToolActiveLayer 頂点ツール(現在のレイヤ) :( レイヤ パネルの)アクティブなレイヤの地物のみが影響を受けます

  • vertexTool 頂点ツール(全レイヤ) :編集可能なすべてのレイヤの地物が影響を受けます。アクティブレイヤを切り替えることなく地物を編集したり、複数のレイヤ(例えば国とその行政区の境界)を同時に編集することができます。

編集可能なベクタレイヤに対して、頂点ツールは地物の頂点を操作するCADプログラムと似たような機能を提供します。一度に複数の頂点を選択し、移動、追加、削除を行うことができます。また、頂点ツールはトポロジ編集機能をサポートしています。これらのツールは選択状態を維持し続けるため、何らかの操作を行った場合でも、その地物とツールの選択状態が維持されます。

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

ちなみに

頂点マーカー

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

基本操作

あるレイヤが編集モードにあるとして、まず最初に頂点ツールを有効にします。すると、頂点にマウスカーソルを重ねた際に赤い丸が表示されます。

  • 頂点の選択 :以下の操作で頂点を選択できます

    • Shift キーを押しながら頂点をクリックすることで、一度に複数選択する

    • クリック&ドラッグで長方形を描き、ターゲットの頂点群を囲んで選択する

    • ターゲットの頂点群を囲むポリゴンを描いて選択する: Alt キーを押しながらクリックすることで、頂点ツールでポリゴンのデジタイズを開始します。続けてクリックするたびに、ラバーバンドポリゴンに新しい頂点を追加します。 Backspace キーまたは Delete キーを押すと、最後に追加したラバーバンドの頂点を削除します。 Esc キーはポリゴン選択モードをキャンセルします。これは、BackspaceやDeleteキーでラバーバンドのすべての頂点を削除した場合も同様です。右クリックするとポリゴンのデジタイズを終了し、ラバーバンドポリゴン内の頂点がすべて選択されます。

    頂点を選択すると、選択された頂点の色が青に変わります。現在の選択に頂点を追加するには、 Shift キーを押しながら上記の操作を行います。現在の選択から頂点を削除するには、 Ctrl キーを押しながら操作します。

    ちなみに

    地物選択によって頂点ツールを制限する

    頂点は複数の地物(やレイヤ)にまたがって選択できます。頂点が込み入った場所で特定の地物の頂点を探したい場合には、最初にその地物を選択してください。それから頂点ツールで長方形を描画したりポリゴン選択を行えば、選択した地物の頂点のみが選択されます。

    これは、 頂点エディタ パネル内に地物を表示している場合も同様です。

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

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

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

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

  • 頂点の追加 :ラインジオメトリやポリゴンジオメトリに頂点を追加するには、 Shift キーを押しながらセグメント上でダブルクリックします。

    セグメントにマウスカーソルを重ね得ると、セグメントの中央に仮想の新しいノードが現れます。このノードをクリックして、カーソルを別の位置に持っていき再度クリックすると、新しい頂点が追加されます。ラインについては、 両端にも仮想ノードが用意されています。これをクリックし、さらにクリックを続け、右クリックで終了すると、既存のラインを簡単に延長することができます。

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

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

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

  • 頂点の移動 :移動させたい頂点をすべて選択し、選択した頂点または辺をクリックして、移動させたい新しい場所でもう一度クリックします。 地物へのスナップ機能 を使用したり、 先進的デジタイズパネル を使用して2回目のクリックの前に距離や角度、正確なXY座標位置に関して制限をかけることができます。選択したすべての頂点が平行移動します。

    ただし、 グリッドへのスナップ オプションが有効になっている場合には、選択した頂点は移動先の位置から最も近いグリッド交点にスナップします。選択しなかった頂点も同様に、最も近いグリッド交点へと移動します。この場合は単純な平行移動にはなりません。

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

    図 15.92 上の頂点を移動させると、全ての頂点がグリッドにスナップする

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

頂点エディタパネル

頂点ツールを有効にしているときに、 頂点エディタ パネルを開くことできます。地物上で右クリックすると、パネルには地物のすべての頂点の xy (と、あれば zm )座標および r (円形ジオメトリの場合の半径)が一覧表示されます。また、編集はこの地物専用となり、他の地物の編集は無効化されます。新しい頂点はこの地物にのみ追加可能で、マップキャンバスのクリック&ドラッグでの頂点やセグメントの選択や移動はこの地物に対してのみ可能です。 また、テーブルの行を単に選択するとマップキャンバス内で対応する頂点が選択され、その逆も同様です。テーブル内の座標を変更すると、頂点の位置が更新されます。複数の行を選択して、それらを完全に削除することもできます。

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

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

15.3.4.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シェープファイルドライバが、挿入されるデータの長さに合わせて動的に文字列や整数のフィールドを自動拡張することを認識しているからです。

15.3.4.4. 選択地物の削除

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

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

15.3.4.5. 元に戻すとやり直し

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

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

図 15.94 デジタイズ操作を元に戻す・やり直す

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

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

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

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

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

ちなみに

データの整合性

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

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

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

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

ちなみに

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

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

15.3.5. 先進的デジタイズ

アイコン

目的

アイコン

目的

cad

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

digitizeWithCurve

曲線でデジタイズ

streamingDigitize

ストリーム・デジタイジングを有効にする

moveFeature moveFeatureLine moveFeaturePoint

地物の移動

moveFeatureCopy moveFeatureCopyLine moveFeatureCopyPoint

地物のコピーと移動

rotateFeature

地物の回転

simplify

地物の簡素化

scaleFeature

地物をスケーリング

addRing

リングを追加

addPart

部分を追加

fillRing

リングの充填

reverseLine

線の向きの反転

deleteRing

リングの削除

deletePart

部分の削除

offsetCurve

曲線のオフセット

reshape

地物の変形

splitParts

部分の分割

splitFeatures

地物を分割

mergeFeatureAttributes

選択地物の属性結合

mergeFeatures

選択地物の結合

rotatePointSymbols

点のシンボルの回転

offsetPointSymbols

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

trimExtend

地物をトリム/延長

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

15.3.5.1. 直線、曲線デジタイズとストリーム・デジタイジング

digitizeWithCurve 曲線でデジタイズ ツールを使用すると、曲線をサポートするジオメトリを持つレイヤに曲線を描画することができます。曲線のデジタイズには、曲線を定義する3点(始点、弧上の点、終点)を指定する必要があります。

streamingDigitize ストリーム・デジタイジング ツールを使用すると、フリーハンドモードで地物を作成できる、ストリーム・デジタイジングを有効 / 無効にすることができます。

「ストリーム許容量」は、連続する頂点の間隔に影響します。現時点では、ピクセル単位( px )のみをサポートしています。

15.3.5.2. 地物の移動

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

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

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

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

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

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

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

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

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

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

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

注釈

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

15.3.5.3. 地物の回転

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

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

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

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

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

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

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

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

15.3.5.4. 地物をスケーリング

scaleFeature 地物をスケーリング ツールは、地物の回転と似たようなツールです。選択した地物の回転を行う代わりに、ジオメトリの再スケーリングを行います。変更はアンカーポイントを基準にして行われ、拡大縮小の比率はキャンバス上部の角に表示されるウィジェットで手動で指定することもできます。

15.3.5.5. 地物の簡素化

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

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

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

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

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

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

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

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

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

注釈

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

15.3.5.6. 部分を追加

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

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

15.3.5.7. 部分の削除

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

15.3.5.8. リングを追加

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

15.3.5.9. リングの充填

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

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

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

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

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

15.3.5.10. リングの削除

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

15.3.5.11. 地物の変形

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

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

図 15.95 ラインの変形

ちなみに

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

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

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

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

図 15.96 ポリゴンの変形

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

注釈

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

15.3.5.12. 曲線のオフセット

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

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

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

15.3.5.13. 線の向きの反転

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

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

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

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

15.3.5.14. 地物を分割

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

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

  1. splitFeatures 地物を分割 ツールを選択します。

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

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

ちなみに

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

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

15.3.5.15. 部分の分割

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

ちなみに

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

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

15.3.5.16. 選択地物の結合

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

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

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

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

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

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

    • もっとも長い地物の属性のみ を押して、最も長いライン地物、最も大きなポリゴン、最も多くのパートを持つマルチポイントの属性値を利用する

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

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

    注釈

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

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

15.3.5.17. 選択地物の属性結合

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

15.3.5.18. 点のシンボルの回転

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

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

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

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

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

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

    注釈

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

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

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

    図 15.97 点のシンボルの回転

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

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

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

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

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

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

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

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

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

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

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

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

注釈

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

15.3.5.20. 地物をトリム/延長

trimExtend トリム/延長 ツールを使用すると、(マルチ)ラインや(マルチ)ポリゴンジオメトリのセグメントを選択したセグメント(切断線)に一致するように短縮または延長できます。この結果、変更されたジオメトリはターゲットのセグメントまたはその延長線上にスナップする頂点を持ちます。選択されたジオメトリが互いにどのように関連して配置されているかによって、このツールは以下のいずれかを行います:

  • トリム :ラインのセグメントやポリゴンの境界のうち、切断線を越える部分を削除する

  • 延長 :ポリゴンの境界やラインのセグメントを切断線にスナップするように延長する

既存のジオメトリをトリムまたは延長するには:

  1. 関係するレイヤ(群)のセグメントに対して、適切に スナップ設定 を有効化します

  2. trimExtend トリム/延長 ツールを選択します

  3. 対象とする限界セグメント、つまりは他のセグメントの延長またはトリムに関して限界となるセグメントをクリックします。このセグメントはハイライト表示されます。

  4. トリムまたは延長させたいセグメントにカーソルを移動させます。これはジオメトリの最後のセグメントである必要はありませんが、アクティブレイヤ上にある必要があります。

  5. トリムまたは延長させたいセグメント上にカーソルを乗せると、QGISは地物のジオメトリがどのようになるかプレビューを表示します。OKならば、セグメントをクリックしてください。トリムの場合には、短くする方の部分を選択する必要があります。

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

注意

trimExtend トリム/延長 ツールを使用する際には、変更されたジオメトリに注意してください。入力によっては、このツールは不正なジオメトリを作成することがあり、レイヤの保存時に失敗する可能性があります。

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

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

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

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

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

注釈

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

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

15.3.6.2. 円を描く

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

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

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

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

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

  • circle3Tangents 3本の接線で円を追加 :3つのセグメントに接する円を描きます。 セグメントへのスナップを有効にする必要があることに注意してくださいスナップ許容範囲と検索半径の設定 参照)。セグメントをクリックし、接線を追加します。2つの接線が平行な場合には、平行な接線をクリックした最初の座標を使用して円の位置を決定します。3つの接線が平行な場合には、エラーメッセージを表示して入力はクリアされます。(左クリック、左クリック、右クリック)

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

15.3.6.3. 楕円を描く

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

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

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

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

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

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

15.3.6.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

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

15.3.6.5. 正多角形を描く

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

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

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

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

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

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

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

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

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

注釈

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

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

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

15.3.7.1. ツールバー

先進的デジタイズパネル の上部には、以下のボタンがあります:

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

  • cadConstruction 作図モード を使用すると、クリックした位置をキャプチャして、距離や角度、X、Y、Z、M値の相対値を固定するための参照点として利用できます。詳細は 作図モード を参照してください。

  • cadParallel Parallel 既存の線に平行な線を引くために使用します(詳細は 平行線と垂直線 参照)

  • cadPerpendicular Perpendicular 既存の線と垂直な線を引くために使用します(詳細は 平行線と垂直線 参照)

  • settings 共通角にスナップする :カーソルを動かすとスナップできる仮想の線が表示され、次の頂点を追加するために利用できます。スナップ可能な線は、最後に追加した頂点とプリセットのリスト(5°、10°、15°、18°、22.5°、30°、45°、90°刻み)から選択した角度(絶対角度または前のセグメントに対する相対角度)によって定義されます。この機能を無効にするには、 共通角にスナップしない を選択します。

  • floater Floaterの切り替え :カーソルのすぐそばに座標値のライブプレビューを表示します。カーソルの座標値は パネルのショートカット を使用してアクセスや編集ができます。

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

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

キー

キー単独

Ctrl+ または Alt+

Shift+

D

距離を設定

距離をロック

A

角度を設定

角度をロック

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

X

X座標を設定

X座標をロック

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

Y

Y座標を設定

Y座標をロック

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

Z

Z座標を設定

Z座標をロック

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

M

M値を設定

M値をロック

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

C

作図モードを切り替え

P

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

注釈

Z座標とM値のオプションは、レイヤのジオメトリ次元が対応している場合にのみ利用可能です。

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

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

例えば、ポリゴンレイヤに新しい地物を追加するために capturePolygon ボタンをクリックしたとします。地物の編集を開始したい正確な座標を次のようにして入力できます:

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

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

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

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

  5. Z座標やM値を持っているならば、上と同様にしてZ座標やM値を入力できます(それぞれ zm テキストボックス)。

    2つの青点線と緑色のバツ印が、入力した正確な座標を表します。

  6. マップキャンバス上をクリックして、デジタイズを開始します。頂点は緑色のバツ印の位置に追加されます。

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

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

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

  8. 指定した長さのセグメントを描画したい場合には:

    1. d (距離) テキストボックスをクリックします(またはキーボードショートカット D

    2. (マップの単位で)距離の値を入力します。

    3. Enter キーを押すか、右にある locked ボタンをクリックして、マップキャンバスのマウス位置をこのセグメント長さになるようにロックします。マップキャンバスでは、距離テキストボックスに入力した値を半径とする円によって最後の頂点が囲まれます。円周上のバツ印が、クリックした場合の次の頂点の位置を表します。

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

    図 15.101 固定長セグメント

  9. また、セグメントの角度を設定することで頂点位置を制限することもできます。前述と同様に、以下のように操作します:

    1. a (角度) テキストボックスをクリックします(またはキーボードショートカット A

    2. (度単位で)角度の値を入力します。

    3. Enter キーを押すか、右にある locked ボタンをクリックして、角度をロックします。最後の頂点を通り、設定した角度で回転した線がマップキャンバスに表示されます。線上のバツ印が、クリックした場合の次の頂点の位置を表します。

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

    図 15.102 固定角セグメント

ヒント

Ctrl+<key> または Alt+<key> を押すと、ターゲットとするプロパティを自動的にロックし、値の編集状態になります。値を編集して Enter キーを押せば完了です。 floater Floaterの切り替え と一緒に使用すれば、キーボードでデジタイズができ、非常に時間短縮になります。

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

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

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

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

15.3.7.5. 継続的な固定

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

15.3.7.6. 平行線と垂直線

上記のツールはすべて、 cadPerpendicular 垂直 および cadParallel 平行 ツールと組み合わせることができます。これらの2つのツールは、別のセグメントに対して完全に垂直または平行なセグメントを描画できます。ターゲットとなるセグメントは他のレイヤのセグメントでも良いですし、同じレイヤ内の別の地物や、デジタイズ中の地物のセグメント( 自己スナップオプション の設定が必要)とすることもできます。

垂直 なセグメントを描画するには:

  1. セグメントの頂点の一つを追加します。

  2. cadPerpendicular 垂直 アイコンをクリックして(またはキーボードショートカット P )垂直モードを有効にします。

  3. 描画するセグメントに対して垂直としたいセグメントをクリックします。

  4. 最初の頂点を通り、クリックしたセグメントに対して垂直な仮想点線が表示されます。角度プロパティはロックされ、次の頂点は仮想点線上に制限されます。バツ印は、カーソル位置を仮想点線上に射影した位置を表します。クリックすると、新しい頂点を配置します。

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

    図 15.103 垂直デジタイズ

平行 なセグメントを描画する場合も上と同様ですが、 cadParallel 平行 アイコンをクリックする(またはキーボードショートカット P を2回押す)必要がある点だけが異なります。

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

図 15.104 平行デジタイジング

これらの2つのツールは単に、垂直や平行となるちょうどの角度を見つけて、編集中に角度パラメータをロックするだけです。角度パラメータのロックを解除すると、デジタイズ中のこれらの2つのツールの使用をキャンセルします。

15.3.7.7. 作図モード

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

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

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

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

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

図 15.105 点からの距離

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

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

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

図 15.106 点からの距離と角度

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    注釈

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

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

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

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

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