GPSの精度が悪いのはなぜか|誤差の原因と上げる方法
地図の青い点が、道の反対側に出る。歩いていないのに位置が動く。ランニングの距離が実際と合わない。
GPSの位置には、必ず誤差があります。ただ、原因は限られていて、そのうちのいくつかは自分で減らせます。
この記事では、GPSがどうやって位置を出しているかから始めて、誤差がどこから来るのか、何をすれば減るのか、そしてどうやっても越えられない壁がどこにあるかを整理します。
GPSはどうやって位置を出しているか
衛星は、いま何時かという情報と、自分がどこにいるかという情報を、電波に乗せて送り続けています。
受信機は、その電波が届くまでにかかった時間を測ります。電波の速さは分かっているので、時間が分かれば距離が出ます。
衛星1機からの距離が分かると、その衛星を中心とした球の面のどこかにいる、と絞れます。2機なら2つの球が交わる円、3機なら2点まで絞れます。実際には4機以上を使います。受信機の時計が衛星ほど正確ではないので、時計のずれも一緒に解く必要があるためです。
つまり、位置は距離の測り合いで決まります。だから、距離の測り方が狂うものはすべて誤差になります。
実際の誤差はどれくらいか
条件によって大きく変わります。
| 場所 | 水平の誤差のめやす |
|---|---|
| 空が開けた場所 | 数メートル |
| 住宅街 | 5から10メートル |
| ビルの谷間 | 数十メートル |
| 屋内 | 位置が出ないか、大きく外れる |
高さの誤差は、水平の1.5倍から2倍あります。理由は単純で、衛星が空の上にしかないからです。上下を挟み込む配置が作れないので、高さは水平より決めにくくなります。
誤差はどこから来るのか
原因は7つに分けられます。
電離層
地上100キロメートルから1000キロメートルあたりに、電気を帯びた層があります。ここを通ると電波が遅れます。
遅れの量は太陽の活動と時間帯で変わり、補正しないと数十メートルになることもあります。単独で測る受信機は、放送されている簡易な補正の式を使いますが、それでも数メートルは残ります。
いま最も大きな誤差の源です。
大気
地表付近の大気でも電波が遅れます。水蒸気の量で変わるため、湿度の高い日ほど影響が出ます。数メートルの範囲です。
反射波
いちばん厄介なのがこれです。
衛星から直接届いた電波のほかに、ビルの壁、ガラス、地面、車体で跳ね返った電波も受信機に届きます。跳ね返った電波は遠回りしてくるので、距離が長く測れます。
市街地で位置が隣の道に出る、駅前で急に数十メートル飛ぶ、というのはほぼこれが原因です。空が見えていても、周りに反射するものがあれば起きます。
衛星の配置
衛星が空に広く散らばっていれば、位置は決めやすくなります。逆に、同じ方向に固まっていると、交わり方が浅くなって位置がぼやけます。
配置の良し悪しは数値で表せます。値が小さいほど良く、大きいほど同じ受信機でも誤差が増えます。ビルの谷間や谷あいでは、見える範囲が狭まって配置が偏ります。
衛星の時計と軌道
衛星の時計にも、位置の情報にも、わずかな誤差があります。地上から監視して補正が送られていますが、完全ではありません。1メートルから2メートルの範囲です。
受信機そのもの
受信機の中で発生する雑音と、アンテナの質です。安価なモジュールと測量用の装置では、同じ場所でも結果が変わります。
屋内
窓際なら位置が出ることもありますが、電波が壁を通ると大きく弱まり、しかも反射だらけになります。屋内で正しい位置を求めるのは、GPSの仕事ではありません。
スマートフォンが実際にやっていること
スマートフォンの位置は、GPSだけで決まっているわけではありません。
周りのWi-Fiの電波、携帯電話の基地局、そして端末の中の加速度計と方位計を組み合わせています。それぞれの得意な場面が違うので、混ぜたほうが安定します。
このため、位置情報の精度を上げる設定を切ると、かえって悪くなることがあります。Wi-Fiを切ると、屋内や市街地での位置が落ちます。
もうひとつ、通信を使って衛星の軌道の情報を先に受け取る仕組みがあります。これがあると、電源を入れてから位置が出るまでが数秒で済みます。通信を切った状態では、同じ場所でも数十秒から数分かかります。
近年は、2つの周波数を同時に受けられる端末が増えています。周波数が2つあると、電離層の遅れを計算で消せます。反射波にも強くなります。この違いは、市街地で体感できるほど出ます。
精度を上げる方法
自分でできることを、効く順に並べます。
空が見える場所へ出る。これが最も効きます。建物の陰、木の下、高架の下から一歩出るだけで変わります。
置き方を変える。鞄の中、ポケットの奥、金属の陰では受信が落ちます。空に向く面を塞がないでください。手に持つときも、画面を上に向けるほうが良くなります。
起動してから少し待つ。位置が安定するまで、数十秒はかかります。歩き出す前に一呼吸置くと、最初の数百メートルの記録が乱れません。
通信とWi-Fiを切らない。前の節のとおりです。
位置情報の設定を、精度の高い方にする。端末の設定に、GPSだけを使うか、Wi-Fiや基地局も併用するかの選択があります。
みちびきに対応した端末を選ぶ。日本の真上に長くとどまる衛星なので、ビルの谷間で効きます。近年の端末はほぼ対応しています。
2つの周波数を受けられる端末を選ぶ。買い替えのときに、いちばん効く違いです。
それでも越えられない壁
ここまでやっても、単独で測る限り誤差は数メートルの水準にとどまります。原因が受信機の側ではなく、電波が通ってくる空の側にあるためです。
この壁を越える方法があります。位置が正確に分かっている場所に置かれた受信機と比べる、という考え方です。
近くにある受信機は、同じ空を通ってきた電波を受けています。だから、同じ誤差を含んでいます。その受信機は自分の本当の位置を知っているので、いまどれだけずれているかを計算できます。このずれの情報をもらって差し引けば、共通の誤差が消えます。
この仕組みを使うと、誤差は数センチメートルまで縮みます。農業機械の自動操舵や測量で使われているのは、この方法です。
日本では、補正の情報を衛星から直接受け取る道もあります。通信回線が届かない山の中や海の上でも使えます。
距離が合わないのはなぜか
ランニングやサイクリングで、記録された距離が実際と違う、という相談があります。誤差とは別の理由が混ざっています。
記録の間隔です。1秒に1回しか記録していなければ、その間の曲がりは直線で結ばれます。細かく曲がる道では短く出ます。
平滑化です。多くのアプリは、位置の揺れを均して線を滑らかにします。見た目はきれいになりますが、実際の道のりとはずれます。
腕の振りです。時計型の装置は、腕の動きに合わせて位置が揺れます。この揺れが積み重なると、実際より長く出ることがあります。
そして、木の下やビル街を走った区間では、そもそもの誤差が乗ります。
同じコースを走っても毎回距離が違うのは、装置の不良ではなく、これらが重なった結果です。
高さの精度が悪いのはなぜか
登山の記録で、標高が実際と数十メートル違うことがあります。
理由は2つあります。ひとつは、最初に書いたとおり、衛星が上にしかないので高さが決めにくいこと。
もうひとつは、高さの基準が2種類あることです。衛星が測っているのは、地球を数学的な楕円体とみなしたときの、その面からの高さです。地図に載っている標高は、平均海面を基準にした高さです。日本ではこの2つに30メートルから40メートルの差があります。
機器がどちらを表示しているかで、見える数字が変わります。気圧で高さを測る機能を持つ装置が、GPSの高さより信用されるのはこのためです。
まとめ
GPSの誤差は、電離層、大気、反射波、衛星の配置、衛星側の誤差、受信機の性能から来ます。このうち自分で減らせるのは、反射波と衛星の配置です。どちらも、空が見える場所に出れば改善します。
スマートフォンの位置はGPSだけで決まっていません。通信とWi-Fiを切らないほうが、たいていの場面で良くなります。
単独で測る限り、誤差は数メートルの水準です。それより先が要るなら、基準となる受信機からの補正を使う仕組みに進むことになります。