地理院地図をオフラインで使う（qgis 3.8の標準機能で地図タイルを作成できる）

#qgisの基本機能で地図タイルを作成できるようになった
　[qgis2ではプラグインで地図タイルを作成できた](https://qiita.com/MSakaguchi/items/52bb311478b97847b11d)が、qgis3になると、このプラグインが利用できなくなっていた。
　qgis3で利用できるプラグインを探していたところ、qgisの基本機能に地図タイル作成機能が含まれたことがわかったので試してみた。
##まず、qgis3.4までのプラグインを探してみた
　qgisの【プラグイン】から「tile」をキーワードに検索すると、いくつか地図タイルを作成できるプラグインが見つかる。
　試しに「tiles xyz」というプラグインをインストールしてみたが、エラーがあり動作せず。
　エラーの原因を探るため、開発者のサイトを検索した。
　GitHubに[「qgis-tiles-xyz」](https://github.com/lutraconsulting/qgis-xyz-tiles)として公開されている。そして『 Note: for QGIS 3.8 and above, **you do not need this plugin.** The functionality is available from core processing toolbox.』と書かれているのを発見。
　こうなると3.4にこだわる必要は無いので、3.8.2をインストールすることとした。
##qgis3.8のプロセッシングツールボックス
　「core Proccessing toolbox」というメニューが見当たらないので、試しに【プロセッシング】を開くと次のようなリストが表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/cd7a0cf1-970f-ee6d-2506-cbdedf05b4f9.png)
　ベクター関係では無いので、ラスタツールを開いてみたところ、すばりXYZタイル関係のメニューがあった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/e61052ff-cf76-cf3f-7ebf-64fc107d0e02.png)
　地図タイルをディレクトリに保存する方法とMBTiles形式に保存する二種類選べる訳ですね。
　なお、地図タイルは小さな画像ファイルのため補助記憶装置に保存する際の効率が悪いのと、コピーなどの作業効率を考えるとMBTilesにまとめた方が良いと思う。
　試しにディレクトリ形式で保存したところ、[Leaflet](https://ja.wikipedia.org/wiki/Leaflet)で閲覧できるようにhtmlファイルも作成され、ブラウザで見ることができる。地図タイルを作成する際に範囲などを確認するのに便利かもしれない。
　
#XYZタイルの生成
　ディレクトリ形式もMBTiles形式も、ほぼ同じなのでMBTiles形式のメモ。
　例によって地理院地図から秋田市の範囲を地図タイル化してみる。
##パラメーターの設定
　【XYZタイルの生成（MBTiles形式）】をクリックすると、次のようなダイアログが開く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/c32067e3-addc-4647-b9e2-c435d406c585.png)
　「Extent」が地図タイルを作成する範囲の指定、zoomはズームレベルの指定、DPIは解像度でした。
　Extentの指定は、画面で表示されている範囲、矩形で指定した領域、範囲を指定するレイヤの三種類が選べる。
　仕事で使う場合、市町村などの行政区域を元にすることが多いと思うので、レイヤで指定範囲を設定することにする。
　行政区域の範囲を指定するのには、基盤地図情報から作成したShapefileの「行政区画」が利用できるので、まずこれをレイヤに追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/e1644148-8a15-84a6-b2c7-1f373809f444.png)
　ここでレイヤのCRSをきちんと設定しておく。
　地理院地図はEPSG:3857に設定されているが、使用した「行政区画」のShapefileでは、なぜかCRSが正しく設定されていない。それでもqgisは賢いのでなぜか正しくオーバーレイしてくれる。
　ここで試しに間違ったCRSとしてEPSG:3857を「行政区画」に設定してみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/8bff57da-9e67-c340-2635-98f63470a142.png)
　右下の世界地図で十字線があるところが「行政区画」の位置であり、この場合、アフリカ沖に秋田市があることになってしまう。
　これはそれぞれの基点の置き方が違うためですね。
　このまま地図タイル作成を実行すると、真っ白なタイルが20万件位作成されます。そうならないように地図の上で、どこを指定しているのか確認する習慣をつけた方が良いようです（体験者は語る）。
　さて、行政区画レイヤに正しくEPSG:6678とすると、次のように無事、秋田市が日本の東北地方に戻ってきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/95e06b56-9feb-4f28-b76d-6f1a11997919.png)
ズームレベルは国土地理院の[「地理院タイル一覧」](https://maps.gsi.go.jp/development/ichiran.html)によるとズームレベル５～１８とあるので、これを指定する。
　DPIは粗いと大縮尺の際、悲しいことになるので512をしてしてみた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/d09a8cd2-a028-4485-98fb-1e9cf1c4bdb8.png)

あとは保存先を指定して【実行】をすれば良いわけです。
　なお、保存ファイル名に「)」が余分につくので､気になる場合消しておくこと。
　秋田市の場合、大体４時間くらいかかります（このため一度投稿）。
#ダウンロードした結果
（あまりに暑くダウンしてました。一週間たってます）
　当日の午後７時頃までかかり秋田市全域の地図タイルをダウンロードできました。512DPIに設定し、作成されたMBTiles形式のファイルは約2.2ギガバイトです。
　実は400DPI形式でもダウンロードしていますが、ほとんどファイルサイズが同じです。
　地理院地図の解像度より高解像度に設定しても無意味かもしれません（地理院地図の解像度の情報は見つけられませんでした）。
　参考までにMBTiles形式では無く、タイルをフォルダに格納する形式では、解像度を256DPI、範囲を男鹿市あたりまでダウンロードすると、データサイズは2.8ギガ、ディスク上では3.6ギガバイトほどになります。
　ローカルに地理院地図をダウンロードする効果ですが、地図をスクロールした際のレスポンスが、かなり良くなります。今回はデスクトップパソコンでダウンロードしたためWD Greenの4TバイトモデルのHDDに保存していますが、極めて高速です。SSDなら、もっと早くなりそうです。
#利用方法
　秋田市（約1000平方キロあります）ほどの領域でも、地図データ・ファイルのサイズはそれほど大きくないため、モバイルパソコンに持たせることも現実的と思いました。
　地図をダウンロードすることは複製にあたりますが、適切な手続きを行うことで使うことができます（[国土地理院の解説ページ](https://www.gsi.go.jp/LAW/2930-index.html)）。
　特に私的利用の場合、解説ページには
　『利用方法が複製に該当する場合は、次の目的であれば申請不要で利用が可能です。
    社内、サークル、同好会等においてのみ利用する場合』
とありますので、個人が家庭内で使用する分には問題がなさそうです（会社等で使用する場合は、念のため確認した方が良いでしょう）。
#結論
　今年の春、2.14でダウンロードしたときよりも、随分と簡単に地図タイルをダウンロードできるようになりました。　また、ダウンロードした地図タイルの画質も良くなっている気がします。
　今回の台風被害のように、停電が長引くとインターネットの先のサービスを利用することができなくなることもありますが、そういう災害時こそ、状況分析や情報共有のツールとして地図が必要になります。
　特にLANを利用すれば情報を一元管理した上で、複数の人が同時に閲覧や作業ができるGISは、強力なツールになるので、有事に備えて地理院地図を手元で利用できるようにしておくのもありだと思います（なおGoogle Mapは地形図ではないので、そういう用途では使えないと思った方が良いですよね）。　
#【その他】ラズパイで動くのか
　作成したMBtileファイルを、Raspbianの動いているラズパイにコピーし、パッケージでインストールしたqgis 2.18で読み込んだところ、問題なく利用できました。
　ラズパイはマイクロSDカードが補助記憶装置となりますが、ローカルに地図データを持たせる効果はWindows10のデスクトップよりも大きいです。