Osmoseを使ったOSMの品質管理


いいだです。

OpenStreetMap（OSM）ではデータの品質管理がとても重要なわけですが、さすがに昨今はデータ量が膨大になっており、「osm.orgのレンダリングを見てチェック」というのが難しくなっています。

OSMの品質管理（以下QA）のツールはいくつかあり、有名なものをあげるだけでも [Keep Right](http://wiki.openstreetmap.org/wiki/Keep_Right)や[MapRoulette](http://wiki.openstreetmap.org/wiki/MapRoulette)など、「あっこれ、明らかにデータ的に間違いだわ！」というものを検知するツールが公開され、利用されています。

「オープンソースというものは、監視の目が増えることで問題が解決するものだ」という話もありつつ、ある程度、面倒な作業は省力化したいわけです。当然ながら。

特に、単純なエラーや構成のミスについては、品質管理ツールを使うことで圧倒的に作業が楽になりますので、こういったツールは上手に使いこなすことで、作業の効率が大きくあがります。

そして僕はそうしたツールのなかでも、Osmoseというツールが、個人的にたいへん気になっています。
フランス製のオープンソースソフトウェアであり、動作も軽快、内容もわかりやすく構成されています。

* [Osmose](http://osmose.openstreetmap.fr/ja/map/)

読み方は「オズモーズ」です。

とりあえず、ページを見てみましょう。

![kobito.1476289105.885901.png](https://qiita-image-store.s3.amazonaws.com/0/9928/ba1d0209-070c-a1ac-34c1-35664aefb779.png "kobito.1476289105.885901.png")

マップ上に表示されているアイコンが、エラーの存在をあらわしています。
クリックすると、詳細が表示されます。

![kobito.1476289174.981231.png](https://qiita-image-store.s3.amazonaws.com/0/9928/8b94f653-ab80-4b60-5c29-ef2eb4e93642.png "kobito.1476289174.981231.png")

まだ一部翻訳ができていない部分がありますが、ここは "Default and local language name not the same"というわけで、「その地域の言語とデフォルトのnameタグで内容に相違がある」という内容のようです。

実際、"name=江東線 (Koto-sen)" と "name:ja=江東線"で、値が違っていることが確認できます。
こうした内容を、ひとつひとつ確認して直してゆくのが、Osmoseを使った対処になります。

## 対象が多すぎてやる気がしない
お気づきかと思いますが、Osmoseで検知されるエラーは非常に多いです。

なので、画面左側に表示されているカテゴリー表示から、明らかに数が多いものを外してしまいましょう。
具体的には、 `タグ名` という、赤い色のカテゴリーは、すべて非表示にします。

![kobito.1476289521.389661.png](https://qiita-image-store.s3.amazonaws.com/0/9928/208a5ede-f83c-0252-3fa4-08ad45774bd8.png "kobito.1476289521.389661.png")

これで、なんとなく、やってやってもいいかな（上から目線）、というレベルまで表示が落ち着きます。

![kobito.1476289594.379609.png](https://qiita-image-store.s3.amazonaws.com/0/9928/271ab234-a9ba-c197-36f7-e302eae553ea.png "kobito.1476289594.379609.png")

なお、赤いアイコンの部分は、nameタグのカッコ書きなどに由来するものが多く、Osmoseを使うよりも、OverpassとLevel0エディタを使って直したほうが効率的に作業できます。
なので、あまり気にしなくて大丈夫です。


## 修正作業
アイコンを適当にクリックして、内容を表示させます。

修正の方法には、3つの方法が用意されています。
上のほうに表示されている、rawedit, josm, edit、です。

![kobito.1476289174.981231.png](https://qiita-image-store.s3.amazonaws.com/0/9928/8b94f653-ab80-4b60-5c29-ef2eb4e93642.png "kobito.1476289174.981231.png")

raweditとeditは、[Level0エディタ](http://level0.osmz.ru/)のように、位置を修正せず、タグだけを修正するという目的に適しています。
逆に言えば、ノードやウェイの位置修正や、ウェイの接合、リレーションの編集といった作業には向きません。

OSMのファイル構造というか、keyとvalueの構造さえわかっていれば、この編集でも十分対応ができますが、まぁ、初心者向けか？といわれるとちょっとハードルが高いかもしれません (^^;

修正が終わったら update、をクリックすると、修正内容がOSMに適用されます。

![スクリーンショット 2016-10-13 1.50.10.png](https://qiita-image-store.s3.amazonaws.com/0/9928/0f2b8415-ba57-93e8-3d4d-73a1226bfd8b.png "スクリーンショット 2016-10-13 1.50.10.png")

edit、でも、似たような感じのインターフェースになります。

JOSMでの編集に慣れているかたや、位置の修正を行いたい場合などは、別途JOSMを起動した状態で、josm、をクリックするのがよいでしょう。
（JOSMの設定で、遠隔操作を有効にしている必要があります）

### 簡易な修正
簡易なタグ修正の場合は、もうちょっと込み入った表示になります。
こんなかんじです。

![スクリーンショット 2016-10-13 1.41.43.png](https://qiita-image-store.s3.amazonaws.com/0/9928/4a0bec95-c00c-93ef-8a95-935bb74e26f6.png "スクリーンショット 2016-10-13 1.41.43.png")

fix-josmと fix-edit、という選択肢が追加されています。

fix-josmは、JOSMでデータが読み込まれるだけなので、こういう場合にはfix-editのほうが編集が楽です。

![スクリーンショット 2016-10-13 1.56.46.png](https://qiita-image-store.s3.amazonaws.com/0/9928/87542e8e-216b-2853-6b03-fdb67ea516b2.png "スクリーンショット 2016-10-13 1.56.46.png")

タグなどの名称で、よく間違えられるタイプミスと、その修正候補が表示されます。
赤文字で削除されている不要なタグをX印で削除して、「確認」をクリックすればOKです。

## 誤検出の場合
誤検出であったり、Osmoseで修正するよりも前にデータが修正されていることが確認できた場合、ポップアップしたバルーンの下の方にある、修正済みと誤検出、のどちらかをクリックしてください。

アイコンが消え、Osmoseでは処理済みとして扱われます。

![kobito.1476289174.981231.png](https://qiita-image-store.s3.amazonaws.com/0/9928/8b94f653-ab80-4b60-5c29-ef2eb4e93642.png "kobito.1476289174.981231.png")


以上です。
日本地域ではこうした品質管理があまり着目されていなかったこともあってか、わりと多くのデータがエラーとして検出されています。

ただ、上記の通り、赤いアイコンを消してしまえば、あとはわりと、人間的な数におちつきます。
自分の住んでいる地域をたまに見返してみてみるのは面白いと思います。

## フィードバック
この基盤自体は、フランスのかたが中心に対応をしてくれています。

先日、リアルでお会いする機会があったのですが、対象となる地域独特の状況などは現地のマッパーじゃないとよくわからない、ということで、フィードバックをたいへんたいへん欲しがっていました。

[Talk-ja メーリングリスト](https://lists.openstreetmap.org/listinfo/talk-ja)やTwitterのハッシュタグ `#osmjp` 、あるいは日本地域の課題をまとめている[githubのIssue](https://github.com/osmfj/osm_japan_issues/issues)などであげていただけると、とてもうれしいです。

もちろん、[Osmose自体の開発に参加する](https://wiki.openstreetmap.org/wiki/Osmose)、ということもできます。
[フロントエンド](https://github.com/osm-fr/osmose-frontend)と[バックエンド](https://github.com/osm-fr/osmose-backend)が分かれたアーキテクチャになっているのが特徴です。
翻訳についても、[Transifex](https://www.transifex.com/openstreetmap-france/osmose/dashboard/)で作業が行われています。

機会があれば覗いてみてくださいませ。
（少なくとも、Transifexの翻訳はある程度カバー率あげたいなー、と思っています）