GIS/gis로 시각화 자료 만들기

Qgis에서 객체 병합하기(필지 합치기, 시군구 합치기)

조달송 2021. 9. 3. 20:13
728x90

최근 포스팅이 뜸해서 스스로 찔리던 차에 도움을 요청하는 댓글이 달렸다. 지구단위구역계를 gis로 표현하고 싶으신 분의 댓글이었는데, 관련해서 답글을 달다가 내가 포스팅을 까먹은 내용이 있다는 것을 알게되어서 이렇게 오랜만에 포스팅을 한다. 댓글의 내용은 다음과 같다(포스팅과 관련해서 아이디어를 주신 초심자의 행운님 감사합니다:) ) ★댓글환영★

즉, 지구단위구역계를 표현하기 위해서는 여러 필지를 하나로 합해주어서 하나의 객체로 만들 필요가 있는데 이런 경우 캐드를 켜지 않고도 qgis에서 충분히 해결할 수 있다. 비슷한 경우로, 경기도 내 시군구별 자료를 살펴보고자 할때 행정구가 나누어져있는 경우(경기도 내에서 양평군, 양주시 이런식으로 데이터가 있다가 고양시 일산서구, 수원시 영통구 등 행정구가 나뉘어져 비교가 힘든 경우)에도 이 방법을 통해 나누어져있는 행정구를 하나로 합쳐서 시의 경계로 만들어줄 수 있다. 

따라서, 시군구 데이터를 가지고 객체를 병합하는 방법을 설명드리도록 하겠다. 


1. 데이터 확인하기

아래와 같이, 시군구 경계 데이터를 다운받아서 경기도 데이터만 추출하면 가평군, 고양시 3개구, 과천시, …. 성남시 3개구, 수원시 3개구, 시흥시 등 규모가 큰 도시의 행정구가 하나의 객체로 나누어 표현되어 있다. 물론 인구데이터 등 통계데이터에서도 행정구를 나누어서 데이터를 제공하지만 아무래도 시군구별 시설의 수와 같은 자료를 표로 만들때에는 행정구(고양시 일산서구, 일산동구, 덕양구)보다는 시군구(고양시)로 표현할 필요가 있기도 하다.  

 

2. 편집한 데이터를 저장하기 위해 shp파일을 다른이름으로 저장하기(유효한 도형으로 수정하기)

만약 객체를 병합하는 방법이 복잡하거나 어렵다면 캐드를 추천하겠지만, 굉장히 쉽기 때문에 객체 병합에는 이방법을 추천한다. 

본격적으로 설명드리기에 앞서 일단 객체를 병합하는 것은 데이터 자체를 편집하는 것이기 때문에 데이터를 내보내서 다른 이름으로 저장해주는 것이 좋다. 왜냐하면 편집모드를 켜서 객체를 병합하고, 편집모드를 끄면서 저장하게 되면 기존 데이터에 덮어쓰게 되기 때문이다. 하지만 편집하고자 하는 데이터가 유효한 데이터야지 병합이 정확하게 된다. 따라서 도형수정으로 유효한 도형으로 만든 후 나온 결과물을 저장하면 번거롭지 않게 원하는 작업을 할 수 있다. 도형 수정은 아래의 글을 참고하자.

Qgis 유효하지않은 도형 문제 한번에 해결하기(도형 수정)

 

Qgis 유효하지않은 도형 문제 한번에 해결하기(도형 수정)

많은 분들이 유효하지 않은 도형 문제를 해결하기 위해 아래의 포스팅을 방문했다. 저 포스팅에서는 버텍스 도구를 활용해서 유효하지 않은 도형을 하나하나 수정하는 방법으로 문제를 해결했

urbn-ds.tistory.com

728x90

 

3. 객체 병합을 위해 편집모드 실행하고 고급디지타이징 툴바 켜기

객체 병합을 하기 위한 준비과정은 끝났다. 병합을 위해 노란색 연필모양을 클릭하여 편집모드를 실행해주자. 그리고 우리가 원하는 작업을 위해, 툴바 부분의 회색 부분을 클릭하여 고급디지타이징 툴바를 선택해주자. 

 

4. 병합할 객체 선택 후, 객체 병합 수행

편집모드(①)와 고급디지타이징 툴바(②)를 실행해주었다면, 이제 하나의 객체로 병합해줄 객체들을 선택하면 된다(③) . 속성테이블에서 선택하거나, 선택툴바를 활용해서 선택해주면 된다. 이후, 아래 그림과 같이 고급디지타이징 툴바에 있는 아이콘 중 선택한 객체 병합(④)을 클릭하여 주면 된다.

'선택한 객체 병합'을 클릭하면 아마 아래와 같은 창이 뜰 것이다. 여러개의 객체를 하나의 객체로 합쳐주다보니, 하나의 객체에 부여할 속성값을 정해주는 창이다. 아래 빨간색 박스가 쳐진 부분이 병합된 하나의 객체에 부여될 속성값으로, 주황색 박스 부분에서 '수동값'을 선택해서 내가 원하는 값을 입력해주거나 객체 중에서 선택하여 값을 가져올 수도 있다. 만약 인구수와 같은 데이터가 있고 인구수 필드가 숫자 형식으로 되어 있으면, 합계 값을 ID부분에서 선택해서 입력할 수도 있다. 

5. 객체 병합 후 내부의 선 정리하기

4번까지의 과정을 완료했다면, 아래와 같이 성남시가 하나의 객체로 병합된 것을 확인할 수 있을 것이다. 병합은 잘 되었으나 우리가 원하는 것과 달리 내부에 선이 지저분하게 남아있는 경우가 있다. 이럴때는, 편집모드를 유지한채로 버텍스툴바(꼭짓점 도구)를 활용하여 내부의 선을 선택한 후 delete를 눌러 삭제해주면 된다. 

버텍스 툴바는 아래 그림의 위쪽에 표시되어있는곳에 있으며, 한번에 지우기 위해서는 성남시 내부(빨간 박스)부분에서 우측 아래쪽에서 좌측 위쪽으로 대각선으로 드래그를 하면 한번에 내부 점들이 선택되므로 이를 선택하고 삭제하면 된다. 

알고 있으면 이래저래 자주 활용하는 기능이니 숙지하시면 좋겠다:). 나아가 다른 고급디지타이징툴바도 한번씩 활용해보는 것을 추천한다!

반응형