GIS

QGIS 3.2: 벡터 중첩 시 유효하지 않은 객체(invalid geometry) 무시하기

유병혁 2018. 9. 23. 19:45

안녕하세요?  이번 글은 QGIS 3.2에서 벡터 중첩 시 유효하지 않은 객체(invalid geometry)를 무시하는 방법을

정리하였습니다. 우리나라 행정구역과 국립공원 경계를 중첩하는 예제를 통해 해당 설정을 확인해 보겠습니다.

 

각각의 공간데이터는 아래 글을 참고하시기 바랍니다.

전세계 국가 및 구역별 공간데이터 제공 'GADM' 소개 | http://blog.daum.net/geoscience/1257

KDPA(한국보호지역 통합DB관리 시스템)에서 국립공원 SHP 파일 다운로드 | http://blog.daum.net/geoscience/1239

 

일단, 다운로드 받은 행정구역과 공원경계를 레이어 추가해 보겠습니다.

QGIS를 실행하고, 아래와 같이 '데이터소스 관리자 열기'를 클릭합니다.

 

탐색기에서 행정구역도(광역시도)와 국립공원 경계를 선택하여 레이어 패널로 드래그 앤 드롭합니다.

 

아래와 같이 레이어가 추가되었는데요, 이제 2개 레이어의 '교차 영역'을 계산해 보겠습니다.

 

해당 기능은 상단 메뉴에서 '벡터 > 지리 정보 처리 도구 > 교차 영역'을 통해 실행하실 수 있습니다.

 

QGIS 3에서는 좌측 하단에 위치한 로케이터 바(locator bar)에서 바로 검색하시면 됩니다. 참고로, 단축키는 Ctrl + K입니다.

 

이제 교차 영역을 실행했는데요, 입력 레이어는 공원경계, 교차 영역 레이어는 행정구역으로 설정해 보겠습니다.

유지할 입력 필드, 교차 필드는 각각 NAME(예: Woraksan), NAME_1(예: Chungcheongbuk-do)을 지정합니다.

 

실행 중에 아래와 같은 오류 메시지가 발생합니다. 즉, 일부 객체가 지오메트리 오류가 있어

해당 객체를 수정하든지, 공간 처리 설정에서 이것을 무시하든지 선택을 하라는 안내입니다.

 

지오메트리 오류는 '도형 수정' 기능을 통해 조치할 수도 있지만, 여기서는 '유효하지

않은 입력 객체 무시' 옵션을 설정해 보겠습니다. 상단 메뉴에서 '설정 > 옵션'을 선택하고,

 

아래와 같이 '공간 처리'를 선택하고,

 

유효하지 않은 객체 필터링을 '유효하지 않은 도형을 가진 객체 무시'로 변경합니다.

 

다시 '교차 영역'을 실행하면, 객체(14)를 건너뛰고 교차 영역이 처리됩니다.

 

결과값은 아래와 같습니다.

 

속성 테이블을 확인해 보면, NAME 필드는 국립공원 명칭이, NAME_1 필드는 행정구역 명칭(광역시도)이 추가되어 있습니다.