重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 100.00% 翻訳されています。
4.2. レッスン: ダイナミック印刷レイアウトを作る
基本的な地図レイアウトの作成方法を学んだので、さらに一歩進んで、地図の範囲やページのプロパティ(例えば、ページのサイズを変更したとき)に動的に適応する地図レイアウトを作成しましょう。また、作成日付も動的に適応します。
4.2.1. ★★☆ (中級レベル) 理解しよう: 動的マップキャンバスを作る
ESRIシェープファイル形式のデータセット
protected_areas.shp、places.shp、rivers.shpおよびwater.shpをマップキャンバスに読み込み、そのプロパティを自分の良いように修正します。全てがあなたの好みに合わせてレンダリングされ、シンボル化されたら、 プロジェクト ツールバーの
新規印刷レイアウト アイコンをクリックするか
:menuselection:`新規印刷レイアウト`を選択します。新しい印刷レイアウトのタイトルを選択するようプロンプトが表示されます。ヘッダと南アフリカのスウェレンダム近くの地域の地図で構成される地図レイアウトを作成します。レイアウトのマージンは7.5 mmで、ヘッダの高さは36mmでなければなりません。
キャンバス上に
main mapという地図アイテムを作成し、 レイアウト パネルに移動します。 変数 セクションまでスクロールして、 レイアウト の部分を探します。ここでは、動的印刷レイアウト全体で使用することができるいくつかの変数を設定します。 レイアウト パネルに移動して、 変数 セクションにスクロールダウンしてください。最初の変数がマージンを定義します。
ボタンを押し、 sw_layout_marginという名前を入力します。値を7.5に設定します。もう一度
ボタンを押して、 sw_layout_height_headerという名前を入力します。値を36に設定します。これで、マップキャンバスの位置とサイズを変数によって自動的に作成する準備が整いました。地図アイテムが選択されていることを確認して、 アイテムプロパティ パネルに移動し、スクロールダウンして 位置とサイズ セクションを開いてください。 X の
データによって定義された上書き をクリックし、 変数 の項目から @sw_layout_marginを選択します。Y の
データによって定義された上書き をクリックし、 編集... を選択して数式を入力します:to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
地図アイテムのサイズは、 幅 と 高さ の変数を使用して作成することができます。 幅 の
データによって定義された上書き をクリックし、 編集... を再度選択します。数式を記入します:@layout_pagewidth - @sw_layout_margin * 2
高さ の
データによって定義された上書き をクリックし、 編集... を選択します。ここで数式を入力します:@layout_pageheight - @sw_layout_height_header - @sw_layout_margin * 2
また、メインキャンバスの地図範囲の座標を含むグリッドを作成します。再び アイテムプロパティ に移動して、 グリッド セクションを選択します。
ボタンをクリックして、グリッドを挿入します。 グリッドの修正... をクリックして、QGISメインキャンバスで選択した地図の縮尺に従って、 X, Y と オフセット に 間隔 を設定します。 グリッドタイプ クロス は、私たちの目的にとてもよく合っています。
4.2.2. ★★☆ (中級レベル) 理解しよう: 動的ヘッダを作る
再び アイテムプロパティ に移動し、 位置とサイズ セクションを開きます。
データ定義によって定義された上書き を使用して、 X と Y に sw_layout_margin変数を選択します。 幅 は式で定義されるものとします:@layout_pagewidth - @sw_layout_margin * 2
そして 高さ を
sw_layout_height_header変数で指定します。ここでは、
ノートアイテムを追加 を使って、ヘッダーを分割するための1本の横線と2本の縦線を挿入します。1本の横線と2本の縦線を作成し、それぞれを Horizontal line,Vertical line 1,Vertical line 2という名前にします。横線:
変数
sw_layout_marginを X にしますY の式に次を設定します:
@sw_layout_margin + 8
幅 の式に次を設定します:
@layout_pagewidth - @sw_layout_margin * 3 - 53.5
最初の縦線:
X の式に次を設定します:
@layout_pagewidth - @sw_layout_margin * 2 - 53.5
Y に変数
sw_layout_marginを設定します高さは作ったヘッダと同じでなければならないので、 高さ には変数
sw_layout_height_headerを設定します。
2本目の縦線は、1本目の縦線の左側に配置されます。
X の式に次を設定します:
@layout_pagewidth - @sw_layout_margin * 2 - 83.5
Y に変数
sw_layout_marginを設定します高さはもう一本の縦線と同じでなければならないので、変数
sw_layout_height_headerを 高さ に設定します。
以下の図は、動的レイアウトの構造を示しています。線によって作成された領域をいくつかの要素で埋めます。
4.2.3. ★★☆ (中級レベル) 理解しよう: 動的ヘッダのラベルを作る
あなたのQGISプロジェクトのタイトルを自動的に含めることができます。タイトルは プロジェクトプロパティ で設定します。
ラベルを追加 ボタンでラベルを挿入し、 project title (variable)という名前を入力します。 アイテムプロパティ パネルの メインプロパティ に式 を入力します:[%@project_title%]
ラベルの位置を設定します。
X には次の式を使います:
@sw_layout_margin + 3
Y には次の式を使います:
@sw_layout_margin + 0.25
幅 には次の式を使います:
@layout_pagewidth - @sw_layout_margin *2 - 90
高さ には
11.25を入力します
外観 にあるフォントサイズに16 ptを設定します。
二つ目のラベルには、作成した地図の説明を入れます。ここでもラベルを挿入し、名前を
map descriptionとします。 メインプロパティ にmap descriptionというテキストを入力します。また、 メインプロパティ には、次のように入力します:printed on: [%format_date(now(),'dd.MM.yyyy')%]
ここでは、2つの
日付と時刻関数 (nowとformat_date) を使用しました。ラベルの位置を設定します。
X には次の式を使います:
@sw_layout_margin + 3
Y には次の式を使います:
@sw_layout_margin + 11.5
3つ目のラベルには、あなたの組織に関する情報を記載します。まず、 アイテムプロパティ の 変数 メニューで、いくつかの変数を作成します。レイアウト メニューから
ボタンをクリックして、 o_department,o_name,o_adress,o_postcodeという名前を入力してください。2行目には、あなたの組織に関する情報を入力してください。これらの変数は メインプロパティ セクションで使用します。メインプロパティ で次を入力します:
[% @o_name %] [% @o_department %] [% @o_adress %] [% @o_postcode %]
ラベルの位置を設定します。
X には次の式を使います:
@layout_pagewidth - @sw_layout_margin - 49.5
Y には次の式を使います:
@sw_layout_margin + 15.5
幅 を
49.00にします高さ には次の式を使います:
@sw_layout_height_header - 15.5
4.2.4. ★★☆ (中級レベル) 理解しよう: 動的ヘッダに画像を追加する
画像を追加 ボタンを使って、ラベル organisation informationの上に画像を配置することができます。organisation logoという名前を入力した後、ロゴの位置とサイズを決定します:X には次の式を使います:
@layout_pagewidth - @sw_layout_margin - 49.5
Y には次の式を使います:
@sw_layout_margin + 3.5
幅 を
39.292にします高さ を
9.583にします
あなたの組織のロゴを入れるには、ロゴをホームディレクトリに保存し、 にパスを入力する必要があります。
私たちのレイアウトにはまだ方位記号が必要です。これも
方位記号を追加 を使って挿入します。ここでは既定の方位記号を使用します。位置を定義します:X には次の式を使います:
@layout_pagewidth - @sw_layout_margin * 2 - 78
Y には次の式を使います:
@sw_layout_margin + 9
幅 を
21.027にします高さ を
21.157にします
4.2.5. ★★☆ (中級レベル) 理解しよう: 動的ヘッダのスケールバーを作る
ヘッダーにスケールバーを挿入するには、
スケールバーを追加 をクリックして、方位記号の上の矩形に配置します。 メインプロパティ の 地図 で Main Map(Map 1)を選択します。これは、QGISのメインキャンバスで選択した範囲に応じて縮尺が自動的に変更されることを意味します。 スタイル は 数値 を選択します。これは、スケールバーのないシンプルなスケールを挿入することを意味します。このスケールにはまだ位置とサイズが必要です。X には次の式を使います:
@layout_pagewidth - @sw_layout_margin * 2 - 78
Y には次の式を使います:
@sw_layout_margin + 1
幅 を
25にします高さ を
8にします基準点を中央に置きます。
おめでとうございます。あなたは最初の動的な地図レイアウトを作成しました。レイアウトを見て、全てが思い通りに見えるかどうかチェックしてみてください。動的な地図レイアウトは、 ページプロパティ を変更すると自動的に反応します。例えば、ページサイズをDIN A4からDIN A3に変更した場合、
ビューを更新 ボタンをクリックすると、ページデザインが適応されます。
4.2.6. 次は?
次のページでは、完成すべき課題が与えられます。これによって、これまでに学んだテクニックを実践できます。
