ワークショップで使う白地図とは?
普段お子さんやご家族向けに白地図に地図記号を書いたり貼ったり、色々なルートを書いたりしながら「オリジナルのガイドマップを作ろう!」というワークショップをしています。
そんなワークショップで使用する白地図は実は(地図ベンダーさんでもない限り)作成するのは結構難しかったりします。
そんな白地図を全て無料でQGISと国土地理院ベクトルタイルとで作成した時の苦労話など記載したいと思います。
学校の先生など白地図を自由に作って授業に使ってもらうハードルを少しでも下げられれば(逆に上がるかも)。
※Macを使用していますのでwindowsではフォントや諸々違うかもしれません。
※QGISのセットアップやベクトルタイルの読み込みなどは以下参照。
(QGISでの読み込み参考)QGISのレイヤに地理院地図や航空写真などの背景地図を追加する方法
QGIS全般(QGIS LAB by MIERUNE)
なんでQGISで白地図を作るのか。
地理院地図VectorのWEBサイトでも白地図機能があるしそれでつくればいいんじゃない?
という答えもあるかもしれませんが、ちょっと痒いところが届かない部分があります。
それが「画面の範囲でしか印刷できない」という点です。
つまりズームレベルも固定となってしまって欲しい範囲の欲しいズームレベルの地図を作ることができないのです。
ただ、地物の属性が綺麗にまとまっていて、一括で描写(属性)変更できるのはこのサイトの良いところ。このサイトで事足りる方は十分じゃないかなと思います。
QGISで再現しようとした時に一番苦労したところはこの地物の描写の設定でした。
あとベクトルタイルを使用するメリットとして印刷物の解像度が綺麗という点もありますね。
作りたい白地図の条件
私の使用したい白地図は書き込みをしたいのでできるだけシンプルにしています。縮尺は小学校区が全域入るようにするので、だいたい1/5000〜1/10000前後になることが多い(可変したり分割したりします)です。
- 1/5000〜1/10000で出力した時に建物は全て表示しておきたい(地理院地図Vectorでできないとこ)
- 基本的には薄いグレーで統一
- 水涯線は水色で表示したい
- 鉄道記号などできるだけ自然に
- (等高線は茶色で表示したい)
水部は場所を特定するランドマークになることがあったりするので、水涯線を水色で表示することにしています。
等高線は都市部では見えなくなってしまいますが、郊外に行くと必要な情報になってきます。
地理院地図vectorとは
国土地理院ベクトルタイルもご存知のない方もいらっしゃると思いますので改めてですが、
国土地理院ベクトルタイル提供実験
をご興味ある方は読んでいただければと思いますが、簡単に要約すると「国土地理院が実験的に提供している’色とかいじれる’地形図データ」とおもっていただければいいんじゃないかと思います。
地理院地図(地理院タイル)は基本的に画像です。なのでいじることはできません。重ねたり透過させたりという使い方になります。
一方、ベクトルタイルは画像ではなくベクトルデータというものなので色などを指定してあげれば好きな色などで表示することができますし、地図記号を大きくしたりもできます。
一つ注意点は利用規約を守ること。ただし、「国土地理院ベクトルタイルを加工して使用」と欄外にでも記載しておけばOKです。詳しくは利用規約をご覧ください。
国土地理院ベクトルタイルを読み込む
- URLは
https://cyberjapandata.gsi.go.jp/xyz/experimental_bvmap/{z}/{x}/{y}.pbf
- ズームレベルを(4~16)
- 名前は任意
で読み込むと
のように読み込むことができます。
拡大してもこんな感じ。
これが国土地理院ベクトルタイルです。いろんなデータが表示されていますね。ところどこと丸い点もありますが、これらは地図の注記(文字)や地図記号だったりします。
このからだと白地図にするのに設定がとっても大変です。。。
一旦白地図のスタイルを読み込む。
国土地理院の方でも白地図を表示するスタイルファイルを公開してくれていますのでそれを読んでみます。
接続の編集でStyle URLに
https://gsi-cyberjapan.github.io/gsivectortile-mapbox-gl-js/blank.json
- 水部がグレーになってしまっている
- JRの表示がちょっとおかしい
- 色が全体的に濃い
- (等高線がない)
あたりを直したいと思います。
白地図の手直しの仕方
少しスタイルをいじっていきたいと思います。
地物等の詳細なコード表は以下の通り
PDF版 Excel版
このコードがどこに使われているのかわかるまでに時間かかりました。
書いちゃうとすぐなんですけどね。
水部を水涯線だけにして水色にする。
水部は#bed2ff
の色で水涯線だけにします。
まずコード表のズームレベル14−16の地物を参照して、
河川-通常部のコードが5201、水域が5000だということを確認します。
次にQGISでベクトルタイルのプロパティのシンボロジで5000を検索します。
この時、画面上の縮尺をズームレベル15とか16ぐらいにしておきます。(シンボロジに表示される地物がかわってしまう)
ラベルの塗り(ポリゴン表示)のレイヤを非表示にします。
次に5201を検索します。
これらをひとつづつ色を変えていきます。(太さなどシンボルはかえない)
わかりづらいですが、水部の塗りがなくなって水涯線が水色になりました。
鉄道の設定
説明が難しいのですが、
線路を構成する記号は3つのレイヤに分かれていて、
グレーの実線(外側の線)、白の実線(内側の白)、グレーの破線(破線)で線路の記号を表しています。
私は一番上のグレーの実践は非表示にして
一つの線の中に外周線をオフセットして設定しています。
これぐらいのオフセット率
最後破線はこれぐらいの設定で。
ちょっと色を薄くするのとかは本当に建物とか一つ一つ確認しながら薄くしてったので省略しますが出来上がりはこんな感じです!色塗りもしやすくなったんじゃないでしょうか?
いじったスタイルはjsonファイルで保存ができるのでいつでも使いまわせます。
まとめ
最後はしょってしまってすみません。
実は白地図のstyleを読み込んだ時点で等高線のレイヤーがなくなってしまうので、私は白地図のstyle.jsonは読み込まないで、標準地図のスタイルを使用して白地図を作っています。
長くなり過ぎてしまうので機会があれば動画とか作れたらと思います。(需要あれば)
GISのように視覚的にオブジェクトを選択して同じ属性は全て変換とかできれば簡単なんでしょうけど、一つ一つ確認しなければいけない状況がとても大変でした。
みなさんお好きな色や記号で出力してみてください。
なんかいいプラグインとか出たら嬉しいですけど需要は少ないのかな。