Figure_composer_output_1 に, 前のセクションで説明した地図アイテムを含んだ印刷レイアウトの例を示します.
Figure Composer Output 1:
レイアウトを印刷する前に, 枠線なしで表示して構成を確認することができます. ビュー –> バウンディングボックスの表示 のチェックを外すか, ショートカット Ctrl+Shift+B を押します.
プリントコンポーザではいくつかの出力フォーマットを作成でき, 解像度 (印字品質) と用紙サイズを定義できます.
印刷 アイコンでは, インストールしているプリンタドライバに従い, レイアウトを接続しているプリンタやPostScriptファイルに出力できます.
イメージとしてエクスポート アイコンでは, コンポーザキャンバスがPNG, BPM, TIF, JPG,...フォーマットなどのイメージとしてエクスポートできます.
SVGとしてエクスポート アイコンでは, プリントコンポーザキャンバスをSVG (Scalable Vector Graphic) として保存できます.
イメージとしてエクスポート アイコンをクリックすると, 構成をエクスポートするファイル名の入力を求められます: 複数ページ構成の場合は, 各ページが指定名にページ番号を付けたファイルとしてエクスポートされます.
エクスポート解像度 (コンポジションタブ) を書き換え, またエクスポートイメージのサイズを変更することもできます.
内容の切り取り オプションで, コンポーザイメージの出力が構成内容の領域だけとなります. 必要であれば, イメージの周りにマージンを指定することもできます.
構成が単一ページであれば, 出力は構成内容すべてを含むサイズとなります. 複数ページの場合は, 各ページがその要素の領域に縮められます.
Figure Composer Output 2:
レイアウトを ジオリファレンスイメージ で出力する場合 (たとえば, ほかのプロジェクトを共有するため), コンポジションタブで指定する必要があります. ワールドファイル をチェックし, 地図アイテムを選びます. このオプションで, ‘イメージとしてエクスポート’ ではイメージエクスポート時にワールドファイルが作成されます.
ノート
大きなラスターをエクスポートする際, 十分なメモリーがあるにもかかわらず落ちることがあります. この問題はQtラスター管理に起因しています.
SVGとしてエクスポート でも, ファイル名を入力する必要があります (複数ページ構成の場合はベース名として使用されます) そして 内容の切り取り オプション も適用されます.
SVGエクスポートオプションダイアログでは:
地図レイヤをSVGグループとしてエクスポートする:
アウトラインとして地図ラベルを描画する
Figure Composer Output 3:
ノート
現在, SVG出力は基本的な機能しか提供していません. これはQGIS側の問題ではなく, Qtライブラリに起因しています. 将来のバージョンで改善されることを望みます.
PDFとしてエクスポート では, すべての構成を1つのPDFファイルとしてエクスポートします.
構成や表示レイヤに高度な効果, たとえばブレンドモード, 透過, シンボル効果などを適用しても, それらはベクトルとして印刷されずその効果は失われるかもしれません. コンポジションタブの ラスタとして印刷する をチェックすると, ラスタ化されますが, 効果は維持できます. レイヤプロパティのレンダリングタブの レイヤをラスタとして描画します は, 全体構成をラスタ化するのではなくレイヤ単位での設定となります.
プリントコンポーザには地図帳を自動で作成する機能が含まれています. コンセプトとしては, ジオメトリとフィールドを含む被覆レイヤの使用を考えます. 被覆レイヤの各ジオメトリに対して, キャンバス地図の内容がハイライトの現ジオメトリに移動し, 新しい出力が作成されます. ジオメトリに関係づくフィールドはテキストラベルで使用できます.
各ページはフィーチャごとに作成されます. 地図の作成と作成パレメータの設定には, 地図帳の作成 タブを使います. このタブには以下の機能が含まれます (figure_composer_atlas_1 参照):
Figure Composer Atlas 1:
ページ名称 コンボボックスで, 地図のプレビュー時に, 各フィーチャページ(複数可)に対してより明示的に名前を付けることができます. 被覆レイヤの属性を選ぶか式を設定します. 空白にすると, フィルターやレイヤの順序に基づくQGISの内部IDを使用することになります.
フィルター テキストエリアでは, 被覆レイヤに対するフィルタの式を記述することができます. 式が空白でなければ, 評価が True のフィーチャが選択されることになります. 右のボタンを押すと式ビルダーが表示されます.
並べ方 をチェックすると, 被覆レイヤのフィーチャを並べ替えることができます. コンボボックスで並べ替えのキーとしてどのカラムを使うかを選ぶことができます. 並べる順序 (昇順か降順) は上向き,下向き矢印のボタンで指定します.
地図帳の出力に関するオプションもあります:
出力ファイル名の式 テキストボックスで, 必要に応じ各ジオメトリのファイル名を作成できます. このフィールドは複数ファイルの作成に対してのみ意味を持ちます.
可能であれば一つのファイルに出力 では, 出力フォーマットを指定し (たとえば PDF), ファイルをできる限り一つにまとめて出力します. この項目をチェックすると, 出力ファイル名の式 の内容は意味を持たなくなります.
地図帳の作成で複数の地図アイテムを使うことができます; 各地図は被覆フィーチャにより表現されます. 特定の地図アイテムに対して地図帳を作成するには, 地図アイテムのアイテムプロパティで 地図帳による制御を有効にする をチェックする必要があります. チェックすると以下が設定できます:
地物のマージン では, 配置地図の周りのスペースのサイズを選ぶことができます. この値は自動スケールモードの場合のみ意味を持ちます.
事前定義スケール (最適な) では, プロフェクトのプロパティ設定で事前定義した一覧のうち最適なものが使用されます (事前定義スケールの設定は プロジェクト –> プロジェクトプロパティ –> 一般情報 –> プロジェクト縮尺 を参照).
固定縮尺 では, 自動スケールと固定スケールを切り替えることができます. 固定スケールモードでは, 各ジオメトリは中心位置に転送されます. 自動スケールモードでは, 地図拡張が各ジオメトリがそのまま表示されるように計算されます.
ラベルを地図帳フィーチャに繰り返し合わせるために, 式を入力することができます. 設定するところは [% と %] の間で, 式 (関数, フィールド, 変数を含む) を入力します. たとえば, city レイヤでフィールド CITY_NAME と ZIPCODE の場合, 次のように入力します:
The area of [% 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
情報 [% upper(CITY_NAME) || ',' || ZIPCODE || ' is ' format_number($area/1000000,2) %] はラベルの内部で使用されている式です. 二つの式の結果として地図帳には次のように作成されます:
The area of PARIS,75001 is 1.94 km2
何か所かに データで定義されたプロパティ上書き ボタンがあり, 選択した設定を上書きできます. これらのオプションは特に地図帳の作成に便利です.
以下の例は QGIS サンプルデータセットの Regions レイヤで地図帳の作成に使用されています. なお コンポジション タブのフィールド プリセット で, A4 (210X297) が選択されていることを想定しています.
データで定義されたプロパティ上書き ボタンで, 用紙の位置づけを動的に変更できます. 領域の広がりの高さ (南北) が幅 (東西) より大きい場合, 用紙を 横 ではなく 縦 の向きで使用したいことでしょう.
コンポジション タブで 方向 を設定でき 横 または 縦 を選べます. ここで式を使うことにより領域によって方向を動的に変更したい場合, 方向 の ボタンを押します. 編集... を選ぶと, 式ビルダー ダイアログが開きます. 次の式を入力してください:
CASE WHEN bounds_width($atlasgeometry) > bounds_height($atlasgeometry)
THEN 'Landscape' ELSE 'Portrait' END
これで用紙の方向が自動になります. 各領域で同様にコンポーザアイテムの位置を再配置する必要があります. 地図アイテムでは 幅 の ボタンを使い, 次の式で動的な設定を行えます:
(CASE WHEN bounds_width($atlasgeometry) > bounds_height($atlasgeometry)
THEN 297 ELSE 210 END) - 20
(CASE WHEN bounds_width($atlasgeometry) > bounds_height($atlasgeometry)
THEN 210 ELSE 297 END) - 20
ページの中央, 地図の少し上に表題を設定したい場合, 地図の上へラベルアイテムを挿入します. まずラベルアイテムのアイテムプロパティで水平方向位置合わせを 中央 にします. 次に 参照点 で上中央のチェックボックスをクリックします. そしてフィールド X に次の式を入力します:
(CASE WHEN bounds_width($atlasgeometry) > bounds_height($atlasgeometry)
THEN 297 ELSE 210 END) / 2
他のコンポーザアイテムに対しても似た方法で設定ができ, ページが縦か横になった場合に正しい位置に調整できます.
データで定義されたプロパティ上書きオプションについての情報が提供されている素晴らしいブログ (英語とポルトガル語) があります Multiple_format_map_series_using_QGIS_2.6 .
これはデータで定義されたプロパティ上書きオプションをどのように使うかの一つの例と言えます.
Figure Composer Atlas 2:
地図帳設定がなされ, アイテム (地図, テーブル, イメージ...) が関連付けられると, 地図帳 ‣ 地図帳のプレビュー または 地図帳のプレビュー アイコンをクリックして地図帳の全ページをプレビューすることができます. そして同じツールバーの矢印を使いすべてのフィーチャを確認できます:
コンボボックスを使い, 特定のフィーチャを直接選んでプレビューすることができます. コンボボックスでは, 地図帳 ページ名 オプションで設定した式に従いフィーチャ名が表示されます.
単純な構成では, 地図帳は違った方法で作成できます (詳細は 出力の作成 参照). コンポーザ メニューの代わりに, 地図帳 メニューまたは地図帳ツールバーのツールを使用します.
これは構成を 地図帳 ‣ 地図帳の印刷 で直接印刷できることを意味します. また 地図帳 ‣ 地図帳をPDFとして出力... でPDFを作成できます: 可能であれば単一ファイルで出力 がチェックされていなければ, すべてのPDFファイルを保存するか確認されます. その場合, ファイル名を指定します.
地図帳 ‣ イメージとして出力... または 地図帳 ‣ SVGとして出力... ツールでは, フォルダの選択を求められます. 各地図帳フィーチャの各ページがイメージかSVGファイルとして出力されます.
ちなみに
特定の地図帳フィーチャ印刷
地図帳のひとつのみのフィーチャの構成を印刷または出力したいのであれば, ドロップダウンリストからそのフィーチャを選び コンポーザ ‣ 印刷 をクリックします (または 出力... で他のファイルフォーマットをクリックします).