WiFi 位置測位の精度を調べてみた

Android の位置測位には GPS を使うものと、WiFi(+基地局?)を使うものがあります。

既に知れ渡っている通り、GPS は精度は高いですが、電池消費が激しいです。

一方 WiFi による位置測位は、データベース化された無線LANルータの位置と、Android 端末での電波強度などから位置を推定するもので、GPS ほど精度は高くないものの、GPS が使えない屋内などでも使用できる利点があります。(詳しくは 「wifi 位置情報 仕組み」 とかでググってください)

今回は、GPS ほどは電池を消費しない、WiFi による位置測位がどれ程の精度か、ためしに自分が会社から帰る道程で計測してみました。

環境

使用端末: IS03 移動ルート: JR金山駅 → 二川駅 (共に愛知県) 移動手段: JR東海道線・特別快速 (Max 時速100km/h くらい?) 移動時間: 約1時間

計測方法

1分に1回計測を行う。 GPS(GPS_PROVIDER) と WiFi(NETWORK_PROVIDER) を同時に計測開始する。 GPS を起動し、計測が完了したらすぐにGPSを終了する。1分後また起動…その繰り返し。

計測結果

まず GPS です。画面左上から右下へ向かうルートです。73点測位されました。(★は気にしないで下さい。私のお気に入りの場所です(^^)

"1"

つぎに WiFi です。こちらは 65 点測位されました。Android の位置取得の仕組みは位置情報が変化しないとイベントが発生しないため、GPS よりもやや少なくなっています。それでも予想外の多さでした。

"2" "3"

途中、ヒゲのようなものが出ています。大きな誤差のように見えますが、異常なのは1点だけです。 それを削除したのが 2枚目の画像で、キレイな線になっています。 このようなヒゲができる原因としては、WiFi では無線ルータの ID に対して位置を付与するため、その無線ルータが引越しなどで移動すると、付与した位置とズレてしまうことになります。 推測ですが、このような「移動した無線ルータ」から位置を取得してしまったのではないかと考えます。

2010.12.29 追記

このヒゲ、Accuracy で判断できないのか?と @RKisato さんからご指摘いただきましたが、この点の Accuracy は 5000m 、しかし実際はもっとズレています。他にも Accuracy が 5000 に近い点は複数ありましたが、ここほどずれていませんでした。なので、Accuracy も判定基準に成り得ないと思っています。

GPS と WiFi(ゴミ削除後)を重ねてみました。

"4"

意外な程、ぴったりと重なっています。もっと拡大すると1~2km ズレているところもありますが、俯瞰した地図では、 WiFi 測位は GPS と比べてもまったく問題とならない精度であることが分かりました。

懸案

  • 今回は電車に乗っての測位でした。線路の周りには家屋がたくさんあり、そこでは家庭用の無線ルータが数多く使われています。つまり今回のケースは WiFi 測位に有利な環境だったと想像できます。これが山岳地帯など家屋(無線ルータ)の少ない地域だともっと精度が落ちていたと思われます。
  • 同時に GPS でも測位していた事により精度が向上した? Android では、GPS を有効する時に、そのデータを(個人が特定できない程度に)Google に送信する事に同意するよう求められます。これも推測ですが、GPS と WiFi がどちらも有効な場合、GPS の測位結果を、最寄りの無線ルータの緯度経度として登録するような仕組みが動いているのではないかと思います。これにより、実は WiFi 測位の精度を改善しながら計測していた可能性があります。
  • WiFi も無効だったらどうする? GPS 程ではないにせよ、WiFi も電池は消費するので、電池の持ちにウルサイ人は、好んで WiFi を OFF にしています。その時に NETWORK_PROVIDER を使って位置を測位するとどうなるのか?恐らく携帯電話の基地局から位置が側位されるはずです。その際の精度も検証の必要があります。

2010.12.29 追記

検証しました → 基地局での位置測位の精度を調べてみた

2010.12.29 追記

ここで示した地図上の軌跡は「時間軸」が考慮されていません。一見、「同じ時刻で同じ位置」であるように見えますが、同じ位置で見たときに時刻がズレているかも知れません。(というより必ずズレはあって、それが許容範囲内かどうかがポイントですが)

まとめ

  • WiFi による位置測位は、予想よりも高い精度であることが分かった。
  • しかし、場所を変えて検証する必要がある。
  • ヒゲの対策を盛り込めば、十分に実用できるレベルである。
  • Android が普及すればする程、Google は情報を手にし、WiFi 測位の精度も上がっていきます。いずれ GPS を凌駕する日が来るかも?です。