QGISでラベルをいい感じに表示させる方法

## はじめに
世界的に最も広く使われているオープンGISソフト、QGIS。

歴史時代の現代風マップを作るのを趣味にしている自分も、当初Adobe Illustratorで全て作っていたのですが、最近はできるだけQGISで作るようにしています。

その過程で詰まったところ、解決したところを書いていきます！

## ラベルの位置
これは自分が古地図や絵図と睨めっこしながら作成した、
とある地域の江戸時代後期の村のデータです。
QGISでは、デフォルトでシンボロジ（点）がこのように表示されます。
![スクリーンショット 2023-06-20 13.54.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9bcb5962-c4ff-4bfa-1cb8-e149f52f602c.png)

ラベル（村名）を表示させるとこうなります。
![スクリーンショット 2023-06-20 13.55.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9f2b4aa5-b3c5-997d-0864-7483e26942db.png)

見やすいように一部を拡大しました。なんとなくラベルの配置に違和感がありませんか？
![スクリーンショット 2023-06-20 14.01.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/ea61c6b9-5c8f-8e6e-636b-1dca91ed2292.png)

ラベルの文字の中心線と、シンボロジの円の中心線を描いてみると、このようにズレているように見えます。
![スクリーンショット-2023-06-20-14.01.17aaa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/7cee680e-a4c8-2336-fe8c-76eb3b2175f4.png)

QGISのオプションには「カルトグラフィックに配置」とあり、**シンボロジの右上にラベル表示**がデフォルトになっています。欧米のカートグラフィック（地図整飾）業界ではこれが普通なのかもしれませんが、ぜひ詳しい方がいらっしゃったら伺ってみたいです🙇‍♂️
![スクリーンショット 2023-06-20 14.06.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9936a950-5178-7acf-632b-367dd7b7d3d4.png)

実際の紙地図では、このような感じでした（著作権法上の理由でイメージにしています）
![untara.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/2965bd32-b577-0195-47f6-b3947dbe0be6.png)

上図のように、日本ではラベルを左右どちらかぴったりに揃えるか、中央に配置するのが一般的のように感じます（個人の感想）。

ということで、右に揃えつつフォントも変えて…だいぶ落ち着いた印象になりました！
![スクリーンショット 2023-06-20 14.12.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/d1602fe2-b2e5-0702-0091-2d24eb3f3291.png)

## ラベルの重なりの解消
そして次の問題が！
ズームアウトすると文字（ラベル）が激しく重なります…
![スクリーンショット 2023-06-20 14.14.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/0fb9db20-e04e-b3f3-534d-6c400361d838.png)

ラベルの優先度を下げることで重なりを抑えることはできましたが…
ラベルがないのにシンボロジの丸だけ表示されてるのは、地図として見るとイマイチな印象を受けます…
![スクリーンショット 2023-06-20 14.19.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/92ad58d0-4a1c-8341-639c-297453108d22.png)

そこで、ネットで調べると…
同じように困っている人を発見！

https://gis.stackexchange.com/questions/417773/hiding-symbol-if-labels-not-displayed-due-to-overlap-using-qgis

シンボロジを「背景に設定」すればいいとのことなので、早速やってみました。
![スクリーンショット 2023-06-20 15.17.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9d415c81-35b8-29b0-0280-b907c2f17165.png)
ラベルが表示されてないシンボロジは表示されなくなりました！いい感じ！
(左揃えにすると、シンボロジの位置が固定されないので中央揃えにしています)
でも、まだ重なっているところがあって気になります…

そこで、さらに調べてみると同じように困っている人をまたまた発見！

https://gis.stackexchange.com/questions/143556/managing-label-spacing-density-in-qgis

回答によると、
`
'\n\n\n'
`
を入れると良いらしい。

` \n `とはなんぞや…？

調べてみると、改行を表す制御文字とのことです。

https://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97

ラベルの上下に改行を挿入することで擬似的に余白を作り、ぶつかった周囲のラベルを非表示にできるようです（下図の水色が改行部分）。
![名称未設定-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/211340e5-4a52-036a-d899-0ccf640efbb6.jpeg)

'\n\n\n’ だと余白が広すぎるので '\n' でやってみたところ、とてもいい感じに表示されました！！！！！！
![スクリーンショット 2023-06-21 17.14.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/2bccb9d4-fc46-af7e-9ee7-80a89bc1df5d.png)

## ラベルの優先表示
一つ問題が解決すると別のところが気になってしまうのが人間の性…
ズームアウトすると表示される村が減っていくのですが…
![スクリーンショット 2023-06-21 17.25.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/ff6d188e-58dd-c1b8-e837-4fd546a23f25.png)

どうせなら当時デカかった村をズームアウトした際に表示させたい！！
というわけで、新規フィールドでpriorityを設定してみました。
![スクリーンショット 2023-06-21 17.36.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/8fd4b19e-e6be-3096-3473-2521883998a7.png)

縮尺に応じて表示を変えるように設定して…
![スクリーンショット 2023-06-21 17.35.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/63b23ecc-162f-421a-3a74-4c3d814f209b.png)

いい感じに表示されました！！！
![スクリーンショット 2023-06-21 17.36.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/090d9919-5bc6-6853-00e3-6f9a1efcfa08.png)

こんなことをチマチマやった結果、出来上がったものがこちらです！（画面は開発中のものであり…以下略
![スクリーンショット 2023-06-25 12.08.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9d1847e0-b402-3e88-e404-2230bf504cc7.png)

これは江戸時代の現代風マップのWeb版です。
ズームイン・ズームアウトも自由。当時の宿場や名所や町村を、上のような現代の地図デザイン・フォーマットで見れるようになります！
2023年8月頃、まずは関東地方を公開する予定です。
…と急に宣伝になってしまいスミマセン。

みなさんもぜひ、QGISのラベル調整で楽しい地図作りライフを！👍

### 参考文献
- [Hiding symbol if labels not displayed due to overlap using QGIS](https://gis.stackexchange.com/questions/417773/hiding-symbol-if-labels-not-displayed-due-to-overlap-using-qgis)
- [Managing label spacing/density in QGIS?
](https://gis.stackexchange.com/questions/143556/managing-label-spacing-density-in-qgis)
- [制御文字 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97)