31.3. 부록 C: QGIS 파일 포맷

31.3.1. QGS/QGZ ─ QGIS 프로젝트 파일 포맷

QGS 포맷은 QGIS 프로젝트를 저장하기 위한 XML 포맷입니다. QGZ 포맷은 QGS 파일 및 QGD 파일을 담고 있는 압축 (zip) 보관 파일입니다. QGD 파일은 프로젝트를 위한 보조(auxiliary) 데이터를 담고 있는 QGIS 프로젝트 관련 SQLite 데이터베이스입니다. 아무 보조 데이터도 없는 경우, QGD 파일도 비어 있을 것입니다.

QGS 파일은 QGIS 프로젝트를 저장하기 위해 필요한, 다음을 포함하는 모든 것을 담고 있습니다:

  • 프로젝트 제목

  • 프로젝트 좌표계

  • 레이어 트리

  • 스냅 작업 설정

  • 관계

  • 맵 캔버스 범위

  • 프로젝트 모델

  • 범례

  • 맵뷰 도크(dock) (2차원 및 3차원)

  • 기저 데이터셋(데이터소스)와의 링크를 보유한 레이어 및 범위, 좌표계, 결합(join), 스타일, 렌더링 작업자, 혼한 모드, 투명도 등을 포함하는 기타 레이어 속성

  • 프로젝트 속성

다음 그림들은 QGS 파일에 있는 최상위 수준의 태그와, ProjectLayers 태그를 펼친 모습을 보여주고 있습니다.

../../../_images/qgstoplevel.png

그림 31.1 QGS 파일의 최상위 수준 태그들

../../../_images/qgsprojectlayers.png

그림 31.2 QGS 파일의 펼쳐진 최상위 수준 ProjectLayers 태그

31.3.2. QLR ─ QGIS 레이어 정의 파일

레이어 정의 파일(QLR)은 레이어 데이터소스를 가리키는 포인터는 물론 레이어에 대한 QGIS 스타일 정보도 담고 있는 XML 파일입니다.

이 파일의 활용 사례는 간단합니다. 데이터소스를 열고 관련 스타일 정보를 모두 가져오기 위한 단일 파일을 가지게 되는 것이죠. QLR 파일을 사용하면, 파일을 연다는 간단한 방법으로 기저 데이터소스도 감출 수 있습니다.

QLR 활용의 예시로 MS SQL 레이어를 열어보겠습니다. MS SQL 연결 대화창을 열고, 연결하고, 선택하고, 불러와서 마지막으로 스타일을 적용하는 대신, 그냥 필요한 모든 스타일과 함께 올바른 MS SQL 레이어를 가리키는 .qlr 파일만 추가하면 됩니다.

향후 .qlr 파일이 하나 이상의 레이어를 참조하게 될 수도 있습니다.

../../../_images/qlr.png

그림 31.3 QLR 파일의 최상위 수준 태그들

31.3.3. QML ─ QGIS 스타일 파일 포맷

QML 은 레이어 스타일을 저장하기 위한 XML 포맷입니다.

QML 파일은 피처 도형의 렌더링을 위해 QGIS가 처리할 수 있는 ─ 심볼의 정의, 크기 및 기울기, 라벨, 투명도 그리고 혼합 모드 등을 포함하는 ─ 모든 정보를 담고 있습니다.

다음 그림은 QML 파일에 있는 최상위 수준의 태그를 보여주고 있습니다. (renderer_v2 및 그 하위 symbol 태그만 펼쳐져 있습니다.)

../../../_images/qml.png

그림 31.4 QML 파일의 최상위 수준 태그들 (renderer_v2 및 그 하위 symbol 태그만 펼쳐져 있습니다)