一括で幅のみの変更

548 views
Skip to first unread message

Satoshi Itoh

unread,
Aug 26, 2021, 12:54:29 AM8/26/21
to QGIS初心者質問グループ
お世話になります。
複数あるレイヤの色を変えずに、幅のみ一括で変更する方法はないでしょうか?

tomoyuki arai

unread,
Aug 26, 2021, 1:02:03 PM8/26/21
to QGIS初心者質問グループ
Satoshi Itoh 様

具体的な状況がわからないのでなんとも言えないのですが、
おそらくは、「レイヤ凡例を右クリック --> スタイル --> スタイルのコピー
 --> 全スタイル(またはシンボロジ)」と操作して、幅に関するスタイルの
コピーをしたと思ったところ、塗りつぶし(あるいは線の色などその他情報)も
コピーされてしまい、張り付けると色まで変わってしまって困ったという状況でしょうか。

希望されている操作を実現する方法はさまざまあると思いますが、
複数あるレイヤが質的に同じものであるならば、「ベクタ --> データ管理ツール
 --> ベクタレイヤのマージ」を使ってデータを統合し、必要に応じてカラムを追加して
カテゴリ値を入力した上で、カテゴリ値による定義でカテゴリ別にシンボルを設定するのが
通常の対処方法かと思います。

マージするのが馴染まない場合、これ以外の方法で手っ取り早いのは
プロジェクト変数」と「データによって定義された上書き」の組み合わせだと思います。

(1) メニューから、「プロジェクト --> プロパティ」と選択して、左のタブ見出しから
 ε のアイコンの「変数」を選択します。
(2) 右下にある「+」のボタンを押し、デフォルトで「new_variable」 となっている
 変数名を適宜設定します。ここでは例えば「mywidth」とします。
(3) 変数名の右にある空欄に数値を入力します。例えば「1.0」とします。
 自動でシングルクオーテーションで括られて「'1.0'」となりますが大丈夫です。
(4) 右下のOKボタンを押して、設定を反映してダイアログを一旦閉じます。

これで、プロジェクト内で利用できる変数を定義できました。
この状態で、
(5) レイヤ凡例を右クリック --> プロパティ でレイヤプロパティを開き、
 シンボロジタブを開きます。
(6) スタイルが単一定義ならばシンボロジツリーの「シンプル塗りつぶし」など具体的なシンボロジを、
 カテゴリ値定義や連続値定義ならば「シンボル」の横のボタンを押して開く「シンボル設定」を
 選択すると設定できる、「幅」テキストボックスの右端にある変な形のボタンを左クリックします。
(7) 開いたメニューの一覧の中から「変数」にカーソルを合わせます。
(8) 横に出てくるメニュー内に、先ほど定義したプロジェクト変数「mywidth」があるので、
 これをクリックします。
(9) 先ほど押したデータ定義のボタンが黄色四角の ε のアイコンに変わったのを確認してOKを押します。

これで、シンボロジの幅の値をプロジェクト変数に関連付けることができました。
あとは、これを読み込んだレイヤの数だけ(5)~(9)を繰り返します。
 
この状態で再度、「プロジェクト --> プロパティ --> 変数」から先ほど設定した値「1.0」を
例えば「2.0」に変更して適用ボタンまたはOKボタンを押せば、設定したレイヤの線幅が
一括で2.0に変わります。幅の設定の際、単位を同じもの(例えばmm)に揃えるように注意してください。

以上、ご参考になれば幸いです。

新井 智之

2021年8月26日木曜日 13:54:29 UTC+9 Satoshi Itoh:
お世話になります。
複数あるレイヤの色を変えずに、幅のみ一括で変更する方法はないでしょうか?

Satoshi Itoh

unread,
Aug 26, 2021, 7:16:48 PM8/26/21
to QGIS初心者質問グループ
新井 智之様
早速ありがとうございます。
変数の設定で幅を変更することが出来ました。

ただ、一旦各レイヤーの幅を「mywidth」に設定後
メニューから、「プロジェクト --> プロパティ」「変数」を変更しても
各レイヤーは変わってくれません。
再度右端にある変な形のボタンから「mywidth」を指定しないとだめなのでしょうか?

(レイヤー一括選択し、右クリックで「スタイル」から幅の変更、みたいにできればうれしいのですが・・
もちろん上記は出来ません)

Satoshi Itoh

2021年8月27日金曜日 2:02:03 UTC+9 tarai...@gmail.com:

tomoyuki arai

unread,
Aug 29, 2021, 4:16:59 AM8/29/21
to QGIS初心者質問グループ

Satoshi Itoh 様

> ただ、一旦各レイヤーの幅を「mywidth」に設定後
> メニューから、「プロジェクト --> プロパティ」「変数」を変更しても
> 各レイヤーは変わってくれません。
> 再度右端にある変な形のボタンから「mywidth」を指定しないとだめなのでしょうか?

その通りです。詳細については「データによって定義された上書き」でご確認ください。
レイヤを読み込んだ後、一度データ定義上書きボタンで設定ができてしまえば
再設定する必要はありません。

当初の質問には書いてありませんでしたが、もし頻繁にレイヤの削除・再読み込みを
行う必要があるというのであれば、この方法は何度も設定し直す必要があるので煩雑です。
その場合には、「プロジェクト --> プロパティ --> 既定スタイル」から、ラインや塗りつぶしの
デフォルトのシンボルスタイルの線の太さを変更する方が便利かもしれません。


> (レイヤー一括選択し、右クリックで「スタイル」から幅の変更、みたいにできればうれしいのですが・・
> もちろん上記は出来ません)

確かにそのような方法ができれば便利だと思います。
ただ、複数レイヤを選択した後に右クリックで出るメニューの内、
スタイル設定に関するものが「(コピーした)スタイルの貼り付け」位しか無いことを見ると、
なかなか複数レイヤでスタイル設定を一括で行うのは難しく、
一つ一つ作業していくよりほか無いのかもしれません。

新井 智之

2021年8月27日金曜日 8:16:48 UTC+9 Satoshi Itoh:
Reply all
Reply to author
Forward
0 new messages