GIS

[QGIS] QIGS에서 도형수정 기능을 사용하여 유효하지 않은 도형정보를 수정해보자. ( feat. Polygon must have closed rings 에러 )

모찌바라기 2023. 12. 11. 12:48
728x90
반응형

 

 

 

 

문제발생

 

 

이번에 연속지적도를 QGIS를 통해서 Postgresql에 넣으려고 하니 위와 같은 에러가 발생했다.

Polygon must have closed rings라는 에러인데, 문구만 보면 Polygon이 아닌 녀석이 숨어있다..

linestring이 숨어 있는 거 같은데.. 

 

어떻게 할까 하다가, 부장님이 QGIS에 도형수정 이라는 기능이 있어서 자동으로 잡아준다고 한다.

 

도형수정

 

1. 도형수정 팝업창 활성화

 

[공간처리] -> 툴박스(T)를 통해 툴박스를 활성화 해주자.

만약 QGIS에 툴박스가 안보인다면 아래 링크를 참고하도록 하자.

 

[GIS] QGIS에서 툴박스가 안보일 때 해결방법

 

[GIS] QGIS에서 툴박스가 안보일 때 해결방법

공간정보 작업을 처리할 때 공간처리 메뉴를 통해 툴박스를 켜야 하는데, 메뉴에 공간처리가 보이지 않아, 툴박스를 실행하지 못하는 문제가 생길 수 있다. 이때는 당황하지 말고 아래처럼 해주

bongra.tistory.com

 

 

이제 툴박스에서 벡터도형 -> 도형수정을 선택하여 도형수정 팝업을 활성화 해준다.

 

 

입력레이어에서 자신이 도형을 수정하고 싶은 레이어를 지정하고 그냥 실행을 누르면 된다.

 

( 수정한 도형을 임시레이어로 생성하도록 하자. 이상하게 파일로 저장하면 텍스트가 인코딩이 안되는건지 실제 DB에 넣었을 때 깨지더라... 생성한 임시레이어로 SHP파일을 내보낸 뒤, 그 SHP을 DB에 넣으면 된다... )

 

 

알고리즘 처리 완료

 

다시 import

 

이제 수정한 도형을 가지고 다시 DB에 import 해보도록 하자.

 

 

 

import 성공... 제대로 된다..

 

이 도형수정을 사용하면, 유효하지 않은 도형들을 한번에 처리할 수 있다.

( 정확히 어떤 로직인지 모름.. 왜 Polygon만 된다고 하는지도... import할 때, geometry 타입을 지정하는 것도 아닌데.. )

 

이 방법 말고도 PostGIS 확장팩을 통해 직접 DB에 import할 수도 있다. 끝

 

 

728x90
반응형