地元の知識で歩行経路を充実させよう

## 1 はじめに
OSMのマッピングはツールの充実などによりとっつきやすくなったが、その奥は極めて深い。自分の興味や習熟度に合わせて楽しくマッピングすることがいちばんではあるものの、ある程度慣れてきたらOSMはデータのプロジェクトであるということを意識すると、いろいろやるべき／やりたいことが見えてくる。はじめはどうしても絵柄としてのマッピング（レンダラーに対するインプットとしてのデータ整備）に目が行きがちだが、実はレンダラーはOSMデータを元に動作するソフトウェアのひとつに過ぎない。OSMデータはそれ以外にも経路案内、スポーツ、ゲーム、考古学、インドア、3D/4D等々、多様な分野のソフトウェアで使えるように詳細なタグ付けのスキームを持っており、そのスキームは日々更新されている。

＜OSMデータを利用したサービスやソフトウェアの例＞
- [List of OSM-based services](https://wiki.openstreetmap.org/wiki/List_of_OSM-based_services)
- [Android software](https://wiki.openstreetmap.org/wiki/Category:Android_software)
- [IOS software](https://wiki.openstreetmap.org/wiki/Category:IOS_software)

## 2 歩行者向け経路について
移動のための交通手段は地域により公共交通機関が主であったり自家用車が多かったりするが、共通するのは徒歩ではあまり移動しないという点だ。そのため徒歩でなければ見つけられないとっておきの場所が意外と知られていないことが多い。今回はそんな場所のうち、歩行者向けの「通り道／抜け道」がテーマである。
地元でどこかへ歩いて行く場合、最初は遠回りでもとにかくたどり着ける道を探して行くが、次第に他の歩行者の様子などを見ながらより便利な道を見つけ出す。そんな歩行者向けの道を、実際に歩いてたどれる経路として整備して共有しようよ、というのが今回の趣旨だ。人の通り道とはいっても民家の庭先など、公共空間でない場所はNGである。
日本では既に成熟産業であるカーナビと同じような自動車向けの経路案内をいまさら頑張るのはなかなかモチベーションも湧きづらい。しかしながら歩行者向けのナビゲーションは商用サービスであっても都心部や駅周辺以外ではまださほど充実していない（車道と歩道を区別して経路案内してくれるのは一部）ためパイオニア的な楽しみもある。

## 3 歩行者向けの地物を描いて経路をつなぐ
歩行者向けの経路を整備するのに必要なのは歩道や階段といった歩行者が通行できる地物である。歩行者が通れる道を経路としてつなぐ。その詳しいマッピング方法は「[歩道/SidewalkMapping](https://wiki.openstreetmap.org/wiki/JA:%E6%AD%A9%E9%81%93/SidewalkMapping)」を参照のこと。

歩道などのマッピングがある程度できたら、実際に経路がたどれるか検証が必要だ。マッピング作業が中断したり、描き方がよく分からなかったりして経路として途切れている箇所はよく見受けられる。こうした部分をチェックしながらつないで行く作業である。

## 4 ポイント1-全般
- 歩道や横断歩道といった歩行者の経路となる地物を描く。
- 歩行できる範囲では地物をきっちり接続する。歩行できない（通れない）部分は接続しない、もしくは妨げている障害物を描く。行き止まりの通路には終端ノード上に(noexit=yes)とタグ付けして接続していないことを明示する。
- 縁石のある歩道が途切れている箇所でも、白線などで歩行領域が分けられている場合は縁石の無い歩道として描いたり、歩行領域が確保できていない場合は車道に接続したりする（車道の端を歩く）。
- 歩道橋や歩行者トンネルの終端ノードは何も無い所になんとなく置くのではなく、近くの歩道または車道に接続する。
- 経路がはっきりしない（どこでも通れる）広場などでは、とり得る代表的な経路を仮想的に歩道(highway=footway)として引く。
- 歩行者経路の妨げとなる長い／大きい地物（広い道路、線路、河川、塀、その他の構造物など）では、その横断／通過ポイント（横断歩道、歩道橋、跨線橋、踏切、トンネル、橋、階段、出入口、通路など）は経路の距離に大きく影響するので漏れなく描く。

＜参考＞
バリアフリーやインドアに着眼するとやや複雑になるため参考程度に挙げておくと、歩道の幅・路面・斜度、縁石の有無・おおよその形状・高さ、点字ブロック、触知地図、音響や振動による案内がある信号機、手すり、建物の出入口、エレベータ、エスカレータ、廊下、なども経路判断の要素となり得るものであり、そのような経路案内に興味のある人はぜひこういった地物のマッピングを極めて頂きたい。

## 5 ポイント2-経路探索結果を地元の知識で改善する
自宅や職場から最寄り駅まで、自宅から学校やスーパーまで、といった自分のよく知っている歩行経路が正しく案内されるかを確認して、違和感のある経路が案内されたら詳しく調べ、問題点を修正する。たいていはどこかにボトルネック（つながるべきところがつながっていない）が存在しているはず。
OSM.orgウェブサイトでは左上の検索窓の右隣に「直進＋右折」マークのアイコンがあり、クリックして交通手段で「歩行」を選び、緑のピンを始点に、赤いピンを終点にドラッグすると歩行者向けの経路探索ができる。
![rt.png](https://qiita-image-store.s3.amazonaws.com/0/35320/b013e648-1659-f14e-c9d7-9cfc6b13e99a.png)
### 5.1 [例1](https://www.openstreetmap.org/directions?engine=graphhopper_foot&route=35.78218%2C139.90332%3B35.78426%2C139.90094#map=17/35.78277/139.90208)
私の地元の松戸中央公園入口付近から松戸駅までの歩行経路を探索した結果が下記水色の線。
![OpenStreetMap (8).png](https://qiita-image-store.s3.amazonaws.com/0/35320/26773af6-fabd-d264-61a3-8c7ac5e0fecd.png)
公園は丘の上にあってそこから車道を下りる経路が水色の線で示されているが、これは遠回りで車の通る狭い道なので地元の人はこんな経路をとらない。代わりに赤い手書きの経路のように、安全な公園内を通って崖の部分に掛かっている階段を通って地上に降りる。
編集モードで開く：
![iD0.png](https://qiita-image-store.s3.amazonaws.com/0/35320/7c2ab4e3-8241-da5c-e041-7ddc951599f7.png)
背景を基盤地図2500
http://www.finds.jp/ws/tmc/1.0.0/KBN2500FN-900913-L/{zoom}/{x}/{y}.png
に切り替えると公園内の歩道と崖を下る階段が見えているのでトレース。
![iD1.png](https://qiita-image-store.s3.amazonaws.com/0/35320/aca1d0ea-86c8-1558-1017-26b4f577e174.png)
公園内の歩道は商用地図の歩行者向け経路案内では対象外になっていることが多いが、広い公園では単純に公園内の経路案内に使え、小さい公園でも歩行経路をちゃんとつないでおけば目的地への抜け道にも使えるため、公園内の経路もできるだけ描く。
画像トレースだけではなく、地元ならではの知識や現地調査結果を活用して経路の細かいつながり具合を正しく表現する。

修正反映後の経路：
![rei1-after.png](https://qiita-image-store.s3.amazonaws.com/0/35320/595c9758-2353-5126-24ee-abe5e5e19276.png)
（2018/7/29現在、サーバー移設のため反映が遅れている模様。通常はレンダリングと同程度のタイムラグでルーティングライブラリ[GraphHopper](https://wiki.openstreetmap.org/wiki/GraphHopper)が見ているDBへも反映されるがここでは数日掛かった）

### 5.2 [例2](https://www.openstreetmap.org/directions?engine=graphhopper_foot&route=35.78254%2C139.90941%3B35.78209%2C139.90748#map=18/35.78165/139.90844)
国道を越えて中学校へ行く経路だが、すぐ近くの歩道橋を渡らずに遠回りする経路が案内されてしまっている。
![rei2-1.png](https://qiita-image-store.s3.amazonaws.com/0/35320/9dc1590d-34fd-185a-e11c-fc85b0f33929.png)
編集モードで見てみると：
![rei2-2.png](https://qiita-image-store.s3.amazonaws.com/0/35320/8c957294-1ee6-7435-32a6-0cf7d65d8056.png)
地理院オルソ画像で見ると：
![rei2-3.png](https://qiita-image-store.s3.amazonaws.com/0/35320/2a03ae4b-cfcd-ea8f-a4b5-d75f9f1eaa8d.png)
2箇所で途切れているのでしっかりつなぐ：
- 歩道橋の階段→歩道に接続する
- 左側の歩道が孤立→地理院オルソ画像で見えている横断歩道でつなぎ、さらに歩道エリアが確保されていない道路であるため、歩道を道路に接続する

修正後：
![rei2-4.png](https://qiita-image-store.s3.amazonaws.com/0/35320/12e5414a-61ac-e133-592e-56ae9672e296.png)

修正反映後の経路：
![rei2-5.png](https://qiita-image-store.s3.amazonaws.com/0/35320/5d659a7e-2b71-d94b-c3ea-5f3500eb5bd8.png)

### 5.3 [例3](https://www.openstreetmap.org/directions?engine=graphhopper_foot&route=35.78466%2C139.89947%3B35.78428%2C139.90124)
駅を通り抜ける歩行経路がつながっていないため大回りのルートが案内されている。
![rei3-1.png](https://qiita-image-store.s3.amazonaws.com/0/35320/5a03a36f-a1e5-2113-8952-fa2f90b0caf9.png)
駅前のペデストリアンデッキが穴あき表現のためにリレーション（マルチポリゴン）で描かれているが、歩行経路が描かれていない。
![rei3-3.png](https://qiita-image-store.s3.amazonaws.com/0/35320/d9c0f395-bc5b-9d06-0bd0-258e45586360.png)
ペデストリアンデッキ上の仮想的な歩行経路をつなぐとこんな感じ：
![rei3-4.png](https://qiita-image-store.s3.amazonaws.com/0/35320/2dbcef35-cd09-02de-65fa-ac2787d2d155.png)

修正反映後の経路：
![rei3-6.png](https://qiita-image-store.s3.amazonaws.com/0/35320/9a462dad-ad70-71e8-658f-2722cc0249a4.png)

## 6 チェックツールを利用して改善する
論理的に誤りの可能性があるつながり具合をチェックしてくれるツール（QAツール）もいくつかあり、目視だけでは見逃してしまう誤りも検出することができる。チェックは完全ではなく誤りの候補をピックアップしているだけなので、現地の知識がある人が修正の要否を判断しながら対応することが望ましい。ここでは2つ取り上げてチェックしてみる。
### 6.1 [Keep right](https://wiki.openstreetmap.org/wiki/JA:Keep_Right)
「浮島」とも呼ばれる孤立したウェイの例。
![kr1.png](https://qiita-image-store.s3.amazonaws.com/0/35320/cb5e7207-a673-0e4d-813a-e644bf7b3bc0.png)
線路をまたぐ車道沿いの歩道の両端がその先に接続されておらず、確かに孤立している。
![kr1-2.png](https://qiita-image-store.s3.amazonaws.com/0/35320/fef39228-6abc-139a-4a73-57d2bf5b08fe.png)
背景画像、mapillary画像、現地調査、地元の知識などを元に正しい経路を接続する。
![kr1-3.png](https://qiita-image-store.s3.amazonaws.com/0/35320/20ae28e3-8017-29b5-9c6e-06fa84064fe8.png)
修正が終わったら「一時的に無視（エラー修正済み）」をチェックして「保存」。
![kr1-4.png](https://qiita-image-store.s3.amazonaws.com/0/35320/c2c4cc22-9ddc-5225-bc46-234b9ec1fd26.png)
Keep rightは通常週次で定期検査処理を実行しており、そこで問題が発見されなければ完全に消える。

[修正箇所付近](https://www.openstreetmap.org/#map=19/35.78660/139.90150)

### 6.2 [osmose](https://wiki.openstreetmap.org/wiki/JA:Osmose)
終端ノードが近くにありながら接続していない経路の例。
![Osmose1-1.png](https://qiita-image-store.s3.amazonaws.com/0/35320/749ad0c0-bd88-9ed7-b325-7be2df444b6e.png)

![Osmose1-2.png](https://qiita-image-store.s3.amazonaws.com/0/35320/67b9c5b4-a665-d3df-0e4e-a02c66dccbc2.png)
マップ修正後：
![Osmose1-3.png](https://qiita-image-store.s3.amazonaws.com/0/35320/c1e0dc28-30a0-452d-ce40-e7901f153aa1.png)
状態を「修正済み」にする。
![Osmose1-4.png](https://qiita-image-store.s3.amazonaws.com/0/35320/bc67f2e2-8c13-18ac-1ee3-a60ce82afdcf.png)

[修正箇所付近](https://www.openstreetmap.org/#map=19/35.78199/139.89742)

## 7 実際に歩行者向け経路案内アプリを利用する
### 7.1 [maps.me](https://wiki.openstreetmap.org/wiki/MAPS.ME)
出発地点と目的地点をそれぞれ地図上で長押しして選び、上部の交通手段で徒歩アイコンを選ぶ。
![mapsme.png](https://qiita-image-store.s3.amazonaws.com/0/35320/67b2fdbc-d1d3-6648-85a9-22e48e11db0d.png)
### 7.2 [Osmand](https://wiki.openstreetmap.org/wiki/JA:OsmAnd)
画面下の右折アイコンをタップして開始地点(From)と目的地点(To)を地図上で選び、交通手段として徒歩アイコンを選ぶ。
![Osmand.png](https://qiita-image-store.s3.amazonaws.com/0/35320/af9b207d-4bd7-b611-2262-6b5e1485a07b.png)

目的地までの経路を調べる際に、こうしたOSMベースのスマートフォン地図兼ナビゲーションアプリを使って、最短でない経路が案内された場合はOSM側でデータを修正する。ナビゲーションアプリのデータ更新頻度はあまり高くないので気長に待つ必要があるが、こうして適切な歩行者向け経路案内ができるまでの自己完結したフィードバックループが実現できる。

OpenStreetMap(OSM)の特徴のひとつは共有だ。情報を共有することでみんながハッピーになってくれれば私もハッピー、そんなことだ。特にmaps.meは操作性が高くオフラインでも動作するため海外旅行のお供として人気が高く、有名な観光地などで歩行経路が充実していると海外からのゲストの役に立つ可能性も高い。

小さな幸せのおすそ分け、それもOSMの本質のひとつである。Happy mapping!