타일 ​​경계에서 분할 된 shapefile에서 인접한 다각형을 병합 하시겠습니까?


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
솔루션을 답변으로 게시하고 대신 내 솔루션을 수락해야합니다. 질문-답변 계획을 고수하면 같은 문제를 가진 다른 사람들이 해결책을 찾기가 훨씬 쉬워집니다.
Jake

답변:


18

단순히 모서리를 해체하고 모든 건물에 하나의 큰 다중 다각형 기능이 있으면 행복하게 fTools "Dissolve"도구 ( "Vector / Geoprocessing / Dissolve")를 사용할 수 있습니다.

속성을 유지하려면 (ID 인 OS OS의 경우 다소 임의적 인 것처럼 보임), "용접 속성"을 사용하여 용해 된 벡터 레이어를 분할 한 다음 원래의 해석되지 않은 레이어의 속성을 할당 할 수 있습니다. 위치 별 ":

이것은 "벡터 / 데이터 관리 / 모양 파일을 하나로 병합"을 사용하여 단일 모양 파일로 병합 된 두 개의 OS 건물 모양 파일의 하위 집합입니다. 개별 기능을 표시하기 위해 색상이 무작위로 할당됩니다.

이것은 "디졸브"도구의 결과입니다. 모든 피처가 첫 번째 객체의 ID를 가진 단일 피처로 분리되었습니다. 세 개의 중앙 건물이 끊어졌습니다.

"벡터 / 형상 / 멀티 파트를 단일 파트로"를 사용하여 피처를 분할 한 후 건물은 다시 개별 피처이지만 모두 동일한 ID를 갖습니다.

분할 레이어를 대상으로하고 원래 병합 된 레이어를 결합 벡터 레이어로하여 "벡터 / 데이터 관리 도구 / 위치 별 속성 결합"을 실행하면 건물에 개별 ID가 다시 할당됩니다.


문제는 이것이 OS VMD OpenData (잘못 된 경우 수정)라는 것입니다. 이 경우 기능에는 분해에 사용할 수있는 속성이 없습니다. 따라서 일반적인 fTools 디졸브를 사용해보십시오. 이것으로 행운을 빕니다. 일부 OpenData 벡터에는 다각형이 분리 되지 않는 그리드 선과 일치하는 선으로 나뉘어져 있습니다.
nhopton

@ nhopton : 그러나 일반적인 fTools 디졸브는 모든 기능을 단일 기능으로 묶습니다 (여기서와 같이 어떤 기능이 함께 속하는지를 식별하는 데 사용할 수있는 ID가없는 경우). Rob은 원하지 않습니다. v.dissolve모든 기능에 동일한 더미 속성을 할당 한 후 사용 하는 경우 경계를 공유하는 기능 만 병합됩니다.
Jake

Rob이 자신을 따르는 모든 것이 모양이라면 단일 기능은 아마도 문제가되지 않을 것입니다. 그러나 그렇습니다. 두 가지 용해 방법을 모두 시도하십시오. 새긴 ​​금.
nhopton

용해해야 할 모든 다각형이 실제로 용해 되었습니까? 여기서 대부분은 해산되지만 전부는 아닙니다.
nhopton

도와 주셔서 감사합니다! @nhopton이 옳았으며 VectorMap District 스플릿이 실제로 약간 떨어져서 제대로 용해되지 않는 것으로 나타났습니다. 이제 PostGIS를 사용 하여이 프로세스 속도를 높이는 실험을하고 있습니다.
Robin Hawkes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.