19.3. 출력물 생성 작업
그림 19.62 은 앞에서 설명한 조판기 항목의 모든 유형을 포함하고 있는 인쇄 조판 예시를 보여주고 있습니다.
메뉴 또는 툴바에서 인쇄 조판을 서로 다른 파일 포맷으로 내보낼 수 있고, 그 해상도(인쇄 품질) 및 용지 크기도 수정할 수 있습니다:
Print 아이콘을 클릭하면 설치된 프린터 드라이버에 따라 조판을 연결된 프린터 또는 PostScript 파일로 인쇄할 수 있습니다.
Export as image 아이콘을 클릭하면 인쇄 조판을
PNG
,BMP
,TIF
,JPG
등과 같은 여러 이미지 포맷으로 내보낼 수 있습니다.Export as SVG 아이콘을 클릭하면 인쇄 조판을
SVG
(Scalable Vector Graphic) 파일로 저장할 수 있습니다.Export as PDF 아이콘을 클릭하면 정의된 인쇄 조판을
PDF
(Portable Document Format) 파일로 직접 저장할 수 있습니다.
19.3.1. 내보내기 설정
인쇄 조판을 내보낼 때마다 QGIS가 가장 적절한 산출물을 생성하기 위해 점검해야 하는 내보내기 설정 집합이 있습니다. 다음과 같은 환경 설정들입니다:
19.3.2. 이미지로 내보내기
조판을 이미지로 내보내려면:
조판을 내보내는 데 사용할 이미지 포맷, 폴더 및 파일명(예:
myill.png
)을 선택하십시오. 조판이 여러 페이지를 담고 있는 경우, 각 페이지를 사용자가 지정한 파일명 뒤에 페이지 번호를 붙인 파일로 (예:myill_2.png
) 내보낼 것입니다.다음 (Image Export Options) 대화창에서:
인쇄 조판의 Export resolution 과 (Layout 패널에서 설정하는) 내보내는 페이지의 크기(dimensions)를 무시할 수 있습니다.
Enable antialiasing 옵션으로 이미지 렌더링도 향상시킬 수 있습니다.
사용자의 조판을 (예를 들면 다른 프로젝트와 공유하기 위해) 지리 참조된(georeferenced) 이미지 로 내보내고자 하는 경우 Generate world file 옵션을 체크하면, 내보내기 할 때 내보내는 이미지와 파일명은 같지만 확장자는 다른 (TIFF는
.tfw
, PNG는.pnw
,JPEG은jgw
등등) ESRI 월드 파일 을 생성할 것입니다. 조판기 패널 에서 이 옵션을 기본값으로 체크할 수도 있습니다.참고
산출물이 여러 페이지인 경우, (Generate world file 옵션을 활성화했다면) 참조 맵 을 담고 있는 페이지만 월드 파일을 얻게 됩니다.
Crop to content 옵션을 활성화하면, 조판기가 각 구성 페이지의 모든 항목들을 (맵, 범례, 축척 막대, 도형, 라벨, 이미지 등등) 감싸는 최소 영역만 이미지로 출력할 것입니다:
조판이 단일 페이지를 담고 있는 경우, 조판에 있는 모든 것 을 포함하도록 산출물의 크기를 조정합니다. 페이지 크기도 모든 항목의 위치(페이지 위 또는 페이지의 위쪽, 아래쪽, 왼쪽 또는 오른쪽)에 따라 축소되거나 확대될 수 있습니다.
조판이 여러 페이지인 경우, 각 페이지의 영역(모든 페이지의 왼쪽 및 오른쪽, 그리고 첫 페이지의 위쪽과 마지막 페이지의 아래쪽)에 있는 항목들을 포함하도록 각 페이지의 크기를 조정할 것입니다. 크기를 조정한 각 페이지는 개별 파일로 내보내집니다.
Crop to content 대화창에서, 잘라낸 경계 주변에 여백을 추가할 수도 있습니다.
팁
항목이 용지 범위를 넘어가는 경우 투명도를 지원하는 이미지 포맷 사용
조판기 항목이 용지 범위 바깥에 배치될 수도 있습니다. 그래서 Crop to content 옵션으로 내보내기할 때, 산출 이미지가 용지 범위를 벗어날 수도 있습니다. 용지 범위 바깥의 배경이 투명할 것이기 때문에, 투명도를 지원하지 않는 (예: BMP
및 JPG
) 이미지 포맷의 경우 투명한 배경을 검은색으로만 렌더링합니다. 이미지를 “망치게” 되죠. 이런 경우 투명도를 지원하는 (예: TIFF
및 PNG
) 포맷을 사용하십시오.
참고
포맷과 (예: PNG
) 기저 Qt 라이브러리가 지원하는 경우, 내보내는 이미지가 프로젝트 메타데이터 (작성자, 제목, 날짜, 설명 등등)를 포함할 수도 있습니다.
19.3.3. SVG로 내보내기
조판을 SVG로 내보내려면:
경로 및 파일명을 입력하십시오. (이미지 내보내기와 마찬가지로, 여러 페이지로 구성돼 있는 경우 모든 파일의 기본명으로 사용됩니다.)
그 다음 SVG Export Options 대화창에서 조판기의 기본 내보내기 설정 을 무시하거나 또는 새로 환경 설정할 수 있습니다:
Export map layers as SVG groups: 이 옵션을 활성화하면 QGIS의 레이어명과 일치하는 명칭을 가진 레이어 안에 항목들을 그룹화해서 내보내서, 문서의 내용을 더 쉽게 이해할 수 있도록 해줍니다.
Always export as vectors: 일부 렌더링 옵션은 더 나은 렌더링을 위해 항목을 래스터화해야 합니다. 이 옵션을 체크하면, 산출물 파일의 모습이 인쇄 조판 미리보기와 달라질 위험을 무릅쓰고 객체를 벡터로 유지합니다. (더 자세한 내용은 내보내기 설정 을 참조하세요.)
Export RDF metadata : 문서의 제목, 작성자, 날짜, 설명 등등을 RDF 메타데이터로 내보냅니다.
Simplify geometries to reduce output file size: 이 옵션은 도형의 꼭짓점을 모두 내보내지 않습니다. 그렇게 할 경우 내보내기 파일이 말도 안 될 정도로 복잡한 대용량이 되어 다른 응용 프로그램에서 열지 못 하게 될 수도 있기 때문입니다. 조판을 내보내는 도중, 내보내기 해상도에서 눈에 띄지 않는 불필요한 꼭짓점들을 제거해서 도형을 단순화시킬 것입니다. (예를 들어 내보내기 해상도가
300 dpi
인 경우 서로의 거리가1/600 inch
미만인 꼭짓점을 제거할 것입니다.)Text export: 텍스트 라벨을 제대로 된 텍스트 오브젝트로 내보낼지(Always export texts as text objects) 경로로만 내보낼지(Always export texts as paths) 설정합니다. 텍스트 라벨을 텍스트 객체로 내보낼 경우 (잉크스케이프 같은) 외부 응용 프로그램에서 일반 텍스트처럼 편집할 수 있습니다. 하지만 렌더링의 질이 하락하는 부작용이 있습니다. 게다가 버퍼 같은 특정 텍스트 설정이 적용된 경우 렌더링 오류가 생길 수도 있습니다. 경로로 내보내기를 추천하는 이유입니다.
Crop to content 옵션 을 적용하십시오.
Disable tiled raster layer exports: 파일을 내보낼 때, QGIS는 메모리를 절약하기 위해 내장된 래스터 레이어 타일 렌더링을 사용합니다. 이 렌더링 방법은 종종 생성된 파일의 래스터에 눈에 보이는 “이음매(seam)” 를 만들기도 합니다. 이 옵션을 체크하면 이런 문제를 해결할 수 있습니다. 내보내기 작업 도중 메모리를 더 많이 사용하긴 하지만 말이죠.
참고
현재 SVG 출력물은 매우 기초적입니다. 이것은 QGIS의 문제가 아니라, 기저 Qt 라이브러리의 문제입니다. Qt 향후 버전에서 해결되기를 바라고 있습니다.
19.3.4. PDF로 내보내기
조판을 PDF로 내보내려면:
경로 및 파일명을 입력하십시오: 이미지 및 SVG 내보내기와는 달리, 조판의 모든 페이지를 단일 PDF 파일로 내보냅니다.
그 다음 PDF Export Options 대화창에서 조판기의 기본 내보내기 설정 을 무시하거나 또는 새로 환경 설정할 수 있습니다:
Always export as vectors: 일부 렌더링 옵션은 더 나은 렌더링을 위해 항목을 래스터화해야 합니다. 이 옵션을 체크하면, 산출물 파일의 모습이 인쇄 조판 미리보기와 달라질 위험을 무릅쓰고 객체를 벡터로 유지합니다. (더 자세한 내용은 내보내기 설정 을 참조하세요.)
Append georeference information: 이 옵션은 정보를 가져오는 참조 맵 이 첫 페이지에 있을 경우에만 사용할 수 있습니다.
Export RDF metadata : 문서의 제목, 작성자, 날짜, 설명 등등을 RDF 메타데이터로 내보냅니다.
Text export: 텍스트 라벨을 제대로 된 텍스트 객체로 내보낼지(Always export texts as text objects) 경로로만 내보낼지(Always export texts as paths) 설정합니다. 텍스트 라벨을 텍스트 객체로 내보낼 경우 (잉크스케이프 같은) 외부 응용 프로그램에서 일반 텍스트처럼 편집할 수 있습니다. 하지만 렌더링의 질이 하락하는 부작용이 있습니다. 게다가 버퍼 같은 설정이 적용된 특정 텍스트의 경우 렌더링 오류가 생길 수도 있습니다. 경로로 내보내기를 추천하는 이유입니다.
Image compression: PDF의 이미지 압축 모드는:
Lossy (JPEG): 기본 압축 모드입니다.
Lossless: 대부분의 경우 더 큰 용량의 파일을 생성하지만, 인쇄물로 출력 또는 외부 응용 프로그램에서 후처리를 하는 경우 훨씬 적합한 모드입니다. (Qt 5.13 이후 버전이 필요합니다.)
Create Geospatial PDF (GeoPDF): 이 옵션을 활성화하면 지리참조 PDF 파일 을 생성합니다. (GDAL 버전 3 이상이 필요합니다.)
Disable tiled raster layer exports: 파일을 내보낼 때, QGIS는 메모리를 절약하기 위해 내장된 타일 기반 렌더링을 사용합니다. 이 렌더링 방법은 종종 생성된 파일의 래스터에 눈에 보이는 “이음매(seam)” 를 만들기도 합니다. 이 옵션을 체크하면 이런 문제를 해결할 수 있습니다. 내보내기 작업 도중 메모리를 더 많이 사용하긴 하지만 말이죠.
Simplify geometries to reduce output file size: 조판을 내보내는 도중, 내보내기 해상도에서 눈에 띄지 않는 불필요한 꼭짓점들을 제거해서 도형을 단순화시킬 것입니다. (예를 들어 내보내기 해상도가
300 dpi
인 경우 서로의 거리가1/600 inch
미만인 꼭짓점을 제거할 것입니다.) 이렇게 하면 내보내기 파일의 용량 및 복잡도를 줄일 수 있습니다. (다른 응용 프로그램에서 대용량 파일을 불러올 수 없을 수도 있기 때문입니다.)
참고
QGIS 3.10 버전부터, GDAL 3을 설치했다면, GeoPDF 내보내기를 지원합니다. 다음과 같은 GeoPDF 특화 옵션을 사용할 수 있습니다:
Format: GeoPDF 포맷을 지정합니다 ─ GeoPDF 포맷의 변종들이 몇 개 있습니다.
Include multiple map themes: 포함시킬 맵 테마를 지정합니다.
Include vector feature information: 레이어들을 선택하고 해당 레이어들을 논리적 PDF 그룹으로 그룹화합니다.
참고
인쇄 조판을 지리 참조를 지원하는 포맷으로 (예: PDF
및 TIFF
) 내보내면 기본적으로 지리 참조된 산출물을 생성합니다.
19.3.5. 지도책 생성
지도책 기능을 통해 지도책을 자동화된 방식으로 생성할 수 있습니다. 지도책은 테이블 또는 벡터 레이어(Coverage layer)의 피처를 이용해서 테이블/레이어에 각 피처(atlas feature)에 대한 산출물을 생성합니다. 가장 흔한 활용법은 맵 항목을 현재 지도책 피처로 확대/축소하는 것입니다. 더 심화된 활용 사례는 다음과 같은 것들이 있습니다:
지도책 피처와 동일한 속성을 공유하는, 또는 지도책 피처의 도형 내부에 있는, 또다른 레이어의 피처만 표시하는 맵 항목
피처들이 거듭 반복되면 텍스트가 대체되는 라벨 또는 HTML 항목
현재 지도책 피처의 관련 부모 또는 자식 피처의 속성을 표시하는 테이블 항목
각 피처에 대해, 페이지 및 항목의 내보내기 설정에 따라 모든 페이지와 항목을 처리해서 산출물을 생성합니다.
팁
유연성 향상을 위한 변수 사용
QGIS는 함수들과 변수들 을 담고 있는 대형 패널을 제공하고 있습니다. 이 가운데 지도책 관련 함수 및 변수를 사용하면 조판기 항목은 물론, 지도책 상태에 따라 레이어의 심볼도 수정할 수 있습니다. 이 기능들을 결합하면 사용자가 높은 유연성을 발휘해서 고급 지도를 쉽게 생성할 수 있습니다.
지도책 생성 기능을 활성화하고 지도책 파라미터를 설정하려면, Atlas 패널을 사용하십시오. 이 패널은 다음과 같은 기능들을 담고 있습니다(그림 19.66 참조):
Configuration
Coverage layer : 이 콤보박스에서 생성 작업을 반복할 피처들을 담고 있는 테이블 또는 벡터 레이어를 선택할 수 있습니다.
Hidden coverage layer: 이 부가적인 체크박스를 활성화하면, 생성 도중 커버리지 레이어를 숨깁니다. (다른 레이어들은 숨기지 않습니다.)
Page name: 이 부가적인 콤보박스는 피처 페이지(들)를 위한 명칭을 지정할 수 있습니다. 커버리지 레이어의 필드를 선택하거나, 표현식 을 설정할 수 있습니다. 이 옵션을 비워놓을 경우, QGIS는 레이어에 적용된 필터 그리고/또는 정렬 순서에 따라 내부 ID를 사용할 것입니다.
Filter with: 이 부가적인 텍스트란에 커버리지 레이어에 있는 피처를 필터링하기 위한 표현식을 작성할 수 있습니다. 표현식을 작성한 경우,
True
로 평가된 피처만 처리할 것입니다.Sort by: 이 부가적인 체크박스를 활성화하면, 커버리지 레이어의 필드 또는 표현식을 사용해서 커버리지 레이어(및 산출물)의 피처를 정렬할 수 있습니다. 클릭할 때마다 |arrowUp| 또는 |arrowDown| 로 바뀌는 정렬 방향 버튼으로 정렬 순서(오름차순 또는 내림차순)를 설정할 수 있습니다.
Output 에서 지도책의 출력물을 환경 설정할 수 있습니다:
Output filename expression: 각 지도책 피처를 위한 파일명을 생성하는 데 쓰이는 표현식 기반 텍스트란입니다. 이 옵션은 여러 파일로 렌더링하는 경우에만 의미가 있습니다.
Single file export when possible: 선택한 출력물 포맷(예:
PDF
)으로 가능한 경우 단일 파일을 생성하도록 강제할 수 있습니다. 이 옵션을 활성화하면, Output filename expression 필드의 값이 의미없어집니다.Image export format: Export atlas as Images… 버튼을 클릭한 경우 이 드롭다운 목록에서 산출물 포맷을 선택할 수 있습니다.
19.3.5.1. 지도책으로 맵 제어
지도책의 가장 흔한 활용법은 커버리지 레이어를 반복해서 작업하는 동안 맵 항목을 현재 지도책 피처로 확대/축소하는 것입니다. 맵 항목의 Controlled by atlas 그룹 속성에서 이 습성을 설정할 수 있습니다. 맵 항목에 적용할 수 있는 서로 다른 설정에 대해서는 지도책으로 제어 를 참조하세요.
19.3.5.2. 표현식으로 라벨 사용자 지정
지도책이 반복해서 작업하는 피처의 라벨 내용을 조정하기 위해, 표현식을 포함시킬 수 있습니다. 사용자는 (함수, 필드, 또는 변수를 포함하는) 표현식 부분을 [%
와 %]
사이에 넣었는지 확인해야 합니다. (자세한 내용은 라벨 항목 을 참조하세요.)
예를 들면, CITY_NAME
필드와 ZIPCODE
필드를 보유한 도시 레이어의 경우 다음과 같은 표현식을 삽입할 수 있습니다:
The area of [% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ',
format_number($area/1000000, 2) ) %] km2
또는, 다음처럼 삽입할 수도 있죠:
The area of [% upper(CITY_NAME)%],[%ZIPCODE%] is
[%format_number($area/1000000,2) %] km2
[% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ', format_number($area/1000000, 2) ) %]
라는 정보는 라벨 내부에 쓰이는 표현식입니다. 두 표현식 모두 생성된 지도책에서 다음 라벨 유형으로 출력될 겁니다:
The area of PARIS,75001 is 1.94 km2
19.3.5.4. 미리보기 및 지도책 생성
지도책 환경 설정을 마치고 지도책에 조판기 항목(맵, 테이블, 이미지 등등)을 연결하고 나면, Preview Atlas 아이콘을 클릭해서 모든 페이지의 미리보기를 생성할 수 있습니다. 그 다음 다음 화살표를 클릭해서 모든 피처들을 탐색할 수 있습니다:
메뉴 옵션을 선택하거나콤보박스를 통해 특정 피처를 선택해서 미리보기할 수도 있습니다. 이 콤보박스는 지도책의 Page name 옵션에서 설정한 표현식에 따라 지도책 피처의 명칭을 표시합니다.
단순한 조판의 경우, 지도책을 서로 다른 방법으로 생성할 수 있습니다. (자세한 정보는 출력물 생성 작업 을 참조하세요.) 메뉴 대신, 그냥 메뉴 또는 지도책 툴바의 도구를 이용하십시오.
다시 말해 Single file export when possible 옵션을 활성화하지 않은 경우, 생성된 모든 PDF 파일을 저장할 디렉터리를 지정하도록 요청할 것입니다. 이 옵션을 활성화했다면, 파일명을 지정하도록 요청할 것입니다.
메뉴 옵션을 통해 사용자의 조판을 직접 인쇄할 수 있다는 뜻입니다. 메뉴 옵션을 선택하면 PDF도 생성할 수 있습니다.Atlas 패널에서 설정한 이미지 파일 포맷 또는 SVG 파일로 내보냅니다.
또는 메뉴 옵션을 선택하면, 역시 폴더를 선택하도록 요청할 것입니다. 각 지도책 피처 조판의 각 페이지를참고
산출물이 여러 페이지인 경우, 참조 맵 을 담고 있는 페이지만 월드 파일을 (각 피처 산출물마다) 얻게 된다는 점에서 지도책이 조판처럼 작동합니다.
팁
특정 지도책 피처 인쇄
지도책에서 오직 한 피처의 조판만을 인쇄하거나 내보내고자 하는 경우, 그냥 미리보기를 열고 드롭다운 목록에서 원하는 피처를 선택한 다음
메뉴 옵션을 (또는 기타 지원 파일 포맷으로 내보내려면 메뉴 옵션을) 선택하십시오.19.3.5.5. 지도책 생성에 프로젝트 정의 관계 사용
HTML 및 자바스크립트 지식을 가진 사용자라면 GeoJSON 객체를 작업할 수 있고 QGIS 프로젝트로부터 프로젝트 정의 관계도 사용할 수 있습니다. 이 접근 방식과 HTML에 표현식을 직접 삽입하는 방식과의 차이는, 구조화되지 않은 완전한 GeoJSON 피처를 작업할 수 있다는 점입니다. 즉 GeoJSON 피처를 표현하는 기존 자바스크립트 라이브러리와 함수를 사용할 수 있다는 뜻이죠.
다음 코드는 정의된 관계에서 나온 모든 관련 자식 피처를 포함하고 있습니다. 자바스크립트의 setFeature
함수를 사용하면 사용자가 선호하는 어떤 (목록, 테이블 등) 유형으로든 관계를 표현하는 유연한 HTML을 작성할 수 있습니다. 이 예시 코드는 관련 자식 피처의 동적인 불릿(bullet, 작은 점) 목록을 생성합니다.
// Declare the two HTML div elements we will use for the parent feature id
// and information about the children
<div id="parent"></div>
<div id="my_children"></div>
<script type="text/javascript">
function setFeature(feature)
{
// Show the parent feature's identifier (using its "ID" field)
document.getElementById('parent').innerHTML = feature.properties.ID;
//clear the existing relation contents
document.getElementById('my_children').innerHTML = '';
feature.properties.my_relation.forEach(function(child_feature) {
// for each related child feature, create a list element
// with the feature's name (using its "NAME" field)
var node = document.createElement("li");
node.appendChild(document.createTextNode(child_feature.NAME));
document.getElementById('my_children').appendChild(node);
});
}
</script>
지도책 생성 도중 부모 피처를 담고 있는 커버리지 레이어를 반복해서 작업하게 될 것입니다. 각 페이지에 부모 피처의 식별자를 따르는 관련 자식 피처의 불릿 목록을 표시할 것입니다.