5.2. Lesson: ダイナミック印刷レイアウトを作成する¶
基本的な地図レイアウトの作成は学習したので、さらに進んで、地図範囲とページプロパティ、ページのサイズを変更したときなど、に動的に適応する地図レイアウトを作成します。また、作成日は動的に調整されます。
5.2.1. Follow Along: 動的地図キャンバスの作成¶
ESRI Shapefile形式のデータセット
protected_areas.shp
、places.shp
、rivers.shp
およびwater.shp
を地図キャンバスにロードし、そのプロパティを自分の良いように修正します。すべて好みに合わせてレンダリングおよびシンボル化されたら、ツールバーの 新しい印刷レイアウト アイコンをクリックするか、 を選択します。新しい印刷レイアウトのタイトルを選択するよう求められます。
ヘッダと南アフリカのスウェレンダム近くの地域の地図で構成される地図レイアウトを作成します。レイアウトのマージンは7.5 mmで、ヘッダの高さは36mmでなければなりません。
キャンバスに
main map
という地図アイテムを作成し、 レイアウト パネルに移動します。 変数 セクションまでスクロールダウンし、 レイアウト 部分を見つけます。ここでは、動的印刷レイアウト全体で使用できる変数を設定します。 レイアウト パネルに移動し、 変数 セクションまでスクロールします。最初の変数は余白を定義します。 ボタンを押しsw_layout_margin
という名前を入力します。値を7.5
に設定します。もう一度 ボタンを押し、sw_layout_height_header
という名前を入力します。値を36
に設定します。これで、変数を使用して地図キャンバスの位置とサイズを自動的に作成する準備が整いました。 アイテムプロパティ パネルに移動し、 位置とサイズ セクションを開きます。 X の データ定義上書き をクリックし、 変数 エントリから
@sw_layout_margin
を選択します。Y について データ定義オーバーライドをクリックし、 :guilabel:`編集... を選択し、式を入力します
to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
幅`および :guilabel:`高さ の変数を使用して、地図アイテムのサイズを作成できます。 幅 で データ定義のオーバーライド をクリックし、再度 編集... を選択します。数式を入力します
@layout_pagewidth - @sw_layout_margin * 2
Click the Data defined override for Height and choose Edit .... Here fill in the formula
@layout_pageheight - @sw_layout_height_header - @sw_layout_margin * 2
また、メインキャンバスマップ範囲の座標を含むグリッドを作成します。もう一度 アイテムプロパティ に移動し、 グリッド セクションを選択します。 ボタンをクリックしてグリッドを挿入します。 グリッドの変更... に移動し、QGISメインキャンバスで選択した地図縮尺に従って、X、Y、および オフセット の 間隔 を設定します。 グリッドタイプ クロス は、この目的に非常に適しています。
5.2.2. Follow Along: 動的ヘッダを作成する¶
再度、 アイテムのプロパティ に移動して、 位置とサイズ セクションを開きます。 を使用する データ定義上書き 、 X および Y に対して
@sw_layout_margin
変数を選択します。 幅 は式で定義されます@layout_pagewidth - @sw_layout_margin * 2
and Height by the expression
@sw_layout_height_header
ノード項目の追加 を使用して、ヘッダを異なるセクションに分割するために、水平線と2本の垂直線を挿入します。水平線と2本の垂直線を作成します。名前を入力した後、式を挿入します
@sw_layout_margin
for X,
@sw_layout_margin + 8
for Y, and
@layout_pagewidth - @sw_layout_margin * 2 - 53.5
for the Width.
最初の垂直線はこう定義されます
@layout_pagewidth - @sw_layout_margin * 2 - 53.5
for X and
@sw_layout_margin
for Y. It's defined by the height of the header we created, so enter the expression
@sw_layout_height_header
高さ について。2番目の垂直線は最初の垂直線の左側に配置されます。式を入力してください
@layout_pagewidth-@sw_layout_margin*2-83.5
X と
@sw_layout_margin
Y について。 高さ は最初の垂直線と同じ値を持ちます:
@sw_layout_height_header
以下の図は、動的レイアウトの構造を示しています。線によって作成された領域をいくつかの要素で埋めます。
5.2.3. Follow Along: 動的ヘッダのラベルを作成する¶
QGISプロジェクトのタイトルは自動的に含めることができます。タイトルは プロジェクトプロパティ に設定されます。 レイアウトに新しいラベルを追加する ボタンでラベルを挿入し、
プロジェクトのタイトル(変数)
という名前を入力します。 アイテムのプロパティ パネルの メインプロパティ に式を入力します[%@project title%]
Set the position of the label with the expression
@sw_layout_margin +3
for X and
@sw_layout_margin + 0.25
for Y. Enter the expression
@layout_pagewidth - @sw_layout_margin *2 -90
幅 について(これは105 mmの幅を与える必要があります)、そして 高さ に
11.25
を入力します。 Appearance で、フォントサイズを16 ptに設定します。2番目のラベルには、作成したマップの説明が含まれます。繰り返しますが、ラベルを挿入し、
map description
という名前を付けます。 メインプロパティ にもmap description
というテキストを入力します。ここで、日付も使用しますprinted on: [%format_date(now(),'dd.MM.yyyy')%]
ここでもQGISで自動的に作成される変数を使用します。 X の場合、式を挿入します
@sw_layout_margin + 3
and for Y enter the expression
@sw_layout_margin + 11.5
3番目のラベルには、組織に関する情報が含まれます。最初に、 アイテムプロパティ の 変数 メニューでいくつかの変数を作成します。 レイアウト メニューに移動し、下の図に示すように、その都度 ボタンをクリックして名前「o_department」、「o_name」、「o_adress」、「o_postcode」を入力します。 2行目に、組織に関する詳細情報を入力します。これらの変数は メインプロパティ セクションで使用します。位置は以下によって定義されます
@layout_pagewidth - @sw_layout_margin - 49.5
for X and
@sw_layout_margin + 15.5
for Y. Width is
49.00
and Height is defined by@sw_layout_height_header - 15.5
5.2.4. Follow Along: 動的ヘッダに画像を追加する¶
レイアウトに新しい画像を追加 ボタンを使用して、ラベル
組織情報
の上に画像を配置します。名前organization logo
を入力した後、 X の位置を定義します@layout_pagewidth - @sw_layout_margin - 48.5
and for Y with
@sw_layout_margin + 3.5
ロゴのサイズは、 幅 は
39.292
、 高さ は9.583
に設定されます。組織のロゴを含めるには、ロゴをホームディレクトリに保存し、 にパスを入力する必要があります。レイアウトにはまだ北向き矢印が必要です。これも レイアウトに新しい画像を追加 を使用して挿入されます。名前を「北矢印」に設定し、 メインプロパティ に移動して、
Arrow_02.svg
を選択します。位置は以下によって定義されます@layout_pagewidth - @sw_layout_margin - 68.25
for X and by
@sw_layout_margin + 22.5
Y の場合。ここでは静的な数値を使用して 幅 と 高さ :
21.027
と21.157
を定義します。
5.2.5. Follow Along: 動的ヘッダのスケールバーを作成する¶
ヘッダーにスケールバーを挿入するには、 レイアウトに新しいスケールバーを追加 をクリックし、それを北向き矢印の上の長方形に配置します。 Main Properties の下の Map で
main map(Map 0)
を選択します。つまり、QGISメインキャンバスで選択した範囲に応じて、スケールが自動的に変更されます。 StyleNumeric
を選択します。これは、スケールバーなしで単純なスケールを挿入することを意味します。スケールにはまだ位置とサイズが必要です。 X の場合@layout_pagewidth - @sw_layout_margin - 68.25
Y について入力
@sw_layout_margin + 6.5
幅 には
28,639
を入力し、 高さ には13.100
を入力します。基準点
は中央に配置する必要があります。
おめでとうございます!最初の動的地図レイアウトを作成しました。レイアウトを見て、すべてが思い通りに見えるかどうかを確認してください!動的地図レイアウトは、 ページプロパティ を変更すると自動的に反応します。たとえば、ページサイズをDIN A4からDIN A3に変更する場合は、[描画]をクリックするだけで、 ビューの更新 ボタンとページデザインが適応されます。
5.2.6. What's Next?¶
次のページでは、完成すべき課題が与えられます。これによって、これまでに学んだテクニックを実践できます。