OpenStreetMapにはユーザー自身が地図を作成・編集することのできるオープンコラボレーションプロジェクトの側面がありますが、それなりにOpenStreetMapに関する専門知識が必要となるため誰でも手軽に編集できるとは言えません。StreetCompleteは調査が必要な近隣の場所を自動的に検索して「クエスト」として地図上に表示し、現地に行って簡単な質問に回答することでOpenStreetMapのデータを更新することができるため、位置情報ゲームをプレイする感覚でOpenStreetMapに貢献できるアプリです。

StreetComplete

https://streetcomplete.app/



streetcomplete/StreetComplete: Easy to use OpenStreetMap editor for Android

https://github.com/streetcomplete/StreetComplete/tree/master



◆インストール

公式GitHubではインストール方法について以下を案内しています。

・Google Play

・F-Droid

・GitHubのReleaseからapkファイルを入手

今回はGoogle Playからインストールを行います。公式GitHubにあるGoogle Playバナーをクリックします。



Google PlayのStreetCompleteのページが開くので「インストール」ボタンをタップしてインストールを開始します。



インストールが完了すると「開く」ボタンが現れるのでタップするとStreetCompleteが起動します。



◆起動

StreetCompleteを起動した直後。ウィザード形式となっているので「次へ」ボタンをタップします。



StreetCompleteがどういうアプリなのかを説明しています。内容を一読の上で「次へ」ボタンをタップします。



このタイミングで「このデバイスの位置情報へのアクセスをStreetCompleteに許可しますか?」と確認してくるので、「正確な位置」を選択して「アプリの使用時のみ」ボタンをタップします。



引き続き説明が表示されるので、「次へ」ボタンをタップします。



「楽しい地図作成を!」と表示されるので「Let's go!」ボタンをタップするといよいよ本格的にStreetCompleteが始まります。



◆クエスト

初期状態の地図は地球規模のスケールで表示されます。画面上部のメールアイコンにマークがついているのでタップして開いてみます。



「やることが多すぎますか?」と尋ねられてしまいました。クエストの表示量を調節できるとのことですが、後からでも設定できるのでまずはそのまま「OK」をタップします。



地図をピンチして現在地付近を表示しました。地図上の各種アイコンがクエストであり、見渡すと結構な数があるため少なくとも市街地ではクエストに巡り合えずに困ることはなさそうです。まずは手近なアイコンをタップしてクエストに挑戦してみます。



目の前にあった時計アイコンをタップすると「ここの開業時間は何時ですか?」と質問されたので「開店時間を追加」ボタンをタップします。



まずは曜日を選択し「OK」ボタンをタップ。



続いて開店時間を入力し「次へ」をタップ。



さらに閉店時間を入力し「OK」をタップします。



最後に画面右下のチェックアイコンをタップするとクエスト完了です。



次のクエストを探すと道路上に見つかりました。タップしてみると「この道路の路面は何ですか?」と表示されました。



ちなみに実際の路面は以下の画像の通りです。



選択肢から「舗装用の石」を選択して画面右下のチェックアイコンをタップしてクエスト完了。今度は入力が少なくあっという間でした。



通りがかった自転車駐輪場にいかにもといったアイコンのクエストを見つけたのでタップしてみます。



実際の自転車駐輪場の様子。



クエストの問いは「この駐車場は屋根がありますか(雨から守られていますか)?」というもの。露天なので「いいえ」をタップします。



引き続き駐輪場のクエスト。「この駐輪場の種類は何ですか?」と尋ねられたので「Designated area」と回答しました。



少し移動したところに「これは今もありますか?」というクエストがありました。「観光情報掲示板」とあるので付近に掲示板があるか確認しました。



現存することを確認したので「はい」で回答。



引き続き「この掲示板のタイトルは何ですか?」と尋ねられたので、掲示板に書いてあった名前を入力して画面右下のチェックアイコンをタップし回答します。



次のクエストは道に設定されており、「この通りに歩道がありますか?」というものでした。



実際の通りを見てみると両側とも歩道はありませんでした。



歩道は道の両側に存在する可能性があるため、左右それぞれに歩道の有無を選択する必要があります。



次に見かけたクエストは主要道路と生活道路との丁字路に設定されています。道路の向こう側に「横断禁止」の交通標識が見えます。



クエストは「ここに横断歩道はありますか」というもの。「いいえ、横断は禁止または不可能です」を選択してチェックアイコンをタップします。



近くの十字路には「横断歩道に交通島はありますか?」というクエストがありました。



横断歩道を見てみると交通島はなかったので「いいえ」と回答しました。



「ここの開業時間は何時ですか?」というクエストを見つけましたが、正直なところどう答えればいいか困ってしまいました。



というのもクエストが設定された店舗は既に閉業していたからです。



これまで気にしていなかった「うーん……」をタップしてみたところ以下のポップアップメニューが表示されたので、現状に最も近い「ここに存在しません……」を選択しました。



「代わりに何がここにあるの?」と尋ねられるので、「空き店舗です」と回答しました。



なお、何かよくわからなかった「A(n)……」という選択肢のところにあるドロップダウンリストをプルダウンしてみたところ、代わりにどんな店があるのかを指定できるようになっていました。



◆アカウント

クエストを進めながら「そういえばOpenStreetMapへのアカウント登録が必要なはずだけどいつ行うのだろう?」と思っていたところ、いくつかのクエストを完了したタイミングでOpenStreetMapのユーザーアカウントでの認証を求められました。「後で」という選択肢もありましたが「OK」をタップします。



OpenStreetMapのログイン画面が表示されるので「利用者登録」タブを選択し、メールアドレス・表示名・パスワード・パスワード確認を入力してCloudflareの人間認証にチェックします。



最後に「利用者登録」ボタンをタップします。



すると「メールを確認してください。」という画面が表示されます。



利用者登録に使用したアドレスのメールボックスを確認するとOpenStreetMapからのメールが届いていました。本文中のリンクをクリックするとアカウント確認が完了し登録したアカウントを使用できるようになります。



登録したアカウントでStreetCompleteにログインしてみます。画面右上のハンバーガーアイコンをタップするとポップアップ画面が表示されるので、左上の「ログイン」をタップします。



「まだ公開していない変更が○○件あります。アップロードするには、ログインする必要があります」と表示されました。ここまでのクエスト結果はまだローカルにのみ記録されている状態のようです。「ログイン」ボタンをタップしてログイン処理を行います。



利用者登録に使用した「メールアドレスまたは利用者名」「パスワード」を入力し、「ログイン」ボタンをタップするとログインできます。



初回ログイン時には「認証が必要」と表示されます。権限の内容に問題なければ「許可」ボタンをタップするとStreetCompleteアプリに必要な権限が設定されます。



アカウントのプロフィールを確認するには、ログイン状態で画面右上のハンバーガーアイコンをタップして表示されるポップアップ画面から、左上の「プロフィール」をタップします。



「プロフィール」画面は4つのタブで構成されています。一番左の「上半身シルエットアイコン」が表示されたタブを選択すると、プロフィール名とクリアしたクエスト数、さらに期間ごとの実績が表示されます。



左から二つ目の「星型アイコン」が表示されたタブを選択すると、さらに2つのタブが表示されます。「タイプ別」を選択するとクリアしたクエストの数がクエストのタイプごとに表示されます。



「国別」を選択するとクエストのあった国別にクリア数が表示されるようです。



左から三つ目の「トロフィーアイコン」が表示されたタブを選択すると、実績に応じてもらえるトロフィーのアイコン一覧が表示されます。



トロフィーの詳しい内容はアイコンをタップするとポップアップ表示されます。一つ目のトロフィーは「初めてのクエスト解決」でした。



もう一つのトロフィーは「測量士」。10件のクエストをクリアするともらえるトロフィーでした。



一番右のタブを選択すると、記事作成時点では OpenStreetMap Wikiへのリンクだけが表示されていました。



◆設定

設定画面を表示するには画面右上のハンバーガーアイコンをタップし、表示されるポップアップで「設定」をタップします。



設定項目は以下の通りです。

・クエスト

・プリセット管理:「クエストの選択と表示順」「オーバーレイの選択」の設定内容に名前を付けて保存する

・クエストの選択と表示順:クエストタイプごとに表示・非表示や表示順を設定する

・オーバーレイの選択:クエストのアイコンごとにオーバーレイの有効・無効を切り替える

・再調査間隔:マッピング済みデータを再調査する間隔

・すべてのメモを表示する:クエストに関係ないメモを表示するかどうかを切り替える

・通信

回答の自動アップロード

・表示

・言語

・テーマを選択

・アプリ内メッセージ

・マップ上にズームボタンを表示する

・画面をオンのままにする:無操作でも画面がオフにならないようにするかどうかを切り替える

・高度な設定

・キャッシュ削除

・非表示にしたクエストを元に戻す



◆チームモード

「チームモード」では複数名でクエストを分担して進めることができる、マッピング・パーティっぽいモードです。チームモードを開始するには画面右上のハンバーガーアイコンをタップし、表示されるポップアップから「チームモード」をタップします。



チームモードの説明の画面が表示されるので「次へ」ボタンをタップします。



チームモードに参加する人数(2~12人)を入力し「次へ」ボタンをタップします。



参加者のうち自分を示す色を選択し「Let's go!」ボタンをタップするとチームモードが始まります。



◆まとめ

StreetCompleteはAndroidスマートフォンさえあれば誰でも気軽にOpenStreetMapのデータを更新することのできるアプリです。特に Ingress・Pokémon GO・ドラゴンクエストウォークのような位置情報ゲームをプレイした経験のある人ならば簡単に始められるので、興味を持った方は是非OpenStreetMapのデータ更新に貢献してみてください。