QGIS 파이썬 콘솔 사용 - PyQGIS 개발자 쿡북 사용법 및 레이어 불러오기
QGIS에서 파이썬을 활용하기 위해 구글링도 하고 책도 많이 찾아 보지만, 뭐니뭐니해도 PyQGIS 개발자 쿡북만큼 잘 정리되있는 자료를 찾아보기는 힘든 것 같다.
아무래도 QGIS 개발팀에서 운영하는 공식 help 사이트이다보니 당연한 얘기일 수도 있겠지만, 실제로 들어가서 자료들을 보다보면 왠만한 책들보다 chapter별로 정리가 참 잘 되어 있는 것을 알 수 있다. 특히, QGIS2에서 QGIS3으로 업데이트되면서 많은 모듈의 변화가 있었기 때문에 구글링을 통해 찾아낸 정보를 적용하다보면 정의되지 않은 모듈 사용 에러가 발생하는 경우가 많다. 이러한 면에서 PyQGIS 개발자 쿡북은 최신 정보를 그대로 활용할 수 있기 때문에 그런 오류를 발생시킬 확률이 적고 그것만으로도 큰 강점이 있다고 하겠다.
PyQGIS 개발자 쿡북은 QGIS 버전별로 각각 별도의 사이트를 통해 정보를 제공을 하고 있다. 내 PC에 설치된 QGIS 버전은 3.10.14 이기 때문에 아래의 사이트를 즐겨찾기 해두고 항상 접속해서 필요한 정보를 검색하곤 한다.
https://docs.qgis.org/3.10/ko/docs/pyqgis_developer_cookbook/index.html
위 사이트에 들어가보면, PyQGIS 사용법이 목차별로 잘 정리되어 있다. 내가 하고자 하는 작업을 목차에서 먼저 찾아서 들어가보면 왠만한 방법론들이 잘 설명되어 있다. 해당 작업에 제시된 파이썬 코딩을 그대로 따라하는 것만으로도 PyQGIS를 공부하는데 참으로 도움이 많이 된다.
그래서, PyQGIS를 활용할 때는 항상 PyQGIS 개발자 쿡북을 최우선으로 활용하곤 하는데, 이번 글에서는 레이어 불러오기 페이지를 따라가서 벡터레이어를 불러오는 작업을 해 보려고 한다.
다음과 같이 파이썬 코드가 제시되어 있기 때문에 그대로 따라가되, 내 작업환경에 맞게끔 경로와 파일명만 변경해 본다.
아래와 같이 잘 실행된 것을 확인할 수 있다.
가끔 책이나 구글링해서 검색하다보면, 위의 "QgsProject.instance().addMapLayer(layer변수명)" 대신 "QgsMapLayerRegistry.instance().addMapLayers(layer변수명)"로 정리된 내용을 확인할 수도 있다.
QgsMapLayerRegistry는 QGIS2 버전에서 적용되던 클래스로 현재 QGIS3 버전에서는 QgsProject로 변경되었다는 것을 함께 알고 있으면 도움이 될 것 같다.
이와 같이 QGIS2에서 쓰이던 클래스나 모듈이 QGIS3에서 변경된 것들이 많은데, 과거의 클래스나 모듈이 현재 QGIS3 버전에서 적용되고 있는지 확인하는 사이트는 아래를 참고하면 되겠다.
https://qgis.org/api/api_break.html
댓글
댓글 쓰기