タイル境界で分割されたシェープファイル内の隣接するポリゴンをマージしますか?


24

現在、Ordnance Survey Vectormap Districtの建物データを使用していますが、OSがシェープファイルを分割する方法のために、多くの建物ポリゴンが2つに分割されていることに気付きました。

これはQGISで見ているものです。タイル境界で分割された建物の一部を強調表示しました。

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

境界で分割された建物が多すぎるため、手動で建物をマージすることはできません(これは単なる例です)。私はこれを解決する自動化された方法を探しています。

残念ながら、分割された建物の両側には異なるIDがあるため、簡単にそれらを分解することはできません。

建物のタイルを自動的にマージできることをどのように提案しますか?

編集

現在、PostGISを使用して、タイル境界で分割されたポリゴンをマージしています。これは私のためにこれを行うSQLステートメントです。QGISで行うよりも何倍も高速です。

DROP TABLE merged;
CREATE TABLE merged AS
SELECT
  -- Merge polygons that are within 0.01 metres of each other
  (ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom
FROM unmerged;

-- Update the geometry_columns table
SELECT Populate_Geometry_Columns();

6
あなたはおそらくあなたのソリューションを答えとして投稿し、私の代わりにそれを受け入れるべきです。質問と回答のスキームに固執することで、同じ問題を抱えている他の人が解決策を見つけやすくなります。
ジェイク

回答:


18

単にエッジをディゾルブするだけで、すべての建物に1つの大きなマルチポリゴンフィーチャがあることに満足している場合は、fToolsの「ディゾルブ」ツール(「ベクトル/ジオプロセシング/ディゾルブ」)を使用できます。

属性を保持したい場合(IDのみであるOSベクトルの場合、かなりarbitrary意的と思われる)、ディゾルブされたベクターレイヤーを分割し、「属性を結合」を使用して元のディゾルブされていないレイヤーの属性を割り当てることができます場所ごと」:

これは、「Vector / Data management / Merge shapefiles into one」を使用して単一のシェープファイルにマージされた2つのOS建物シェープファイルのサブセットです。個々の機能を示すために、色はランダムに割り当てられます。

これは「ディゾルブ」ツールの結果です。すべてのフィーチャは、最初のオブジェクトのIDを持つ単一のフィーチャにディゾルブされ、3つの中央の建物の休憩はなくなりました。

「Vector / Geometry / Multipart to singleparts」を使用してフィーチャを分割すると、建物は再び個別のフィーチャになりますが、すべて同じIDになります。

「ベクター/データ管理ツール/場所による属性の結合」を実行し、分割レイヤーをターゲットとして、元の結合レイヤーを結合ベクターレイヤーとして、建物に個々のIDを再割り当てします。


問題は、これがOS VMD OpenDataである可能性があると思います(間違っている場合は修正してください)。その場合、フィーチャにはディゾルブに使用できる属性がありません。したがって、通常のfToolsディゾルブを使用することもできます。幸運なことに、OpenDataのいくつかのベクターでは、ポリゴンが線で分割されており、それら溶解しないグリッド線と一致してます。
nhopton

@nhopton:しかし、通常のfToolsディゾルブはすべての機能を単一の機能にまとめます(ここにあるように、どの機能が一緒に属しているかを識別するために使用できるIDがない場合)。v.dissolveすべての機能に同一のダミー属性を割り当てた後に使用する場合、境界を共有するもののみが一緒にマージされます。
ジェイク

Robにとって必要なのは、形状だけであれば、おそらく1つの機能で問題ありません。しかし、はい、溶解の両方の方法を試してください。ニック。
nhopton

分解されるべきだったすべてのポリゴンが実際に分解されたと確信していますか?ここではそれらのほとんどが溶解しますが、すべてではありません。
nhopton

助けてくれてありがとう!@nhoptonが正しかったことがわかり、VectorMap Districtの分割は実際には少しずれているため、正しく解消されていません。現在、このプロセスを高速化するためにPostGISを使用して実験しています。
ロビンホークス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.