災害対策も想定してスマホで使えるオフライン地図を試してみた

#概要
　知らない土地に行くときなどインターネット経由で利用できる地図サービスは大変便利だが、山奥
や停電時などインターネットが利用できない時もある。
　そのような状況に備えて使えそうなGISを探したところ Android/iOS用アプリの[Avenza Maps](https://avenzamaps.jp/)という製品を見つけたので、試してみた。
　会社内の情報共有にも使えるが、どちらかというと政府機関などがハザードマップなどを地理情報付きPDFで公開すれば、より効果がありそう。
##きっかけ
　先日、仕事で秋田市と由利本荘市との境にある集落に行くことがあった。
　初めて行く集落だったため訪問先を事前にGoogle Mapで検索し登録した(社用車にナビを付けてくれないんだよな)。閲覧用端末としてはiPad Proを準備し、助手席の上司がGoogle Mapを見ながら運転していったのだが、街道でも集落から外れると携帯電話の電波がつながらなくなる。目的地のあたりでは集落のあたりも不感地帯になっていた。
　また、今年の台風１５号では千葉県全体が長期間停電が続く中で、復旧作業を行わざるを得なくなっていた。
　災害復旧などの時こそ限られた人員や機材を有効に活用するため、地理情報の効率的な共有が必要になると思う。
　このようなことが重なったことから、モバイル機器で使えるGISを探して、軽く機能を試すことにした。
##想定する組織・状況など
　次のような想定とする。

>　役所や不動産会社など広域に管理化すべき施設等を持っていて、災害時には職員を緊急招集し、現状把握する組織を前提としている。
>　また状況としては台風などにより市内全域が停電し、市内各所で災害が発生している。
>　招集した職員を現地に向かわせて、現状を把握する。
>　事務所自体は自家発電装置により電源を確保できているが、電力は限られている。
>　社用車にはナビが装備されていないため、目的地までの地図を配布する必要がある。
>　派遣された職員は、目的地に着いたら現状を把握し、本部が状況を把握できるように写真を撮ってくる。

##使用できる機器
　事務所内の事務用パソコンは普通のビジネス用ノートパソコンのため、屋外に持ち運ぶことはしにくい。
　また、カメラの数も限られていることから、職員の私物スマホを利用することとした(おい)。
　事務用LANは外部から遮断されていることから、私物スマホと直接データの交換ができない。このため臨時の専用LANを構築することを考える。
　
#モバイル機器用GISに必要と思われる機能
　インターネット上の地図サービスが使えない状況で使用するモバイル機器用GISとなると、単に地図を表示して、現在地を確認できるだけでは役に立たない。
　そこで、必要な機能をリストアップしてみた。
##基本機能が無償で使えること
　通常業務で携帯電話のつながらない地域に頻繁に出かけることがあるのなら、事前にいろいろ準備できる。もしかすると、ゼンリンなどの有料の地図システムなどを購入しておくこともできるだろう。
　しかし、災害時に多数の職員に使わせるために、有料の製品を多数購入することは難しいだろうし、インターネットが使えないことを想定し、事前に職員の使用端末にインストールさせておくことを考えると有料の製品は使えない。
　機能が限定されても、GISとしての基本機能を無償で使用できることは必要条件と言える。
##独自の地図データを使えること
　業務に必要な地理情報を作成するGISとしては、[qgis](https://qgis.org/ja/site/)が現状ではベストと思われる。
　そして、このようなモバイル用GISに期待される用途としては、災害時の地理情報共有が筆頭にあげられると思う。例えばqgisで災害発生箇所を地図上に表示し、そのデータを簡単にモバイル機器にコピーできれば便利では無いだろうか。
　そのためにはqgisで作成した地理情報を表示できる必要がある。
##現在地の取得できること
　現在、携帯電話として販売されてるスマホの大半にはGPSが備えられ、現在位置を把握することができる。使用するGISでは、端末のGPS情報を元に、地図上に現在地を表示できる必要がある。
##地図の拡大縮小できること
　目的地まで移動するためには、目的地の方角を把握するため広域表示を行うし、目的地の近くや道路の分岐点では詳細を確認するだろう。このためある程度自由に地図を拡大縮小できる必要がある。
##スマホなど市販されているモバイル機器で使えること
　スマホは普及が進み、サラリーマンなら大部分の人が普段から常時携帯していて、直ぐに使えると想定できる。AndroidやiOSなどで使えるアプリなら、非常時に備えてアプリと地形図等をインストールしておき、必要時に特性の地図を端末にコピーするといった運用が可能になる。
(機密保持のため事務所内にパソコンの持ち込みを禁止しているとか、いろいろ規則上の問題点はあるかもしれないけど、こごては無視。だいたい、緊急連絡の手段として携帯電話の番号を報告させてるとかの場合、矛盾してるんだよな。現状を把握して、必要な機能と機密漏洩とのバランスをとったセキュリティポリシーを作るべき)。
#モバイル機器用GISの現状
　無償で使えるモバイル対応GISを調べてみた。
　Google mapにしても、iOSのMapにしても、日本では地図データをダウンロードしたり、自前の地図を利用できる機能は見つからないため今回の用途には適合しない。
　インターネットを検索してqgisとAvenza Maps(pdf maps)という二つの製品が見つかった。
　この他に良さそうなGISがあれば教えて欲しい。
##qgis
　まずqgisの対応状況だが、モバイル機器としてandroidはベータ版として対応している。本家サイトには次のように掲載されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/a0e4be07-8ddf-5035-0f1e-5f9a7e2618a9.png)
　以前、試しに手持ちのxperiaにインストールしたが、スマホにデスクトップでは画面が小さすぎて実用にはならない印象だった。
　Androidのタブレットなら実用になると思う。
##Avenza Maps
　ライセンスによると個人が余暇で利用する場合は無償だが、政府機関などが業務で利用する場合は有償ライセンスが必要になる。ライセンスの[ページ](https://avenzamaps.jp/?page_id=11)から引用してみる。

>Avenza Mapsは、余暇活動や道案内など、**非商用の個人的な使用に限り、無料**でお使いいただけます。
>ビジネス、教育機関、政府機関や個人でも**商用でお使いになられる皆様には、ご要望にお応えできるように、価格を抑えたライセンスプログラム**をご用意しました。
>Avenza Mapsをご利用になる**スマートフォンやタブレット自体が個人所有のものであっても、目的が商用である場合には、Proライセンスをご購入**いただく必要があります。

　のっけから前提条件が崩れてしまった。しかも、ライセンス料が年額16,900円(税抜き)と高い。
　もし、業務で使うときには10人が同時に動くとか、ある程度目処を立ててライセンスを購入しなければならない。

　さて、機能面をみると、このアプリはスマホで紙の地図を見るというコンセプトであり、地理情報付きのPDFやTiffファイル(Geo PDFとかGeo Tiffなど)を読み込んで使う。アプリの中にレイヤの機能もあるので、端末内で独自の情報を書き込むこともできそうだ。
　現在地の把握は地図上に現在地を●で表示し、地図の範囲外なら、その旨が表示される。
　スマホ用に設計されてるだけあって、Xpeiraの画面でも使いやすくなっている。
　pdfの場合、チラシのような体裁であっても、地図の範囲は正しく表示できる。
　次のスナップショットはオンラインヘルプから画面を引用。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/feeaa220-c57d-fdb6-691c-e613a99f5f54.png)
　このアプリは、アプリ内のストア機能で地図をダウンロードできる。現時点では国土地理院の地形図が準備されており無償で利用できる。一枚の地図は約数メガバイトのサイズなので、自分の住んでいる自治体、通勤・通学の経路など日常的に移動する範囲内の地形図を自分の端末にダウンロードしておくと非常時に役立つかもしれない。
#地図の準備
　qgisはデスクトップ用ソフトウェアであり、スマホの機能を使うことを前提にしているAvenza mapsを使うこととする(業務利用の場合有償だけど)。
　Avenzaのストアで配布されている地形図でも、十分使いでのあるものだが、やはり自分たちの用途に沿った地図を使いたい。
##地理情報付きのPDFの作成方法
###１．既存の地図を利用する
　Avenza mapsの「まずはここから」という地図を見てわかるように、全面が地図で無くても良い。
　例えばA4の半分が地図、半分に文章といったレイアウトでも、どのあたりの地図なのかの情報があれば使える。
　つまり、既に作成されている地図を含むPDFに地理情報を付加すれば使えるわけですな。
　これはqgisのジオリファレンサーという機能を使えばできる。
　詳しいやり方は合同会社　綠IT事務所が[『PDF Mapsの活用』](https://midoriit.com/2016/05/pdf-maps%E3%81%AE%E6%B4%BB%E7%94%A81.html)というページで解説されている。
###２．qgisのデータから作成する
　事前に点検する箇所を想定できるなら、点検ポイントを地理情報付きpdf上にポイントしておく方法でも対応できると思う。
　しかし、電話・テレビなどで集めた情報を地図上に集約し、それを職員に随時配布する方が多いと思う。この場合、qgisで地形図などを背景地図として作製することが便利である。
　qgisは作成した地図を地理情報付きpdfとして出力できる機能がある。現在の最新版であるVer3.8.3で試したところプリントコンポーザでレイアウトを作成しPDF出力すると地理情報付きで出力されることが確認できた。
　例えは次のような地図を作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/c2168106-72e6-8470-1c04-a9bcebb708db.png)
　次にpdfとして出力し、そのpdfをレイヤとして表示してみると、なんの調整も無く地図(この場合Open street map)に重ねて表示できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347462/640ce8d1-7d79-c712-0809-24b094c9ab0f.png)
　さらに、このpdfをiPadに持って行き、Avenza mapで表示すると、ストアで配布されている地形図と同じように現在地の表示ができる。
#配布方法
　AndroidにしてもiOSにしても、Windowsなどのファイルサーバから直接ファイルを持ってくることはしにくい(iPad OSはできるみたいだけど)。
　各OSの標準機能で作成したpdfをダウンロードできる環境としては、Webサーバを準備するのが簡単そうである。
　アクセスする端末の数が限られているなら、Raspberry PiをWebサーバに仕立てて使っても良さそうな気がする。Raspberry Piなら最悪、モバイルバッテリーや乾電池でも起動できるし、小さいから移動も簡単。意外と最前線の情報共有インフラとして使えるかも。
#【提案】ハザードマップに地理情報を
　Avenza mapは[シェープファイル](https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB)のような本格的なGISデータではなく、pdfやtiffといった読むことを前提にしたデータファイルを使用する。
　これはスマホなどのモバイル機器で地理情報を利用することに特化したためである。
　そして特にpdfを利用できるため、印刷用地図とGIS用データを同時に作成できるということでもある。
　地方自治体など行政機関では各種ハザードマップを作成し、広報誌などで紙地図のハザードマップは配布するし、[インターネットでも公開](https://disaportal.gsi.go.jp/)している。しかし、地理院地図を背景に表示できるサイトは当然、インターネットが利用できることを前提にしているし、ダウンロードできるpdfは「紙地図を端末で表示できる」だけである(自治体のサイト上でpdfを表示させるだけという意味不明なものもある)。
　災害発生時にハザードマップを利用することを考えると、スマホなどモバイル端末でオフラインでも利用できるほうが良いと思う(防水付きのスマホが一般的になっているので大雨時でも外で使えるし)。特にハザードマップ上で現在地をリアルタイムで確認できると避難先も確認しやすいし本来の目的をより果たせる。
　そのためには単に地形図などの上に線引きした物を作成するのでは無く、地理情報を付加したpdfを作成配布し、Avenza mapのようなビューワーがあることを普段から周知していくべきだと思う。
(当初の想定から随分外れた結論になってしまった・・・)