QGIS2.14や2.18にてラベルを地物の後ろに表示する方法

674 views
Skip to first unread message

sakuya_izayoi

unread,
Jun 12, 2018, 1:59:54 AM6/12/18
to QGIS初心者質問グループ
こちらsakuya_izayoiのsakuyaです。
お世話になります。
QGIS2.18や2.14にてラベルをラインの背面に表示させる方法があるのかどうかを探しております。
下記のような状況ですが、「背面にしたい」
と書いてあるラベルを紫色の線の下に表示させたい、つまり、紫色の線で背面にしたいという文字が少し隠れるような感じです。


レイヤーの構成としては

のようにラインのレイヤーの方が前面にあるにかかわらず、ラベルが前面表示されてしまいます。
欲しいもののイメージは


という感じです。
参考ファイルを添付いたします。
方法が分かる方がお見えでしたら教えてください。
現在の私の対処方法としては、乗算や焼きこみなどを選択してどうにか後ろのラインが見えるようにするぐらいです。

















































































送付用.zip
Auto Generated Inline Image 1
Auto Generated Inline Image 2
Auto Generated Inline Image 3

福岡

unread,
Jun 12, 2018, 7:49:30 PM6/12/18
to QGIS初心者質問グループ
sakuya 様

おはようございます。

ラインにバッファを与えてポリゴンにしたらどうなるかとか、思いつくことを試してしてみましたが駄目でした。
QGISでは基本的に地物の上にラベルを表示する仕様になっているようです。

そして困った時のGoogle大先生ということで「qgis display label under feature」をキーワードにしてググってみたところ、次のようなものがありました。
How to place labels under a vector layer? [duplicate]

内容的には今回の質問と同じようですが、解決策は提示されていないように思います。

もし自分が同じような問題を抱えたらどうするかも考えてみました。
あまりに大量でなければ、ラベルの移動と回転を使って手作業で地物を隠さないようにするかと思います。


また以前の投稿にあった「EasyCustomLabeling」を使って、引出線をつけて表示することも考えるかもしれないです。

sakuya_izayoi

unread,
Jun 12, 2018, 9:00:00 PM6/12/18
to QGIS初心者質問グループ
福岡様
ご返信ありがとうございます。
現時点では文字は最優先に設定されているようですね。

あの後、ちょっと粘ってみての自分なりの解決策を投稿いたします。

まず、
①線の後ろに表示したい文字レイヤーのみを、プリントコンポーザーからワールドファイル付きのラスタ(png)で保存します。
②上記の、後ろにしたい文字のみのラスタをQGISに読み込ませます。
③その上のレイヤにラインレイヤを重ねます。

そうすることで一応望んだ形の結果を力づくで得ることができました。
…引き出し線や回転移動で臨んだ方が格好良さげですね。

ありがとうございます。

東 雲

unread,
Jun 13, 2018, 9:29:46 AM6/13/18
to QGIS初心者質問グループ
sakuya様

ラベルではなくスタイルのフォントマーカーを使ってみてはどうでしょう。
フォントがずらずら並んでいるところの右側にあるプルダウンメニューからカラムの内容で設定できます。


sakuya_izayoi

unread,
Jun 13, 2018, 10:06:54 AM6/13/18
to QGIS初心者質問グループ
東 雲 様
こちらizayoiです。
なるほど。考え方を変えればこれもありですね。わざわざラベルにこだわらなくても、これなら別に良いですね。
良いアイデアをありがとうございます。sakuyaに良いこと聞いたと報告させていただきます。(朝、しれっと作成したの見せてやろっと(笑))


福岡

unread,
Jun 13, 2018, 10:23:47 AM6/13/18
to QGIS初心者質問グループ
東雲 様

これはとても良いことを教えていただきました。φ(..)メモメモ
勉強になります。
Reply all
Reply to author
Forward
0 new messages