QGISで🌏✨💖おじさん👨‍💼地図💖✨🌏を作ってみよう

:::note info
これは [MIERUNE Advent Calendar 2024](https://qiita.com/advent-calendar/2024/mierune) の5日目の記事です。
昨日は @darshu さんによる [Cesiumで表面積を計算する](https://qiita.com/darshu/items/d750da2e83c33277d632) でした。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/51d6caa0-4c23-82ee-a57a-bceda2cdbe48.png)

## おじさんとEmoji

人生のほぼ2/3はおじさん(おばさん)であることに最近気が付きました。

関連して、おじさん構文というミームも最近あります。
例文をChatGPTさんに作ってもらいました

> ✨今日はね～福岡に出張なんだよ🚄💨💼
はやく💖アツアツのモツ鍋🍲🔥食べたくてしょうがないよ🤤💕！🌟君の笑顔とモツ鍋が僕の(以下自主規制）

このような作文に至る作者の心理的背景などの考察はその道のプロの方にお譲りするとして、このおじさん構文で重要な役目を果たしているのが💖や🌟などの絵文字です。

絵文字(emoji)はWikipediaによると

> スマートフォンが日本に進出するに当たり、Apple社のiOSとGoogle社のGmailで絵文字がサポートされた。それは、今まで日本の国内の携帯電話会社と同じように、フォントを切り替えずプレーンテキストの一部として表示するもので、Unicodeの私的領域を使用することとなった。そしてこの2つの会社の働きかけにより、2010年、Unicode 6.0よりemojiがサポートされた

https://ja.wikipedia.org/wiki/%E7%B5%B5%E6%96%87%E5%AD%97


とのことで、[Unicode 16.0だと3790個も定義](https://en.wikipedia.org/wiki/List_of_emojis)されているそうです。

OSやプラットフォームなどでデザインが若干ことなるものの、全体的に柔らかいトーンだったり視認性が高いこともあって、わたしはかねてからこの絵文字をQGISのシンボル表示に使えないかうすぼんやりと考えておりました。

ほかにも、QGISのデフォルトがあまりにもアレということもありまして…

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/cb2d4fc6-fcc3-168a-0e2b-ff7a4e0361d2.png" alt="image.png" width="60%">




…ということで色々調べたり試行錯誤していたら、うまくQGISのポイントシンボルにemojiが適用できましたので、そのやり方を共有してみます。


## ちょっとコレジャナイ例 

### フォントマーカーでemoji
QGISのポイント表示のプロバティ中の「フォントマーカー」でemojiを出すこともできます。

レイヤプロバティ→シンボロジ→シンボルレイヤ型→フォントマーカー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/c780a2c0-cb4f-e3af-a53f-f35497a7eb91.png)

下部の「文字」エリアに任意のemojiを入力（もしくは[この辺](https://getemoji.com/)からコピペ）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/3a448837-f63a-13c5-c82d-2e863e112d49.png)

しかしこの手法だと、シンボル形状を読み取るもののQGISのレンダリングエンジンによってシンボル全体で単色として扱われるために、わたしが求めるおじさん地図パワーが半減しています…今回は却下。
（ささっとemojiの形だけ欲しい場合はこの手法でもOKだとおもいます）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/6229dff3-4c49-6d9a-3526-f63881d2452d.png)


### ラベル表示でemoji

ではラベルにemojiを表示させるとどうなるでしょうか
レイヤプロバティ→シンボロジ→「シンボルなし」を設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/11d189b7-90fa-368f-1a27-f168b88caa07.png)

ラベル→単一定義(single)→ε
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/b255dfcf-5541-6ee4-1ec1-adb362984949.png)

Expression(式)Builderに
``  '🐶'  ``を入力（🐶でも🐱でも💩でもOKです）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/e0350c91-df43-5716-7f06-d218f3cdfeb8.png)


→OK→OKを押すと…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/e9b81d57-39c6-095a-779f-e0493e650319.png)

こちらも同様に１色で表示となります


### ラスタ画像マーカーでemoji

このほかにもPNGなどの画像をシンボルとして読ませる「ラスタ画像マーカー」の方法もあります。しかしemojiをPNGで準備したりする手間もありますし、解像度も気にしないといけないし、ざざっとさまざまなemojiの種類を選びたい場合にはちょっと重いなあと考えておりました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/342fed94-9ff6-fa9a-e448-840175cb943b.png)


## 利便性の高い(と思う)やりかた

ということで

1. 発色はemojiそのままにしたい
1. 一回QGISに設定したらラインナップ一覧へ入る
1. 様々な種類から選びたい

という要求をいいかんじに満たす手法としてシンボル設定の「SVGマーカー」にemojiのSVGファイルセットを投入する方法をやってみます

emojiは色々と種類がありまして、今回は[Noto emoji](https://github.com/googlefonts/noto-emoji)をお借りします。アイコンのライセンスは[Apache License 2.0](https://github.com/googlefonts/noto-emoji?tab=readme-ov-file#license)ですので、ゆるめなのもありがたいです。

![image.png](https://camo.githubusercontent.com/65ff1c2c60650f639598b8175d5f750bef8cc2e39d66ed04a4afb64f662420df/68747470733a2f2f737562737461636b63646e2e636f6d2f696d6167652f66657463682f775f313435362c635f6c696d69742c665f776562702c715f6175746f3a676f6f642c666c5f70726f67726573736976653a73746565702f68747470732533412532462532466275636b65746565722d65303562626338342d626161332d343337652d393531382d6164623332626537373938342e73332e616d617a6f6e6177732e636f6d2532467075626c6963253246696d6167657325324661623462343237362d396262302d343261362d613637352d3531306663623630353564665f3139343078313038382e706e67)


### SVG emojiの初期設定

まず、noto emojiのSVGをダウンロードしてきます。SVGの[フォルダはここ](https://github.com/googlefonts/noto-emoji/tree/main/svg)にあります。Gitのコマンドでここだけ持ってきたり各種ツールを使う方法もよいのですが、なれない方もいるので今回はなにもかも全部DLしてきて、svgだけ取り出します。

まず、[Noto emoji](https://github.com/googlefonts/noto-emoji)のGithubページに行き「code」から「Download ZIP」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/93502f73-f038-cbee-0fc3-09a8027a94c1.png)

noto emojiに関係するファイルがZIPで降ってきますので解凍すると「svg」というフォルダがあります。これをQGISに取り込みましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/a5c16996-3f46-54de-bc65-a33756aef0d2.png)

あとでちょっとわかりにくくなるのでフォルダ名を「svg」を「noto_emoji_svg」などにリネームして、そのあと任意の場所…たとえばC:\TEMPとかに移動させてください

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/08266c10-1d4d-5471-0fe0-294e92dd74ae.png)

QGISではSVGマーカーをデフォルトで読みに行くフォルダを指定することができます。

メニューの設定→オプション
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/f46a063b-87d3-cfd0-3e18-1165598b0f43.png)

システム→一番上にSVGパスを記述する欄があるので「＋」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/7867b2df-6e91-4fe6-77ec-4488c3a8448b.png)

さきほどnote_emoji_SVGを移動させたパス `C:\TEMP\noto_emoji_svg`を指定して→「フォルダの選択」を押す

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/3c4bb33e-8d80-09b9-edc5-3ae7c3549bc6.png)

そうするとSVGパスが登録される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/0b0b45b2-9613-b00a-9749-14102916d35f.png)

これで初期設定は完了です

### SVG emojiをつかってみる

ではポイントレイヤのレイヤプロバティ→シンボルレイヤ型→SVGマーカーを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/81609645-efe7-72db-50e6-85b465d22518.png)

ウインドウ真ん中のSVGブラウザ内「SVGグループ」を下にスクロールしていくと…「noto_emoji_svg」フォルダがあるのでクリックすると、emojiが登録されています！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/6791e3a8-49de-7010-9a74-54b5d6a5de19.png)

なんかもういっぱい…
![Dec-05-2024 21-29-30.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/b21307a5-5e3e-da70-ec89-fe0207cc1f11.gif)

全部で3600個くらいあるので、検索する場合は例えばこの[emoji一覧リスト](https://ja.wikipedia.org/wiki/Unicode%E3%81%AEEmoji%E3%81%AE%E4%B8%80%E8%A6%A7#)などから欲しいemojiを探してきて下5桁を🔎の欄で検索すると一発で選択することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/453e2078-c63a-fd46-c830-d724113cf70b.png)

あとはサブフォルダも認識してくれるので、フォルダ内でお気に入りやジャンルを整理するのもよいかもしれません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/236c7a6f-45b8-dcab-3cb6-a0de2e451860.png)


## おわりに

ということでこんなひどいおじさん地図もQGISでつくれてしまいます。
このおじさん表現をとっさに発揮できるようになると、人生の2/3を謳歌できるといっても過言ではありませんね（たぶん）。

少々アレすぎる表現でなくても、emojiは見やすくわかりやすいアイコンであるので、ちょっと地図や主題図のイメージを柔らかくしたい場合には一つの選択肢として考えておいてもよいと思います。

…とはいえ、同じデータでも表現が異なることで地図を読む人に与える印象がすごく異なってしまう現象は多々あるので、過度な用法には何卒ご注意を💁‍♀️


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100567/6dad41ac-d921-9d73-fc14-18bf78ba7625.png)


※この記事では背景に[国土地理院さんの地理院タイル](https://maps.gsi.go.jp/development/ichiran.html)を利用させていただいております、いつもありがとうございます