TrailCam

ガイド

山行の距離を自分で足し算すると、年間合計とズレるのはなぜ?

ほとんどの場合、これは本当のズレではなく、見落としがちな場所で起きている丸め誤差です。それぞれの山行のカードには「5.2 km」のようにきれいな数字が表示されますが、これはアプリが実際に持っているもう少し細かい数字を丸めたものです。その丸めた数字を十数個、手で足し合わせれば、小さな近似値を十数個足していることになり、それぞれが本当の数字から少しずつずれています。アプリ自身が出す年間合計はそうやって作られていません——表示のために丸められる前の、細かい数字をそのまま合計しています。

結論から

山行ごとのカードに出ている数字は、目にする前にすでに丸められています——たいてい小数点第一位までです。その丸めた数字を何個も手で足し合わせれば、途中の小さな丸め誤差がそのまま合計に乗ってきます。アプリの年間合計はその手順を踏みません。各山行の丸める前の距離をそのまま合計し、最後に表示のために一度だけ丸めます。「先に丸めてから足す」のと「先に足してから丸める」のとでは、計算の順番が違うので、必ずしも同じ数字にはたどり着きません。ズレの正体はそれだけです。

表示されている距離の正体

GPS の軌跡は、もともときれいな丸い数字で測っているわけではありません。座標点の長いリストから作られていて、距離は隣り合う点と点の直線の隔たりを測り、その小さな隔たりを全部足し合わせて出しています。結果として出てくる数字は、山行のカードでちらっと見るには細かすぎる精度を持っています——「5.2 km」というより「5.187 km」に近い数字です。それを小数点第一位に丸めるのは、手抜きでもミスでもありません。ぱっと見るためのカードには、それでちょうどいい精度だというだけのことで、三桁目の小数点があっても見づらくなるだけで意味のある情報は増えません。

丸めた数字が表示されても、細かい数字が消えてなくなるわけではありません。その山行の裏側には引き続き細かい数字が残っていて、丸めが起きるのは表示する瞬間だけで、元のデータに手を加えているわけではありません。

小さな丸め誤差が十数個集まっても、なぜ相殺されないのか

小数点第一位までの丸めは、どの数字も最大で「その最小単位の半分」——上下どちらかに 0.05 km ぶん——動かします。感覚的には、山行の数が十分にあれば切り上げと切り下げがだいたい同じ数だけ起きて、平均するとゼロに近づきそうに思えます。実際、ある程度は近づくのですが、ぴったりゼロになることはめったにありません。コインを十数回投げても、表と裏がぴったり半分ずつになることがめったにないのと同じ理由です。ある山行での丸めと、次の山行での丸めはほとんど無関係なので、小さな誤差は部分的には打ち消し合い、部分的には打ち消し合わずに残ります。その結果、一年分の山行を合計すると、数百メートルからせいぜい 1 km に届くかどうかくらいのズレが残ることが多く、小さいとはいえ、手で入力した合計とアプリ自身の数字を見比べれば気づく程度の大きさにはなります。

ズレの大きさは「歩いた距離」ではなく「山行の回数」で決まる

これが誤解を招きやすいポイントです。個々の山行がどれだけ長かったかや、一年分の総距離がどれだけだったかとは、実はほとんど関係がありません。長い山行 5 回の一年は、たとえ総距離が短くても、短い山行 50 回の一年よりずっと丸め誤差が小さくなります。山行の長さに関係なく、1 回の山行が手計算の合計に丸め 1 回分を持ち込むので、合計に含まれる山行の「回数」が、最終的なズレの大きさを決めます。短い山行を頻繁にする人の方が、長い山行をたまにする人よりも、合計に積み重なる丸めの回数が多いぶん、ズレは大きく出やすくなります。

近似値ではなく、正確な合計を得るには

解決策は、手計算をもっと丁寧にすることではなく、表示用に丸められた数字ではなく、その裏にある細かい数字の方を足すことです。CSV の書き出しなら、記録した山行それぞれの細かい距離が独立した列として並び、表計算ソフトで年間分すべてに SUM の数式ひとつをかけるだけで済みます——これは、一年間に歩いた距離を合計する方法のガイドで説明したのと同じやり方です。この方法なら丸め誤差の問題を完全に避けられます。最後の最後、必要ならその一回だけ丸められるだけで、それまでは何も丸められないからです。表計算ソフトは、カード用に丸められた数字ではなく、アプリ自身の年間合計を作っているのと同じ、丸める前の細かい数字から計算しています。

勘違いしやすいポイント

  • 数百メートルのズレを見て、山行が1回抜け落ちたか二重に数えられたのだと思い込む——実際にはそのほとんどが、普通の丸め誤差であって、記録が本当に欠けているわけではありません。
  • 同じ丸めた数字をもっと丁寧に足し直せばズレが縮まると期待する——丸めた入力をどれだけ丁寧に足しても、出てくるのは丸めた入力から作った合計です。ズレの原因は足し算のやり方ではなく、丸めそのものにあります。
  • アプリの年間合計の方が丸め方を間違えていると考える——実際は逆で、年間合計は丸める前の細かい数字から作られていて、パッと見のために簡略化されているのは山行ごとのカードの方です。
  • ズレの大きさが総距離に比例すると考える——実際は、合計に足し込んだ山行の「回数」に比例します。短い山行をたくさんこなした一年の方が、長い山行を数回こなした一年よりズレが大きくなり得るのはそのためです。

TrailCam でできること

TrailCam が山行ごとのカードに丸めた距離を表示するのは、他のどのアプリとも同じ理由からです。三桁目の小数点は、パッと見る場面では誰も読みません。ルート履歴全体の CSV 書き出しには、山行それぞれの丸める前の細かい距離が独立した列として並んでいるので、表計算ソフトで作る年間合計は、表示用に丸められた数字ではなく、アプリ自身が年間合計に使っているのと同じ、丸める前の数字から計算できます。書き出しは任意の TrailCam Pro に含まれる機能で、アプリ自体のダウンロードは無料です。

よくある質問

手で足した合計とアプリの年間合計が少しズレているのは、不具合のサインですか?
ほとんどの場合、そうではありません。それぞれ表示用にすでに丸められた数字を足し合わせた結果であって、アプリ自身が年間合計に使っている丸める前の細かい数字を足したものではないという、ごく普通の、想定どおりの結果です。
獲得標高でも同じことが起きますか?
はい、理由は同じです。獲得標高も山行ごとのカードには丸めて表示されているので、その丸めた数字を何個も手で足し合わせると、裏にある丸める前の細かい数字から作った合計とは少しズレることがあります。
ズレの大きさはどれくらいが普通ですか?
一年分の山行で見ると、数百メートル程度が普通です。大きさはだいたい、山行それぞれの長さよりも、合計に足し込んだ山行の回数によって決まります。
正確な年間合計を得る、いちばん確実な方法は?
ルート履歴を CSV で書き出し、表計算ソフトで距離の列を合計することです。山行ごとのカードに出ている丸めた数字を手で足すのではなく、この方法なら、アプリ自身の年間合計が作られているのと同じ、丸める前の細かい数字から計算できます。

自分のルートを記録する

TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。

App Store でダウンロード