GIS/gis 이런저런 문제 해결하기

Qgis 유효하지 않은 도형 문제 해결하기, 유효하지 않은 도형 수정(버텍스 도구)

조달송 2021. 3. 9. 18:08
728x90

 '유효하지 않은 도형을 가지고 있기 때문에 객체를 건너뛰었습니다. 도형을 수정하거나, 공간 처리 설정을 "유효하지 않은 입력 객체 무시" 옵션으로 변경해주십시오.'

 

분석을 하다보면 누구나 한번쯤은 봤을 문장이다. 보기에는 멀쩡해 보이는데 뭐가 유효하지 않다는 것인지, 시키는대로 '유효하지 않은 입력 객체 무시'옵션으로 변경을 했는데도 얘는 왜 무시를 못하고 있는지, 또는 무시해버려서 원하는 결과물을 못내고 있는 것인지 이런 답답한 마음에 다들 이 페이지를 보고 계실 것 같다. 필자도 ArcMap을 쓸 때는 본적도 없는 경고문구가 거슬렸고, 옵션을 변경했더니 객체를 다 무시해버려서 원하는대로 분석툴이 먹히지도 않고, 분석진도가 나가지도 않는 것을 경험했다. 그래서 유효하지 않다는 그 도형을 유효하게 만드는 방법을 찾아냈고 공유하고자 한다.  이번 예시 상황은 전국의 시군구 데이터를 기준으로 철도 중심선 데이터를 자르려고 하는데, 유효하지 않다고 해서 막히는 상황이다. 


1. 그놈의 유효하지 않는 도형 확인하기

필자는 아래의 포스팅에서 활용하였던 전국 시군구 데이터와 철도 중심선 데이터를 가지고 자르기를 시도하였다.  urbn-ds.tistory.com/5

 

4. 여러 데이터의 좌표계 통일하기

GIS 분석을 하다보면, 하나의 지도 데이터를 가지고 분석을 하기보다 여러 데이터를 중첩하여 분석을 하게 된다. 이럴때야 말로 좌표계가 더욱 더 중요해지는데, 좌표계가 통일되어 있지 않으면

urbn-ds.tistory.com

보다시피, 시군구 데이터도 크게 이상없어 보이고 좌표계도 EPSG:5181로 통일하였다. '벡터-공간처리도구-자르기' 도구를 활용하여 분석을 시도하였고, 다음과 같은 메시지를 보게되었다. 누가봐도 이상하다 싶은 빨간색의 메시지를.

 

 

2. 무결성 검증으로 유효하지 않은 부분 확인하기

메시지에서 알려주듯이 옵션 변경을 하여도 이런 문제가 해결이 안되는 경우가 많다. 필자의 경우에도 그냥 저 상태로 분석을 완료하고 나면 일정 부분만 자르기가 되어 있다. 따라서 우리는 유효하지 않은 부분을 유효하게 만들어서 분석을 하여야 한다. 그래서 가장 첫번째로 해야할 것이 유효하지 않은 부분이 도대체 어디인지 무결성 검증을 하는 것이다. 공간처리 툴박스에서 무결성 검증을 검색한 후 뜨는 도구를 실행하자. 입력 레이어에 의심되는 데이터(필자의 경우 시군구 데이터)를 입력해주고 실행을 누른다. 

그렇게 하면, 아래와 같이 '유효한 출력물', '유효하지 않은 출력물', '오류 출력물' 레이어가 생성된다. 이로써 우리는 도대체 어디가 문제였는지 알 수 있게 된다. '오류 출력물'데이터는 점데이터(아래의 사진에서 빨간 점)로 오류 부분을 정확하게 알려주는 데이터다. 또한 '유효한 출력물'은 멀쩡한 데이터로 아래에서 분홍색을 의미하는데, 보다시피 분홍색이 굉장히 적다. '유효하지 않은 출력물'은 점데이터가 알려주는 오류 부분때문에 유효하지 않는 것으로 프로그램이 인식하는 폴리곤이다. 

 

'오류 출력물'을 하나 잡아서 확대해보면 아래와 같은 경우가 대다수이다. 그래서 이런 부분들을 하나하나 수정해주어야 한다...사실 이렇게 오류 출력물이 많은 경우에는 다른 데이터는 없나 한번 확인해보면 좋겠다.. 행정경계같은 경우에는 다른 곳에서 제공하는 데이터도 있으니까 확인해보고 오류 출력물이 가장 적은 것으로 선택하면 좋겠다. 이 다음으로 이루어지는 작업이 하나하나 수작업으로 해야하는 것들이라 시간이 걸리기 때문이다. 서울시와 같이 하나의 시에 대한 것이라면 해볼만 하지만 전국단위의 것은..최대한 피하면 좋겠다. 

 

 

3. 오류출력물 수정하기

최대한 오류출력물이 적은 데이터를 찾았다면, 다음으로는 수작업을 할 차례이다. 먼저 '유효했으면 하는 데이터(이 경우에는 시군구 데이터)'에 대하여 편집모드로 변경해준다. 다음으로 편집모드 오른편에 있는 버텍스 도구를 활성화 시켜주면 아래의 사진과 같이 각각의 점이 활성화 된다. 그러면 점 위치를 수정해서 자가 교차되지 않게 해주면 된다. 데이터를 마음대로 수정하는 기분이 찝찝할 수도 있겠지만, 엄청나게 확대해야 보이는 부분으로 국토, 도시를 다루는 데이터에서는 큰 차이가 나지 않으니 걱정말고 편하게 수정하면 된다. 

 

 

4. 수정한 데이터에 대하여 한번 더 무결성 검증 해주기

모든 오류출력물 점에 대해서 수정을 하였다면, 한번 더 무결성 검증을 거쳐서 확실하게 수정이 되었는지 확인해준다. 모든 폴리곤이 유효한 출력물로 나타나고 오류 출력물에 아무것도 없다면 성공한 것이다. 이런 과정을 거쳐 유효한 도형으로 만들었다면, 하고싶었던 분석으로 다시 돌아가면 된다. 과정이 꽤나 귀찮은데, 다른 방법을 찾게 되면 바로 업데이트 하도록 하겠다!

 

-> 이 작업 없이 한번에 수정하는 방법에 대하여 찾게되었습니다! 포스팅하였으니 참고하여주세요:)

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

 

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

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

urbn-ds.tistory.com

 

반응형