「関心領域」ポリゴンマスクを作成する方法


12

ArcGISを使用して、選択したフィーチャから「関心領域」マスクを作成するGPツールを作成しました。事実上、穴が以前に選択されたフィーチャである新しいドーナツポリゴンレイヤーが作成されます。このタスクをQGISで複製できますか?

例:特定のマップについて、州内の郡を強調表示し、郡の外側の州と地物をマスクし、上に灰色の半透明のポリゴンレイヤーを配置します。概念的には、これと同じようにします。

  1. ユーザーは州、郡、河川の層を読み込みます
  2. ユーザーが関心のある郡を選択します
  3. 最初に選択されたポリゴンなしで、選択されていないすべてのフィーチャをドーナツシェープファイルにエクスポートするユーティリティ(存在する場合)を実行します。このレイヤーマスクがQGISでのみ使用可能な「メモリ内」レイヤーである場合、それも問題ないでしょう。

このタイプのツールまたは機能はQGIS内に既に存在しますか、またはこれをカスタム関数として記述する必要がありますか?

これは、ArcGISでModelBuilderを使用してどのように実行したか、探している結果です。ここでは、州全体に黄色のレイヤーと川のレイヤーがあり(画像全体にわたって)、灰色のレイヤーは透明で「ドーナツ穴」があり、明るい黄色の部分が表示され、関心のある領域に視聴者の注意を引くことができます。

ここに画像の説明を入力してください ここに画像の説明を入力してください

回答:


12

マスクを作成するには、レイヤー範囲からのポリゴン(ベクター-リサーチツール)と差分(ベクター-ジオプロセシングツール)を「選択したフィーチャのみを使用」オプションを有効にして使用することをお勧めします。

「選択されていないすべての機能をドーナツシェープファイルにエクスポートする」場合は、Dissolveを試すことができますが、非常に遅く、小さな穴などの次善の結果になる可能性があります。

レイヤー範囲ツールからの多角形を使用して大きな多角形を作成し、選択した郡を切り取るのははるかに高速です。


12

この解決策の方向性について@underdarkに感謝します。fTools関数「Difference」は、まさにタスクを達成したツールでした。ただし、あなたの提案とは異なり、「レイヤー範囲からポリゴン」を最初に作成する必要はありませんでした。

代わりに、解決策は次のとおりでした。

  1. データレイヤー(国)を読み込む
  2. 対象の機能を選択します(郡A)
  3. ベクター->ジオプロセシング->差分ツールを使用します
  4. 両方の入力として郡レイヤーを選択し、「選択されたフィーチャを使用」が入力ベクターレイヤーでオフ、差分レイヤーでオンにチェックされています。

ここに画像の説明を入力してください

これにより、選択したフィーチャを除く、入力からのすべてのフィーチャを含むレイヤーが提供されます。ありがとう!


2
賛成票は十分に「ありがとう」です;)
暗闇

これはうまく機能します。唯一の欠点は、郡が海またはポリゴンのない他のエリアに接しているため、これらのエリアがマスクされないことです。
JimS-W

3

Vector> Geoprocessing Tools> Symmetrical Difference(standard core tools)にあるQGIS 1.6 のSymmetrical Differenceは、2つの入力ポリゴンからマスクを生成するはずです...

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.