QGISで対応する属性のみを使用して、ベクターレイヤーから別のベクターレイヤーにフィーチャをコピーする方法


13

2つのベクターレイヤーがあります。

地域のすべての地籍区画を持つ最初の区画。このレイヤーにはいくつかの属性がありますが、これはジオメトリと3つの属性のみです。

2番目のレイヤーは、同じ地域からの区画の選択です。このレイヤーには7つの属性があります。最初の3つの属性は、すべての地籍区画を含む最初のレイヤーの3つの属性と同じです。その後、他の4つの属性が入力されます。

属性テーブルの右側のフィールドにあるジオメトリと一致する属性のみを使用して、最初のレイヤーから2番目のレイヤーにパーセルをコピーするにはどうすればよいですか?

回答:


8

あるレイヤーから別のレイヤーにフィーチャをコピーする場合、属性は元の属性テーブルに表示されたのと同じ順序でコピーおよび貼り付けられます。属性/列名は考慮されません。

これはあなたがそれを機能させる方法です:

元のパーセルレイヤーは、重要な3つの属性が属性テーブルの最初に来るように再構築する必要があります。

その後、元のレイヤーからターゲットレイヤーにフィーチャをコピーすると、すべての属性はコピーされますが、少なくとも目的の属性値は正しい列に格納されます。残りは削除または上書きできます。


これはうまくいくようですが、属性テーブルの再構築に問題があります。プラグインテーブルマネージャーを使用し、1を除くほとんどのシェイプファイルで、地籍区画を含む元のレイヤーで正常に動作します。このシェープファイルは100MBであり、プラグインを起動しようとするたびにQGISがクラッシュします。また、フィーチャをコピーすると、QGISがこのフィーチャの属性をコピーする場合がありますが、以前にコピーしようとしたフィーチャのジオメトリがコピーされることがあります。
マールテンデコーン

5

underdarkによって提案された方法で問題が発生している場合、次の代替アプローチが考えられます。

  • 元のレイヤーからフィーチャを選択します。これは、手動で行うことも、属性テーブルウィンドウの(高度な)検索機能などを使用して行うこともできます。選択範囲を新しいレイヤーとして保存します(選択範囲を保存)。
  • オプション。興味のない列をテーブルマネージャーで削​​除する
  • 新しいレイヤーをターゲットレイヤーにマージします(複数のシェープファイルのマージに関するこのgis stackexchangeの質問を参照してください)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.