アプリ概要
ROADSTOCKは、車・オートバイのツーリングの記録を残すためのアプリです。GPSログに加えて、走った道路や立ち寄った場所の情報、給油やメンテナンスの記録などを保存すること、そして、これらをできるだけ自動的に残すことを目的としています。特に「道」の記憶を残すことを重視しています。
もう一つの目的は、ツーリングや道路の記憶を残すことを中心として、給油記録やメンテナンス記録もまとめて1つのアプリで管理できるようにすることです。そのため、燃費管理もしくはメンテナンス管理のために使うこともできます。
なお、ROADSTOCKは車・バイクに特化したアプリです。自転車やランニングのログは取得できません(モーションセンサーで除外しています)。
ROADSTOCKはGPSとモーションセンサーを利用します。また、道路名取得のため、頻繁にデータ通信をします。そのため、常時給電状態での利用を強く推奨します。
コンセプト(開発のきっかけ)
iPhoneがない時代のツーリングの記録は、ジャケットのポケットやタンクバッグに入れた小さなメモ帳に、停まるたびに鉛筆で書き込んでいたものです。ROADSTOCKは、その作業をなるべく自動的に代行します。途中で休憩したり、食事をとったりするために停止すると、その情報を残します。走行した道路の情報は、Webサービスを介して道路名を取得して、自動的に保存します(但しOpen Street Mapに情報がある場合に限られます)。区間ごとの走行距離や時間も、GPS情報に基づいて記録します。
メモと鉛筆の場合、雨が降ったり、時間に追われたりすると途端に空白だらけになったものですが(そのような残念な経験こそが、ROADSTOCKの開発に至った大きな理由です)、ROADSTOCKを使えば、基本的にはほとんどのツーリング情報を勝手にiPhoneに記録します。
とはいえ、ある場所で停まったという記録は残っても、何のために停まったかは当の本人にしかわかりません。道路名の自動取得は完璧ではありません(林道や農道は情報を取得できませんし、高速道路と一般道が重なったようなところも苦手です。そもそも通信圏外では取得できません)。これらはツーリングが終わってから、行程を振り返りながらゆっくり書き込んでください。面倒に思われるでしょうか。それでも、都度手書きするよりはよほど楽です。ROADSTOCKに残っている大雑把な情報を手直しするだけでいいのですから。
機能
車両管理
- 自動車・二輪車を複数台登録可能(現行バージョンでは5台まで)
- 各車両のサービスデータを任意に設定可能(タイヤ空気圧や各種オイル量、締付けトルク等のメモとして使用することを意図しています。サンプルは提供していますが、これはあくまでサンプルです。貴方にとって必要な情報を自分で書き込んでください)
ツーリング記録(GPSログ+情報)取得
- GPSログを取得します
- 何らかの理由で所定の時間(デフォルトでは3分)停止した場合は、停止イベントを自動的に追加します
- 再び走り出した場合は、停止状態から走行状態に戻り、ログ取得を再開します
- 各イベント毎に名前設定、写真追加、アイコン設定などができます
- モーションセンサーにより走行状態かどうかを判断するため、車両から降りて歩いた場合等はログを取得せず、停止扱いとなります
- 停止後に歩き回った際、それはログ取得対象外となります
- エンジンをかけたまま仮眠をした場合等は乗車状態と判断する場合があります
- イベントは手入力も可能です。休憩、給油、メンテナンス、写真等の情報を残すことを想定しています
- 位置情報を用いて、実際に走行した道路名を取得します
- 道路名とGPSログはリンクしていますので、道路名タップ→地図上の表示、またはその逆が可能です
- Web APIを用いて、適当な間隔(時間または距離)をおいて道路名を取得するため、道路が変わるタイミングは不正確です(実際の道路変更点より数秒後の地点になることが多いです)
- 【日本国内限定】道路名の取得には、Open Street Mapの情報を用いています。Open Street Mapに無い場合は取得できません
- 例えば高速道路と一般道が重なる場合など、正確な値は取得できません
- データ通信圏外となった場合は道路名を取得できません
- 道路名、道路が切り替わるタイミングは事後編集できます
- 過去に走ったことがある道を再度通過する場合、ROADSTOCKに記録済みの位置情報があれば、それを優先利用します。何度も通っている場合は、直近の情報を利用します。即ち、道路名をWebサービスから取得できない場合でも、過去に道路名を手入力してあれば、それを利用して道路名を取得できます
- 区間ごとの走行距離・時間を記録します。平均速度が一定以上の場合は高速道路走行と判断します
- 距離は基本的にGPSの値を使用しますが、オドメーター値を手入力することも可能です。手入力した場合はそちらを優先します
- ツーリング全体の所要時間、走行時間(停止時間除外)、平均速度、最高標高、燃費、費用等をサマリー情報として表示します
- 特定のイベントに関係ない費用(道路代など)を記録できます
- 各イベントに付加した写真を一覧表示できます
道路の管理
- GPSログ(経路)を道路毎に分割し、道路名を設定できます
- 道路毎に写真やメモを貼付できます
- 道路名は自動取得しますが、精度が良くないこと、全ての道路名を取得できるわけではないこと、そもそも通信圏外では取得できないことから、編集機能を用意しています
- 保存済みの道路を分割/結合できます
Favorite(★)表示
- ★をつけたツーリングだけを一覧表示/地図表示
- ★をつけた道だけを一覧表示/地図表示
給油記録管理
- ツーリングとは関係なく、通常の給油記録管理(燃費計算)をすることができます
- ツーリング時と通常時(非ツーリング時)の情報をまとめて管理します
- 機能的には通常の給油管理アプリが普通に持っている機能と同等ですが、それに特化したアプリではないので、最低限の機能しかありません。例えば、給油間の走行情報(エアコンをつけていたか、何名乗車だったか、高速道路メインだったか等)を保持する機能はありません。メモを残すことはできるのでそれで代替してください
メンテナンス記録
- ツーリングとは関係なく、通常のメンテナンス記録を管理できます
- ツーリング時と通常時(非ツーリング時)の情報をまとめて管理します
- 予定(ToDo)を登録しておき、実施時に実績化することができます。ツーリング中に不具合(異音がする、フィーリングが悪いなど)に気付いたものの、すぐに対処できない場合等のメモとして利用できます
- 項目ごとにフィルタリングすることができます(数があまりにも多くなった場合に、エンジンオイル交換の間隔だけ見たい時などに利用することを想定しています)
- オイル交換等、定期的に実施するメンテナンス項目等をリマインドする機能はありません
- メンテナンス項目は全て手入力ですが、コピーして再利用することは可能です(メンテナンス管理に特化したアプリでは、項目を予め用意しているものもありますが、コピー再利用で充分だと考えています)
出費管理
- 車両毎の出費情報(税金、保険など)を管理できます
- リマインダーのような機能はありませんが、過去の実績をコピーして再利用することはできます
エクスポート/シェア
- GPSログをGPXファイルとしてエクスポートできます
- GPSログではなく、ツーリング画面(ログを反映した地図およびタイムライン)をTwitter, Facebook, メールに送ることができます。タイムラインはテキストとして送ることもできます
- 各種イベント単体でシェアすることもできます
インポート
- GPX形式のGPSログをインポートすることができます。インポートにあたっては、ポイント毎の速度等をもとにして自動的にイベントを挿入して区間に分割します。但し、GPXログにはモーションセンサー情報が無いため、徒歩移動なども含まれてしまうことから、正確ではありません
- インポートしたログに道路情報を付加することができます(通常のログに再付加することもできますが、あまり意味はないでしょう)。なお、この機能はWeb APIの制約により、ツーリング丸ごと実施することはできません。区間ごとの実施になります。また、短時間に何度も使うとWeb APIの制約により失敗することがあります
追加機能サブスクリプション
以下の機能をサブスクリプションで提供しています。
詳細はこちらを参照ください。
- 広告除去
- ツーリングフォルダ
- ロギング再開リマインダー
- 全車両ツーリングリスト
- 車両台数制限除去
使い方(詳細)
オンラインマニュアルを参照ください。
アップデート情報
アップデート情報(Ver 1.6.x)
- 広告非表示、機能追加などをサブスクリプションで提供しました(詳細はこちら)
- 地図上に表示するアイコンの表示/非表示設定画面を、地図上のボタンから起動できるようにしました
アップデート情報(Ver 1.5.x)
- 日本語表記に対応しました(英語表記にもできます)
- 給油情報の金額入力時に総額入力または単価入力を選べるようにしました
- 日付入力をカレンダー方式にしました(iOS14以降のみ)
- 地図上に表示する幾つかのアイコンの表示/非表示を選択できるようにしました
- iCloudへのバックアップ機能を追加しました(1.5.13以降)
- 起動時に自動的にデータベースのバックアップをとっておくようにしました(1.5.14以降)
アップデート情報(Ver 1.4.x)
【新機能】
- 地図への経路表示にあたり、50km毎にキロポストを表示する機能を追加しました(ツーリング完了後のみ表示します)。
- ツーリング中のイベントやメンテナンス等への写真インポートにあたり、当該イベント直前・直後の画像だけを自動インポートする機能を追加しました(イベントは当該日時の5分前から20分後まで、メンテナンスは当日の画像をインポートします)。
- フォントの大きさをiPhoneの「設定→画面表示と明るさ→テキストサイズを変更」で変更可能にしました。一部のフォントはこの設定では変更できませんが、デバイスサイズに応じて最適化しました。
【変更点】
- 給油情報登録時に給油量とガソリン単価を必須入力から除外しました(事後入力可能)。
- PAUSE / RESUME(一時停止 / 再開)アイコンを変更しました。
- 一部のTwitter/Facebookシェア機能を廃止しました。
【修正点】
- 道路名を取得できたのに最終的に”=====”になってしまう不具合を修正しました。
- ツーリングタイムライン画像のTwitter/Facebookエクスポートの不具合を修正しました。
- 道路名を再取得する機能がいつまでも終わらない問題に対処しました。
アップデート情報(Ver 1.3.x)
- ログ取得処理、道路名取得処理を全面的に見直しました。停止判定失敗の回避、道路名取得漏れ削減等により、現実との乖離を減らしました。
- ログ取得中に地図画面操作が重くなる、画像追加時に重くなる等の問題に対処しました。
- イベントアイコンの見直し、メンテナンス画面のフィルタ順序見直し等の修正を実施しました。
アップデート情報(Ver 1.2.x)
- iOS 13のダークモードに対応しました。
- ログ取得中の操作画面(距離/時間表示、ボタン)を一部変更しました。
アップデート情報(Ver 1.1.x)
Ver 1.0.xで発生していた以下の問題を修正しました。
- 道路名を取得できない
- iOS11以上の場合、ロギングが途中で止まってしまうことがある
また、以下の対応を実施しました。
- イベントのアイコンに温泉マークを追加しました。
- iPhone X/XS/XS Max/XRに対応しました(今更)
- その他細かい不具合を修正しました。
道路名を取得できない問題
2018年夏頃から、道路名を取得できない問題が出ていました。原因は、Google Maps APIのポリシー変更によるものです。Google Geocoding APIは従来無料でしたが、それが有償化され、地点情報の取得方式が変わりました。ROADSTOCK Ver 1.0.xは、新しい指示方式に対応できていないためエラーとなり、道路名を取得できませんでした。
【修正方針】
有償APIは従量制で、概算ですが10回程度の日帰りツーリングを処理すると無償範囲を超えて有償となります。これは利用者ごとではなく、全ROADSTOCK利用者の合計です。その金額は、現在のROADSTOCKのアプリ収入(広告収入のみ)から考えると全くペイしませんので、Google Geocoding APIを使うという選択肢はありません。その代替として、Open Street Mapを利用するように修正しました。ただし、取得できる道路名は従来より精度が落ちます。取得できないよりは良いと思いますので、その方針で修正しました。
なお、Google Geocoding APIでは県道より上位のものしか取得できませんでしたが、Open Street Mapを使うことで、市道や農道、林道等の道路名も取得できる可能性はあります。ただし、あくまで有志の方が道路名を登録してくれている場合に限ります。
【精度が落ちる例】
Open Street Mapは有志により作られているものであり、登録者の癖が反映されますし、各種名称の統一化が徹底できていません。また、道路の正式名より通称が優先されている傾向があります。したがって、下記のような事象が発生します。これが期待に沿わない場合、自分でOpen Street Mapの活動に参加して直すしかありません。
・県道xx号、といった表示(整理番号)が「xx線」という路線名や「xx街道」のように通称となることが多い。
・同じ道なのに、区間により「xx街道」「xx線」「県道xx号(xx街道)」のような別表現が混在する。
なお、ROADSTOCKは一度通った座標を再利用するため、意図した道路名を手修正でセットしておけば、同じ道を再度通る際はおかしな道路名にはなりません。
【補足】
これは日本限定の現象です。日本以外では元々Google Geocoding APIではなく、AppleのGeocoderを利用しています。理由は、Apple Geocoderが返す日本の道路名が著しく不正確なためです。Appleの対応が変わり、正確な道路名を返すようになれば、Apple Geocoderに変更することで正確な道路名を取得できるようになるかもしれませんが、それがいつになるのかは誰もわかりません。
米国以外の他国では同じく不正確という情報も見たことがありますが、実際にテストすることができないため、それ以上追求していません。
よくある問い合わせ
ロギング中にアプリが落ち、その後ずっと「ONGOING」状態になってしまっていて新規ツーリングを開始できない
ロギング中に何らかの理由でアプリがクラッシュした際に変なデータが残り、内部的にツーリング続行中の情報を保持したままになってしまっているという問題です。Ver 1.3.4で、メニュー「RESET(TERMINATE) LOGGING」を追加しました。これを実行することで、とりあえずツーリング続行状態から脱却することは可能です。
停まっている/休憩しているのに「STOP」にならない
原因はわかりませんが、iPhoneのモーションセンサー利用許可設定がいつの間にか消えて無くなってしまうことがあるようです。以下の操作で対処できた(設定が復活した)例が報告されています。
- iOS標準の「設定」→「プライバシー」→「モーションとフィットネス」を開き、「フィットネストラッキング」を有効にする
- そこでROADSTOCKが現れた場合はONにする
- 無い場合、ROADSTOCKアプリを強制終了
- ROADSTOCKを起動
- 新規ツーリングを開始(特に何かに乗車しなくてもかまいません)。その際に、iOS標準の確認画面が出れば成功です。出ない場合、10秒ほど待ったあとにツーリングを終了してください。終了時に画面が出ることもあるようです
- iOS標準の「設定」→「ROADSTOCK」で「モーションとフィットネス」が選ばれていることを確認する
ロギング中にアプリが落ち、その後起動できなくなった
落ちる原因・直った原因ともにわかっていませんが、アプリの再インストールで回復したケースがあります。
Ver 1.5.13 でiCloudへのデータバックアップ・復元機能を追加したため、それを用いてバックアップ→アンインストール→復元は可能ですが、そもそも起動できない場合はこの手段は使えませんので、その際の手順を示します。
普通にアプリを消してしまうと過去のデータが全滅してしまいますので、以下の手順を踏む必要があります。
PCまたはMacが必要です。無い場合はこの手段は使えません。また、下記以外の方法で回復できた事例はありません。
- PC/MacのiTunesを用いてiPhone自体をバックアップ
- iTunesのファイル共有機能を用いてROADSTOCKのデータを全てバックアップ
- iPhoneからROADSTOCKアプリを削除
- AppStoreからROADSTOCKを再インストール、起動(初期状態になっているはず)
- PC/MacのiTunesファイル共有で、バックアップしたROADSTOCKデータを「追加…」ボタンでiPhoneに上書きコピー(但し ROADSTOCK.realm.lock, ROADSTOCK.realm.management, ROADSTOCK.realm.note は対象から外してください)
- iPhoneをPC/Macから取り外す
- iPhoneでROADSTOCKを起動(既に起動していた場合は一旦アプリを強制終了してから起動)
「iTunesファイル共有」の公式情報は以下のApple社の情報となります。
https://support.apple.com/ja-jp/HT201301
取得対象のイメージはこのキャプチャの通りです。全てのデータをバックアップしてください。
これでも回復できない場合、取得した ROADSTOCK.realm をお送りいただければ原因を解明できる可能性があります。送付にあたっては、アプリ設定内の「開発者へデータベースを送信」をご利用いただけますが、起動できない場合は上記手順でデータベースファイルを取得する必要があります。いずれにせよ、一旦Contactからお問い合わせください。
データが初期化されてしまった
発生原因や経緯は不明ですが、そのような事例が報告されたことがあります。そのケースでは、iOS標準の「ファイル」アプリの「ブラウズ」タブ内にある「最近削除した項目」に何故かデータベースファイル(ROADSTOCK.realm)があった(つまり何故か削除されていた)ため、それを用いて上記手段で復元することで回復できました。
iCloudへのバックアップに失敗する
バックアップを指示したものの「iCloudへのバックアップ中に問題が発生しました。バックアップは完了していません。」または「iCloudへの接続で問題が発生しました。お使いのiPhoneがiCloudにログイン済みかをご確認下さい。」というメッセージが出た場合、以下の可能性があります。
- 「設定」アプリの一番上にある自分のApple IDタップ→iCloud→「iCloudを使用しているAPP」セクション内にある「すべてを表示」→ROADSTOCK がオンになっていない
- ネットワークに接続していない(機内モードになっている等)
- iCloudストレージの空き容量がない
- iCloudにログインしていない
上記どれでもない場合、残念ながら理由はわかりません。時間を置いてやり直してください。
時間を置いても失敗する場合、申し訳ないのですが解決策がわかりません。iPhone自体をiTunes等でバックアップすれば、ROADSTOCKのデータも同時にバックアップされますので、そちらをご利用ください。
原因調査にお付き合いいただけるのであれば Contact からご連絡ください。ただし、解決できることをお約束することはできません。
突然起動できなくなってしまった
大抵の場合はアプリのバグまたはデータベースの何らかの不整合なのですが、これまでにデータベースの中身が壊れてしまったケースが2件見つかっています。この場合、大変申し訳ないのですが、完全な回復手段はありません。また、発生原因はわかっていません。
Ver 1.5.16 以降は、起動時に自動的にデータベースのバックアップを取るようにしています。これを使えば、少なくとも起動直後の状態までは戻れます(その後に追加したデータはなくなってしまいます)。
バックアップしたデータは、iOS標準の「ファイル」アプリで見つけることができます。
- ファイルアプリを開く
- 画面下部「ブラウズ」タブを開く
- 「このiPhone内」をタップ
- フォルダ「ROADSTOCK」を開く
ここにある「ROADSTOCK_ab.realm」がバックアップファイルです。このファイルがない場合、古いバージョンをお使いか、何らかの理由で失敗しており、これ以下の復活手段は使えません。
これを使うためには、壊れてしまったオリジナルのデータベースファイル「ROADSTOCK.realm」と入れ替えます。例えば以下のような手順になります。
- ROADSTOCK.realmを長押しし、出てきたメニューから「名称変更」を選び、適当な名前(例えば「ROADSTOCK_damaged」)に変える
- ROADSTOCK_ab.realmを長押しし、出てきたメニューから「名称変更」を選び、「ROADSTOCK」に変える
これでデータベースファイルは入れ替わりましたので、アプリを再起動し、動作すれば成功です。
データが増えたら起動が遅くなった
上記の方法で「ファイル」アプリからROADSTOCK.realmとROADSTOCK_ab.realmのファイルサイズを比較してください。明らかにROADSTOCK.realmの方が大きい場合、上記と同様にデータベースファイルを入れ替えると、起動が早くなる場合があります。
お問い合わせ
本アプリケーションに関するお問合せ等はContactからお願いします。