QGIS3.10.7 印刷レイアウトの凡例のタイトルにシンポロジで設定したフィールド名を自動で反映させたい

491 views
Skip to first unread message

kein1024

unread,
Mar 26, 2021, 2:05:54 AM3/26/21
to QGIS初心者質問グループ
QGIS 3.10.7を使ってある都市のコロナウィルス感染者数に関する主題図を作成しています。月ごとの感染者数を色分けした主題図を計12か月分を複数の都市で作成する必要がありますが、凡例のタイトルにフィールド名を手動で反映させる以外に自動的に更新かつ表示させる方法が分かりません。方法をご存じでしたら、共有をお願いしたいです。

mooya

unread,
Apr 4, 2021, 9:41:04 AM4/4/21
to QGIS初心者質問グループ
こんばんは。私の住んでいるところでは、第4波でコロナが大爆発してしまいました。
なかなか、不自由な環境ですね

 質問にあるような、フィールドに時系列のデータを並べたデータを一括して出力するのは、いいアイディアか無かったので、なんかいい方法がないかなと、長いこと寝かせていたのですが、キタさまの本をめくっていてシンボロジのフィールドをcase文で切り替えるというのをみて、良さそうな方法を思いつきました。
 手順に起こすと長くなりましたが、要は地図帳のフィールドでシンボロジのフィールドを切り替えるという方法になります


1.レイアウトマネージャでレイアウト作成

2.印刷レイアウト領域を作成で、「1.」の地図範囲ポリゴン作成

3.「2.」をエクスポート カバレッジ.gpkg

4.カバレッジ.gpkg にフィールド追加 ValField 文字列-> 保存

5.カバレッジ.gpkg の地物を選択してコピー エクセルに貼りつけ

6.表示したいデータレイヤの地物を1つ選択してコピー

7.「6.」をエクセルに貼りつけて、データのフィールド名をコピー

8.「5.」のValField列に、「7.」を形式を選択貼り付け->行列の入れ替え

9.ValField列の数ぶん、他の列について1行目の内容をコピー&ペースト

10.「9.」の表全体をコピー

11.カバレッジ.gpkgのレイヤの地物を選択・削除して、「10.」を貼り付け->保存

12.レイアウトを開き 地図帳メニュー ->地図帳の設定->地図帳の作成にチェック->カバレッジレイヤをカバレッジ.gpkgのレイヤ

13.レイアウトのアイテムパネルの地図を選択し、アイテムプロパティの地図帳による制御を有効にするチェック

14.レイアウトにラベルを追加->アイテムプロパティ->メインプロパティに下記入力

[%  attribute(  @atlas_feature ,'ValField')%]

15.地図帳のプレビューボタンを押して、地物を切り替えて、「14.」のラベルが変わることを確認する。

16.データレイヤのレイヤスタイル、連続値による定義として、値に下記を入力

 attribute(   attribute(  @atlas_feature ,'ValField'))

17.必要であれば、ラベルにも上記と同じ式を入力

18.レイアウトを開き、地図帳の地物を切り替えて、意図通り、切り替わるか確認する。


QGIS 3.16.5/Win10 で確認しました。






2021年3月26日金曜日 15:05:54 UTC+9 kein1024:
Reply all
Reply to author
Forward
0 new messages