GPS の標高がマイナスになるのはなぜか
午後いっぱい、海面より数メートル高い岬の道を歩いていたのに、家に帰って見た高度プロフィールは 2 か所でゼロを下回っている——そんなことがあります。その日、海より低い場所を歩いた事実はどこにもありません。GPS の記録がゼロより下の数字を出す理由は 2 つあり、どちらもファイルが壊れていることを意味しません。
まず結論
GPS が出す数字の中で、標高は一番精度が低いものです。海面に近い場所では、そのぶれだけで単発の記録がマイナスになることがよくあります。もうひとつ別の理由として、衛星測位の生の高度は、地球の形を数式で近似した基準面を基準にしていて、実際の海面ではありません。この基準面が実際の海面よりわずかに低い地域では、軌跡全体がほぼ一定の量だけ低く出ることがあります。どちらか一方、あるいは両方が重なって、実際には海面より高かった山行の記録に、マイナスの点が混ざります。
なぜ標高が一番ぶれやすいのか
スマートフォンは、頭上に散らばる衛星からの信号の時間差で自分の位置を割り出しています。水平方向の位置は、あらゆる方角から衛星に囲まれているぶん、東西・南北をかなりしっかり押さえられます。高さの方はそうはいきません。見えている衛星はどれも地平線より上、つまり自分より上側にしかなく、片側からしか挟み込めない配置になっています。この非対称さのせいで、垂直方向の GPS 精度は水平方向よりだいたい 2〜3 倍悪いというのが、特定の端末やアプリの問題ではなく、この測位方式そのものの限界です。
この誤差の幅を、海岸から 5 メートルの本当の標高に足したり引いたりすれば、単発の記録がマイナス 2 や 3 になるのは簡単です。同じ地点の水平位置は正確なまま、高さの数字だけが単独でぶれます。
もうひとつの原因——2 つの「ゼロ」
基準楕円体の高さと海面の違い
衛星測位が生で出す高度は、「基準楕円体」と呼ばれる、地球の形をなめらかな数式で近似したものからの高さです。実際の平均海面は重力に沿ったでこぼこの面で、この楕円体とは一致しません。両者のずれは「ジオイド高」と呼ばれ、場所によって値がまったく違います——本当の海面が基準楕円体より上にある地域もあれば、下にある地域もあります。下にある地域では、補正していない高度の値は本来の海抜より低く出て、実際には海よりわずかに高い地面でも、ゼロ前後やそれ以下として記録されることがあります。
このずれは GPS のノイズのように毎回揺れるものではなく、その地域ではほぼ一定の量だけ動く、という性質のものです。測位そのものとは別に、この補正をどこまで行うかは端末やアプリ側の処理次第で、どこまで補正されているかは一様ではありません。
GPX ファイルの中ではどう見えるか
GPX の軌跡は、各点の標高を <ele> タグにメートル単位の数値として持っているだけで、それが本物の窪みなのか、単なる垂直方向のノイズなのかを区別する仕組みは形式の中にありません。マイナスの値もプラスの値とまったく同じように書き込まれます。海に近い低地の記録をテキストエディタで開くと、小さなプラスの値の中に、たまに小さなマイナスの値が混じっているのはごく普通のことです。海面に近い場所で記録した標高データとしては自然な見た目で、ファイルが壊れているサインではありません。
どんなときに注意して見るべきか
- 海面に近いルートで、1〜2 点だけ数メートルのマイナス——ふつうの GPS 垂直ノイズで、生の高度プロフィールが他の場所でギザギザに見えるのと同じ現象です。ほとんどのアプリは合計値を出す前にこれを均しています。
- マイナスの窪みが獲得標高の合計にほとんど影響しない——獲得標高は通常、ある閾値より小さな上下動を除いたうえで計算されるので、ゼロ付近のノイズが数点あっても、肝心の数字はあまり動きません。
- 軌跡全体が、数点だけでなくずっとマイナス数十メートルのまま続く——これはノイズではなく、ほぼ一定のずれです。登山口の標識や地図など、分かっている基準と照らし合わせる価値があります。単なるぶれではなく、基準楕円体と海面のずれを示している可能性が高いからです。
TrailCam の場合
TrailCam は記録した各ルートの獲得標高を地図の下のプロフィールとして表示し、保存したルートを再生するときも同じプロフィールが動きます。GPX 1.1 や CSV での書き出しにも標高は含まれます。海に近いルートのプロフィールに紛れ込む単発のマイナス値は、GPS の高度データが元々持っている性質であって、記録の不具合ではありません。ダウンロードは無料です。
よくある質問
- マイナスの標高値が出ると、GPX ファイルは壊れているということですか?
- いいえ。GPX は標高をただの数値として持っていて、プラスとマイナスを区別する特別な仕組みはありません。海面に近い場所でのマイナス値は、ほとんどの場合ふつうの垂直方向の GPS ノイズであり、ファイルの破損ではありません。
- なぜ山より海沿いでこの現象が目立つのですか?
- 誤差の幅そのものは、どこにいてもだいたい同じ大きさだからです。海沿いの本当の標高 5 メートルにその幅を足し引きすればマイナスになりえますが、山の標高 500 メートルに同じ幅を足し引きしても、少しずれた 500 メートルになるだけです。
- 実際には海面よりずっと高い場所を歩いたのに、軌跡全体が低く出ることはありますか?
- あります。GPS が基準にしている基準楕円体と、実際の海面との差が、その地域でマイナス方向にずれている場合です。この場合は数点のノイズではなく、軌跡全体にわたってほぼ一定のずれとして現れます。
自分のルートを記録する
TrailCam は iPhone 用の GPS ルート記録アプリです。動画・写真・音声メモを撮ったその地点に紐づけて保存し、GPX 1.1 または CSV で書き出せます。ダウンロードは無料です。