eyecatch

QGISで地図をまとめて自動出力!地図帳機能の設定方法を解説

投稿日: 最終更新日:
この記事はQGIS 3.40を使用しています。

この記事でわかること


  • QGISの地図帳機能の基本的な仕組みと設定手順
  • 印刷レイアウトと連動した自動出力の方法
  • 複数のPDFや画像ファイルを一括生成する方法

こんな人におすすめ


  • QGISで行政区ごとの地図をまとめて出力したい方
  • 複数の地図を効率よく印刷・保存したい方
  • 報告書や配布資料をQGISで作成している方

はじめに

QGISの印刷レイアウトの機能を使って、「市区町村ごと」や「顧客のリストの地点ごと」など、同じレイアウトで大量の地図を効率的に作成したい、と考えたことはありませんか?QGISに標準搭載されている「地図帳機能」は、このような定型的な地図を効率的に自動生成できる強力なツールです。

この記事では、QGISの地図帳機能の基本的な使い方から応用テクニックまで、順を追って解説します。

地図帳機能を使うには、印刷レイアウト機能で地図の体裁を整えておく必要があります。印刷レイアウトの基本的な使い方を知りたい方はこちらの記事をご覧ください。

地図帳機能でできること

地図帳機能を使うと、主に以下のことが可能です。

地図の自動生成

指定したレイヤの地物ごとに、地図の中心と範囲を自動で切り替えながら、連続して地図を生成します。

動的なラベル

地図ごとにタイトルや説明文を自動で変更します(例:「○○市 周辺地図」)。

一括出力:

生成した大量の地図を、PDFファイルや画像ファイルとして一括で出力できます。これにより、作業効率が激的に向上し、手作業によるミスを防ぎ、品質の均一化を図ることが可能になります。

地図帳機能を使用して一括出力した地図(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳機能を使用して一括出力した地図(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

QGISの地図帳機能の基本的な設定方法

印刷レイアウトの準備

この例では、国土数値情報からダウンロードした愛知県の市区町村ポリゴンを使い、市区町村ごとの地図を作成する方法を紹介します。

愛知県の市区町村ポリゴン(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
愛知県の市区町村ポリゴン(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

まず、メニューバーの[プロジェクト]から[新規印刷レイアウト]をクリックします。適宜レイアウトの名前をつけて、[OK]をクリックしましょう。

[新規印刷レイアウト]をクリック
[新規印刷レイアウト]をクリック

印刷レイアウトウィンドウが開いたら、基本的な「地図」アイテムを配置します。

地図アイテムをレイアウト上に追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図アイテムをレイアウト上に追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

地図帳機能を有効化する

ここからが地図帳機能の設定です。「地図」アイテムを選択した状態で、画面右側のウィンドウから「地図帳」タブを開き、パネル上部にある[地図帳を作成する]にチェックを入れます。

[地図帳を作成する]にチェック
[地図帳を作成する]にチェック

設定項目がアクティブになるので、以下のように設定します。

  1. カバレッジレイヤ: 地図の範囲を定義するレイヤ(カバレッジレイヤ)を選択します。ここで指定したレイヤの地物ごとに地図が作成されます。今回は「行政区域」レイヤを指定します。
  2. ページ名(任意): 出力する地図のページ名を指定します。カバレッジレイヤの名称を示す属性(例: 市区町村名)を使うと便利です。今回は、市区町村名が格納されている属性である「N03_004」を選択します。
  3. 可能であれば一つのファイルに出力(任意):地図ごとにファイルを分けたい場合は、チェックを外します。例として、今回はチェックを外します。
  4. 出力ファイル名の式(任意):地図帳で出力ファイルを分ける場合、ファイル名を指定できます。例えば、出力ファイル名を「output_<市町村名>.xxx」とするには、式に「'output_'|| "<市町村名を示す属性名(N03_004)>"」と設定します。
式では「"」で囲むと属性を示し、「'」で囲むと文字列を直接入力できます。「||」は文字列の結合を示します。また、[ε]ボタンをクリックすると、式の入力画面が表示され、記号などを入力しやすくなります。
地図帳の対象とするレイヤや出力ファイルの設定
地図帳の対象とするレイヤや出力ファイルの設定

次に、上記で設定したカバレッジレイヤに対して、「地図」アイテムが地図帳の動きに連動するように設定します。「地図」アイテムを選択した状態で、「アイテムプロパティ」タブの[地図帳による制御]にチェックを入れます。

[地図帳による制御]にチェック
[地図帳による制御]にチェック

地図帳のプレビュー

これで基本的な設定は完了したので、実際にどのように地図が生成されるかプレビューしてみましょう。メニューバーから、[地図帳]→[地図帳のプレビュー]を選択します。

[地図帳のプレビュー]を選択
[地図帳のプレビュー]を選択

すると、カバレッジレイヤに指定したレイヤの地物を中心に、地図が再描画されます。

地図帳の設定に基づき、地図が再描画される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳の設定に基づき、地図が再描画される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

ツールバーの[矢印アイコン(▶ や ◀)]をクリックすると、カバレッジレイヤの地物を順番に切り替えて、生成される地図を確認できます。

矢印ワイコンをクリックすると、地図帳のページを切り替えられる
矢印ワイコンをクリックすると、地図帳のページを切り替えられる

動的なテキスト(ラベル)を追加する

次に、地図ごとに印刷レイアウトのタイトルが自動で切り替わるように設定してみましょう。「ラベル」アイテムをお好みの場所に追加して、フォントサイズなどを調整します。

「ラベル」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
「ラベル」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

「ラベル」アイテムを選択した状態で、アイテムプロパティの「メインプロパティ」内にあるテキスト入力欄の「ラベルのテキスト」の文字列を削除してから、下部の[式を挿入/編集]ボタンをクリックします。

「ラベルのテキスト」の文字列を削除して、[式を挿入/編集]ボタンをクリック
「ラベルのテキスト」の文字列を削除して、[式を挿入/編集]ボタンをクリック

例として、ここでは「各市町村名+周辺地図」となるように、「 "<市町村名を示す属性名(N03_004)>" || '周辺地図'」という式を入力して、[OK]ボタンをクリックします。式の「<市町村名が格納されている属性名>」の部分は、カバレッジレイヤが持つ名称など印刷レイアウト上に表示したい属性名に置き換えてください。

属性名を入力する際は、中央の一覧から「フィールドと値」を開き、対象の属性をダブルクリックすると簡単に入力できます。
式を入力する
式を入力する

これで、式をもとにカバレッジレイヤの指定した属性値がタイトルとして表示されます。

地物の属性値がタイトルに表示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地物の属性値がタイトルに表示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

地図帳の出力

プレビューを確認して問題がなければ、出力しましょう。

メニューバーの[地図帳]から、希望する出力形式に応じて[画像として地図帳をエクスポート]または[PDFとして地図帳をエクスポート]を選択します。今回は[画像として地図帳をエクスポート]を選択します。

希望する出力形式に応じてエクスポートをクリック
希望する出力形式に応じてエクスポートをクリック

保存先を指定して、出力のオプションを設定したら[保存]ボタンをクリックします。

[保存]ボタンをクリック
[保存]ボタンをクリック

出力が完了したら、ファイルを確認してみましょう。カバレッジレイヤに指定した地物ごとに地図が作成されています。

一括で地図が出力されている(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
一括で地図が出力されている(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

地図帳機能の応用的な使い方

地図帳は、一括で同じ様式の地図を出力できる便利な機能ですが、より応用的な使い方をいくつか紹介します。

全体図を追加する

地図帳はカバレッジレイヤの範囲で印刷レイアウトを作成します。そのため、地図全体の中でどこに位置するのかを示す「全体図」を追加すると、より地図が分かりやすくなります。

まず、印刷レイアウトに新しい「地図」アイテムを小さいサイズで追加し、適宜縮尺を調整します。これが全体図になります。

全体図用の「地図」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
全体図用の「地図」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

全体図として追加した「地図」アイテムのアイテムプロパティで、[全体図]を開き、[+] ボタンをクリックします。次に、[地図フレーム]で、メインの「地図」アイテム(地図 1など)を選択します。

全体図の設定を行う
全体図の設定を行う

これで、メイン地図の表示範囲が全体図上に赤い枠で示されるようになります。

メイン地図の表示範囲が全体図上に赤い枠で示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
メイン地図の表示範囲が全体図上に赤い枠で示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

カバレッジレイヤの属性情報を表示する

印刷レイアウトには属性テーブルを表示することができますが、地図帳と連動して表示する地物を制御することができます。

まず、印刷レイアウトに「属性テーブル」アイテムを追加しましょう。

「属性テーブル」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
「属性テーブル」アイテムを追加する(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

「属性テーブル」アイテムのアイテムプロパティで、[地物のフィルタリング]を開き、[地図帳地物と交差する地物のみ表示する]にチェックを入れます。

[地図帳地物と交差する地物のみ表示する]にチェック
[地図帳地物と交差する地物のみ表示する]にチェック

すると、地図帳地物に交差する地物のみがフィルタリングされた状態となります。

地図帳地物に交差する地物のみがフィルタリングされた状態となる(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳地物に交差する地物のみがフィルタリングされた状態となる(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

また、属性テーブルの表示を地図帳の対象地物のみにすることも可能です。「地物のフィルタリング」メニューで[フィルタ]のみにチェックを入れ、式に「$id = @atlas_featureid」と入力します。

「$id = @atlas_featureid」は、現在の地図帳の対象地物と同じIDを持つ地物のみを表示する式です。「atlas_」で始まる関数は、すべて地図帳に関連しています。
[フィルタ]にチェックを入れ、式を入力する
[フィルタ]にチェックを入れ、式を入力する

これにより、地図帳の対象地物のみが属性テーブルに表示されます。

地図帳の対象地物のみが属性テーブルに表示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳の対象地物のみが属性テーブルに表示される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

地図帳の対象地物のみを地図に表示させる

地図帳で出力する前に、カバレッジレイヤのスタイルを設定することで、地図帳の対象地物のみ表示させることができます。

まず、レイヤプロパティを開き、[シンボロジ]タブから[ルールによる定義]を選択し、[(フィルタなし)]と表示されている箇所をダブルクリックします。

ルールによる定義の設定画面
ルールによる定義の設定画面

「Edit Rule」画面が表示されるため、フィルタに「$id = @atlas_featureid 」と入力します。

フィルタに式を入力
フィルタに式を入力

設定が完了したら、レイヤプロパティを閉じます。次に、レイアウトマネージャから地図帳を設定済みの印刷レイアウトを開きます。地図帳の対象地物のみが表示され、周囲の市区町村ポリゴンは非表示になっています。

地図帳の対象地物のみが表示される(地理院タイルを背景に、「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳の対象地物のみが表示される(地理院タイルを背景に、「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

また、追加でルールを設定することで、地図帳の対象地物以外のスタイルを変更することも可能です。[+]ボタンをクリックして新規ルールを追加して、「$id != @atlas_featureid」と式を設定します。

新規ルールを追加して式を入力する
新規ルールを追加して式を入力する

地図帳の対象地物とそれ以外の地物で異なるスタイルが適用されていることが確認できます。

地図帳の対象地物とそれ以外の地物で異なるスタイルが適用されている(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
地図帳の対象地物とそれ以外の地物で異なるスタイルが適用されている(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

図郭(グリッド)ごとに地図を印刷する

これまで市区町村レイヤの地物ごとに地図帳を作成する手順を紹介しましたが、事前にグリッドを作成することで、図郭ごとに地図を印刷することもできます。

メニューバーから[ベクタ]→[調査ツール]→[グリッドを作成]をクリックします。

[グリッドを作成]をクリック
[グリッドを作成]をクリック

グリッドタイプを[長方形]に設定して、お好みの範囲やサイズでグリッドを作成します。

グリッドタイプを[長方形]に設定してグリッドを作成
グリッドタイプを[長方形]に設定してグリッドを作成

グリッドが作成されました。

グリッドが作成される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
グリッドが作成される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

グリッドが作成できたら、印刷レイアウトを開いて「地図」アイテムなどを追加します。前述と同じ手順で地図帳を設定し、カバレッジレイヤに作成した[グリッド]を選択します。

カバレッジレイヤに作成した[グリッド]を選択
カバレッジレイヤに作成した[グリッド]を選択

地図帳のプレビューを確認すると、グリッドごとに地図が作成されます。

グリッドごとに地図が作成される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)
グリッドごとに地図が作成される(「国土数値情報(行政区域データ)」(国土交通省)を加工して作成)

縮尺を固定する

デフォルトでは、地図帳は各地物を指定した余白で囲むように地図を作成しますが、ポイントレイヤや特定の縮尺で地図を作成したい場合は、縮尺を固定すると便利です。

設定するには、「地図」アイテムを選択し、アイテムプロパティから[地図帳による制御]にチェックを入れ[固定縮尺]を選択します。これにより、すべての地物の縮尺が固定されます。

[地図帳による制御]にチェックを入れ[固定縮尺]を選択
[地図帳による制御]にチェックを入れ[固定縮尺]を選択

縮尺を変更する場合は、アイテムプロパティの[縮尺]の値を調整しましょう。

アイテムプロパティの[縮尺]の値を調整
アイテムプロパティの[縮尺]の値を調整

まとめ

QGISの地図帳機能は、定型的な地図の作成業務を効率化できる非常にパワフルなツールです。本記事で紹介した基本的な使い方をマスターするだけでも、多くの場面でその威力を発揮するでしょう。

さらに、全体図の追加や属性情報の表示といった応用テクニックを組み合わせることで、より分かりやすい地図を、短時間で大量に作成することが可能になります。

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置から、価値へ。」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事