QGISには、最大面積、境界線間の距離などのパラメーターを設定することにより、ポリゴンの穴を自動的に埋めるオプションがありますか?非常に「薄い」/小さい穴を削除/埋めたい。
QGISには、最大面積、境界線間の距離などのパラメーターを設定することにより、ポリゴンの穴を自動的に埋めるオプションがありますか?非常に「薄い」/小さい穴を削除/埋めたい。
回答:
このシェープファイルでは、ポリゴン間に多くのギャップがあるため、あなたと同じ問題に直面しました。
問題を解決するために、tshiffleの方法を少し変更することができます。
このアクションは、1つのポリゴンのみで構成される新しいシェープファイルを作成するため、単一のパーツに分解する必要があります。そのためには、Vector / Geometry Tools / Multipart to singlepartsツールを使用できます。
その後、外部エンティティを削除します。これで、新しいシェープファイルに、元のカバレッジのギャップをカバーする複数のポリゴンができました。
もっと洗練された解決策があるかもしれませんが、これは常に私にとってはうまくいきました。
1)「穴埋め」ポリゴンを作成します。これを行うには、元のポリゴンよりも大きな巨大なポリゴンを描画し、「差分」ツールを使用します。はるかに大きなポリゴンを描いた場合、すべての「穴埋め」ポリゴンに加えて、元の形状を囲む単一の大きなポリゴンができます。「穴埋め」ポリゴンを維持したまま、その大きなポリゴンを削除します。
2)「穴埋め」ポリゴンを元のシェープファイルとマージします。特定の基準(X平方キロメートル以下)に適合する穴のみを埋めたい場合は、ここでフィルタリングできます。
3)共通フィールドで新しくマージされたポリゴンを解決します。
gtapkoやtshiffleのパスと同じパスをたどるいくつかの説明を見てきましたが、無効なジオメトリにより差分ツールが機能しなくなったため、私にとってはうまくいきませんでした。そこで、100%自動化されていないが、管理可能な独自のソリューションを思いつきました。おそらく誰かがすでにこれを考え出したが、私は私のチャンスを取ります:
1)元の損傷したレイヤーにIDを作成します
ID属性の作成は簡単ですが、私の解決策も同様です。
まず、属性テーブルを開いてから、フィールド計算機に移動する必要があります。これは、そろばんによく似たボタンです。そこで、新しいフィールドを作成するか、既存のフィールドを更新するオプションが与えられます。上の写真では、「ID」という新しいものを作成しています。数式は図の最後にあります。(QGISを別の言語でセットアップしてしまったことはごめんなさい。設計と式は言語バージョン全体でまったく同じなので、ここで邪魔になるとは思わない。)
2)ポリゴンをラインに変換する
この手順は、メニューの[ベクター]> [ジオメトリ ]セクションにあります。変換された形状は次のようになります。
ポリゴンをラインに変換した直後に、正反対の操作を行う必要があります。
3)ラインをポリゴンに変換する
オプションは互いに隣り合っています。繰り返しになりますが、ここで言語の壁を気にしないでください。
4)喜ぶ ステップ2と3を実行した理由は、これらの線がポリゴンと見なされることが確実になったためです。つまり、属性テーブルに独自の線があることになります。チェックアウトすると、次のようになります。
最初のものは常にポリゴン全体です(私を信じてください、今日数百行削除しました...)そして残りは真ん中のゆるい線です。編集を有効にして、アクションの準備をすることができます。これを試すことに決めた場合、留意すべき2つのことは、テーブルをIDごとに整理することです。この方法では、他のプログラムと同様に、データのクラスターを選択するためにシフトを使用します。 。
これはQGISの問題解決のクレームではありませんが、これらのラインが作成する無効なジオメトリのためにツールが機能しない状況に直面している場合は(IDで解消しようとしましたが、うまくいきませんでした)、これは抜け道かもしれません。