2014年5月28日水曜日

AndroidのFused Locationでの精度調査

仕事の関係で調査が必要でしたので、AndroidのFused LocationにてGPS、Wi-Fi、携帯ネットワークを使った場合に精度がどのようになるのか検証してみました

以下の条件での検証です
  • Priorityは「LocationRequest.PRIORITY_HIGH_ACCURACY」
  • permissionは「android.permission.ACCESS_FINE_LOCATION」
  • 仕事場近くの道端にて同じ場所に留まった状態で計測
  • Wi-Fiにはe-mobileのPocket Wi-Fi(GL06P)を使用
  • 携帯回線はDocomo
  • 計測は、それぞれの条件で7回(画像の2枚めの前半は重複した情報です)

GPS + Wi-Fi + 携帯ネットワーク


精度は25m~63mくらいでした

複数のプロバイダーを利用しているのでgetProviderの値が[fused]になるのかと思っていましたが、あとの携帯ネットワークだけの時も同じ値となります。そのためFused Locationの場合getProviderは常に[fused]を返すようですね




GPS + 携帯ネットワーク


次はGPS + 携帯ネットワークです
33m~50mと、最初の Wi-Fiも利用したときとあまり変わりませんね
Wi-Fiは精度に影響がなく、携帯ネットワークがあれば、そこそこ精度が出るのかもしれません




 Wi-Fi + 携帯ネットワーク

次に検証したのがWi-Fi + 携帯ネットワークです

精度は60m以上の精度で上の2つと比較すると精度は良くないですが、利用用途によっては十分に利用可能と思います





携帯ネットワークのみ


最後は携帯ネットワークのみの結果です
このデータだけ計測しながら移動しています
最初の3件目のデータまでは、その場所に留まっていたのですが、4件目は仕事場に向かって歩いています
そして、5件目のデータで仕事場のマンションの通路に入った所で精度が一気に悪くなりました
3km近い誤差が出ています
その後、仕事場の部屋に戻ると精度が33mになっているので、場所によって大きく誤差がでるようですね
誤差が大きくでた場所はGPSも反応しない場所なので、この場所で精度を出すのは現状では難しいと思われます




まとめ


以上の結果からは、Fused Locationを使った計測は精度が高いように思われます
今回の検証ではデータが少なすぎて答えは出せませんが、精度を判定して大きな誤差が出そうなデータは捨てていけば、それなりに高い精度で位置測定できそうです
しかし、状況によっては数kmの誤差もありえます

精度は良くても20mくらい。状況によっては精度がもう少し良くなるかもしれませんがピンポイントでの位置特定に利用することは出来ませんね
ピンポイントでの位置特定にはBeaconや音波などなど他の技術と組み合わせて精度を高めることで実現できるかもしれませんが、それはまた別の機会に調査してみたいと思います

以上、せっかく調査してみたのでブログに記事としてまとめてみました

2014年5月12日月曜日

Remote TestKit Webを試してみた

以前(Remote TestKitで実機の動作テスト)で紹介したRemote TestKitがブラウザだけで利用できるようになったので実際に試してみました

まず、ログインすると端末の選択画面がでてきます
専用ソフトの時とだいたいおんなじ感じですね




さっそく、無料でレンタルできる端末の中から「Samsung Galaxy S4」をレンタルしてみます
一覧の右端にある[レンタル]というボタンを押すと、確認ダイアログが表示されます
ダイアログにある[レンタル]を押すとすぐにブラウザ上に端末の動作画面がでてきます




リモート端末にアプリをインストールするには、画面右のメニューから[ファイルを選択]でapkファイルを選択して、[アプリをインストール]のボタンを実行するだけです

今回はApiDemos.apkをインストールして動かしてみました

1.9MBほどあるApiDemos.apkのインストールが完了して動作するまで20秒くらいで、思っていた以上に素早くインストールできました

ドラッグや選択などの動作はリモートなのでそこそこの遅延はあります
試しにApiDemoにあるOpenGL ESのサンプルを動かしてみましたが、少し遅いかな?と感じますが問題なく動作しました




ブラウザを使ってWebサイトを閲覧することもできるのでスマートフォン用のHTML検証にも使えそうです


試しに自分のところのホームページを表示させてみました


これまで専用ソフトをインストールして利用する必要がありましたが、これからはブラウザだけで手軽に複数端末でのテストが行えるのは非常に助かります

スマートフォンのアプリやサイトを開発をされている方はぜひチェックしてみてください!

ちなみに、iPhoneもレンタル可能です


■Remote TestKit Web Browser Version
https://webapp.appkitbox.com/

■Remote TestKit
http://appkitbox.com/testkit/