OSMでローカル地域の更新頻度を上げるにはどうしたらいいか？

# はじめに
この記事は [Furuhashi Lab. Advent Calendar 2019](https://qiita.com/advent-calendar/2019/furuhashilab)に寄稿した記事になります。
プログラミング記事というよりはゼミ論中間まとめ・一年間の振り返りに近いですが、そこはご理解ください。

# ご挨拶と序文
改めまして、Furuhashi Lab. Advent Calendar 2019の19日目を担当します、二期生の武末と申します。既に12月も半ば、カレンダーも折り返しというところまで来ています。ここまで投稿されている同ゼミメンバーの記事もなかなかに素晴らしい内容が多いので、緊張しています。

自分のゼミ論については四年生に繰り上がったころ、[Medium](https://medium.com/@koukitakesue)やQiitaの履歴を見る限り4月頃に構想が決まって、そこからコードをちょろちょろ書き始めてたみたいです。そう考えると現状の成果は延べ8か月分となるはずなのですが…。~~実働3か月か？~~

いつもはコードの内容ばかりのご紹介になりがちなので、今回は僕のゼミ論の大元となる解決したい問題についてお話していきたいなと思います。

# What? 何が起きているのか？
結論から言うと、**ローカル地域の更新が遅すぎる**という問題です。

![WS000057.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/cb86e9d3-3531-c010-f2bb-1669add36a75.jpeg)
https://www.openstreetmap.org/?mlat=35.26970&mlon=139.67463#map=19/35.26970/139.67463

これはOSMに登録されている近所の地図です。ポインタの場所を確認して頂きたいのですが、この場所は現在家が二件建っています。

![WS000058.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/cb01cc9a-b648-8cad-8d3a-97cc6c27f451.jpeg)
https://www.openstreetmap.org/?mlat=35.27209&mlon=139.67387#map=19/35.27209/139.67387

この辺りも家の登録がされていません。昔からある小道の登録もかなりアバウトで足りないところも多く、最終更新も三年前と更新頻度が低いです。

![WS000060.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/49ba4b08-8a97-8ae5-6b61-e6ca616f72bc.jpeg)
https://www.openstreetmap.org/node/1886293911#map=19/35.65745/139.70014

対して、東京・渋谷では三か月前にオープンしたお店がきちんと追加されていたり、近くの道も随時更新されていたりと、随時管理されていることがわかります。

![WS000061.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/ea39879e-82ae-9e9c-4080-a92a7dbd3b00.jpeg)
https://www.openstreetmap.org/?mlat=35.65781&mlon=139.69835#map=19/35.65781/139.69835

また、建物のマッピング度もほぼ100％に近いです。

# Why? なぜ起きるのか？

- ユーザー数は問題ではない
![osmuserline.png](https://wiki.openstreetmap.org/w/images/thumb/7/79/Osmdbstats1_users.png/800px-Osmdbstats1_users.png)
https://wiki.openstreetmap.org/wiki/Stats

OSMの登録ユーザー数は年を重ねるごとに増加しており、単純比較すれば三年前よりも1.5倍以上のユーザーがOSMを利用している。 [^1]

![osmnodes.png](https://wiki.openstreetmap.org/w/images/thumb/e/e3/Osmdbstats2.png/800px-Osmdbstats2.png)
https://wiki.openstreetmap.org/wiki/Stats

登録ノード数も右肩上がりであることから、osm地図のデータは日々更新され続けており、短銃に編集ユーザーが少ないからという理由ではないことがわかる。

[^1]: ただしこれは登録ユーザー数であり、アクティブユーザー数ではない。APIを利用するためだけに登録した例など実際に編集活動を行っているアカウントが少ないはずだが、今回はわかりやすいようにこのデータを使用した。

- 参考となる地図データの更新も問題では無い

![WS000065.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/3798d3be-f49a-4a9b-7bd1-982180b188fc.jpeg)


確かに日本の地図編集時にデフォルトでセットされているGSI Japanは提供時のデータが2007年のもの以降更新されていないが、BingやDigitalGlobe[^2]ではきちんと更新されている。

[^2]: DigitalGlobeは2017年にMaxarに子会社化されたので現在ではMaxar提供となっている。

![WS000063.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/c5eb0cfc-a9ac-aedb-96f4-3457c9a3df59.jpeg)

![WS000064.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/50522430-1fb6-870c-8d18-13f7c6d04d9a.jpeg)


では何故このような問題が起きるのだろうか、私はその一因として多くのユーザーが自身の住むローカルな土地の更新が遅れていることに気づいていないのではないか？と仮定した。

今年は台風12号などに代表される多くの災害が発生し、沢山の家屋や人に被害をもたらした。その際いくつかのHOT Tasking Managerのタスクが作成され迅速な更新が行われた。

このように、国内・国外を問わず注目される地域に関しては多くのマッパーたちが編集を行いのに対し、未だ何年も前の地図がそのまま放置されているということはその地域への編集に対する関心が上手く向けられていないという考えに至れるのではないだろうか。

# How? どう解決するの？
ではこの問題点に対し、どのように解決策を導くべきなのか。
様々な方法が考えられるが、私は「気づき」という部分に着目し、OSMの更新頻度が一目でわかるサービスを作れば、少しでも多くの人にローカル地域への更新を促せるのではないか、と考えた。

そこで作成しているのが、[OSM UPDATE CHECKER](https://github.com/furuhashilab/gsc2019_Kouki-Takesue/wiki)である。

![bitmap.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/41b3c2fa-a86e-cfa5-6524-80e558efc545.png)

https://github.com/furuhashilab/gsc2019_Kouki-Takesue

このサービスは、OSMが提供するAPIからchangesetを取得し、緯度経度とタイムスタンプを抽出する。その後foliumと呼ばれるMapboxタイルを使用できるライブラリで読み込み、ヒートマップ表示させる。

![Kouki_Takesue_TS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/c1e51a32-5d1e-cf09-39d2-163ad3e4a142.png)

![Kouki_Takesue_TS (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307125/f205b8af-d994-3ba8-3418-429e83a9a9de.png)

このように更新頻度の高い部分とそうでない部分がわかりやすく表示される。

# 結論
Pokemon GoやMinecraft Earthなどのゲームに留まらず、StravaやUberなど多くのアプリで使用されているOSMの地図データであるが、このように主要な都市を離れてしまうと一気に地図の精度が下がってしまう問題を抱えている。

確かにローカルな土地への更新が進まないのは、単純に需要の低さが問題であるとも考えられるが、業務データとしてOSMを利用する企業が増えつつある今、荷物が家に届かない、目的地までたどり着けないなどの問題を放置するのはリスクが高いと言わざるを得ない。

しかし地図の更新を100％完璧に保つことは不可能だ。ユーザー主体の地図という点を生かし、使用するユーザーが「気づき」、すぐに編集できるような環境を整えることにこの問題を少しでも解決に導くような点があるのではないかと私は考える。

ここまでご拝読ありがとうございました。
みなさん良いクリスマスをお過ごしください。