2017年5月6日
Andoidの安価なスマホ(Zenfone Go)で、GPSの機能をいじりまくってみたのですが、ロシアのGLONASSが受信できたり、時刻のデータも衛星から受信できたり、Google Mapに行動ががっつり記録されたりと、多数の発見がありました。
GPSは、地図上の場所を教えてくれるシステムですが、AndroidのAPIでは、GPSから以下の情報が得られます。
項目 | 説明 |
---|---|
緯度 | 地球上の南北方向の座標。赤道が0度で、北極だと北緯90度になる。 |
経度 | 地球上の東西方向の座標。日本は東経135度付近らしい。 |
高度 | おおむね海面からの高さ。 |
精度 | 計測できた座標の精度 |
地上速度 | 速さ |
日時 | 現在の日時 |
緯度と経度から、地図上の位置が分かります。比較的正確なので、走っている道路などを当てることができます。位置の誤差は「精度」として得られます。Google Mapの現在位置を示す青い丸マークが、状況に応じて大きさを変えていくのは、精度の情報を示しているのでしょう。
高度が分かるというのは、なにげに面白いことですが、調べた限りでは、実際の海抜よりも数十メートル高く、それなりに誤差を伴うようです。
地上速度は、じっと立ち止まると0、歩き出すと秒速1〜2メートル程度を示しました。新幹線や飛行機の速度を表示するアプリで使っているのかもしれません。
GPSは、電波時計のように、日時のデータも送っています。受信したときは、端末の時計とぴったり合っていました。GPS時計というのは、GPSから時刻のデータをもらって動いている、ということがなんとなく分かりました。
ちなみに、Android端末自身の時計合わせは、GPSからではなく、ネットワークを通じで行うようになっています。
GPSは、アメリカが作ったGPS衛星を使ったシステムですが、いまどきの端末は、ロシアや中国の衛星の信号も受信できるようになっているようです。
AndroidのAPIでは、衛星のPRNの番号ごとに、電波のS/N比を表示できるようになっています。したがって、どの衛星から電波が届いているかを知ることができます。
PRNの番号ごとに、S/N比を表示するアプリを自作し、近所での受信状況を調べてみました。なお、GPSの受信アプリは、Google Playなどで多数配信されているので、好みのものをダウンロードして使うとよいでしょう。
PRNの番号と、人工衛星の種類は、ネットで調べた限りでは、以下のように対応付けられているそうです。
PRNが1〜32であれば、アメリカのGPSから受信
PRNが65〜96であれば、ロシアのGLONASSから受信
PRNが200を超えているときは、中国のBeidouから受信
PRNの番号と衛星の種類との対応については、こちらのページに、いろいろなな事情が書いてあるので、参考になるでしょう。
Zenfone Goの画面を見た限りでは、GPSとGLONASSからの電波は良好に受信しているようですが、Beidouからの電波は届いていないようにも見えました。
外に出ると、10個以上の衛星から電波が得られます。S/Nの値は、良好な衛星で30くらいでした。それ以外は20くらいでした。部屋の中にいると、数個程度の受信となることが多く、S/Nも20を下回ることが多くなります。受信の感度は、端末により異なると思うので、安価なZenfone Goは、それほど優秀ではないと思われます。
外交では必ずしも仲の良くないアメリカ・ロシア・中国が、スマホに向けて電波を仲良く送っているというのも、不思議なものです。
いずれの衛星も、本来は軍事目的で、ミサイルを標的に正確に当てるために存在しているという一面もあるそうです。とういか、本来の目的はこっちのほうです。
握手しながら、足で蹴り合うのが外交とかいうけど、そういうことなのだろうか・・・。
今は、Zenfone Go(ZB551KL)のような安いスマホにも、GPSの受信機能がついています。
Google Mapなどで、現在位置の表示を有効にすると、今いる場所が地図に表示されて、便利です。
ただし、位置が表示されたからといって、それがGPSで得た位置とは限らないようです。例えば、こんな方法でも位置を取得しています。
携帯電話の基地局の電波を調べる
付近の無線LANのアクセスポイントの電波を調べる
したがって、GPSの電波が入らない場所にいても、地上からの電波にあふれている都会であれば、だいたいの位置は分かるようになっています。
端末の設定を変更して、GPSだけで位置を調べるようにすれば、GPSからの位置に限定して、表示させることもできます。
ちなみに、無線LANルーターを移設すると、スマホの位置表示が、移設前の地点を表示してしまうことがあります。私も、実家に無線LANルータをあげたら、実家にいるのに自宅の場所が表示されて困りました。ルーターをプレゼントしたり、中古に出したりするときは、気に留めておいたほうがよいかもしれません。
Android端末が位置情報をキャッチすると、Googleアカウントの設定によっては、位置情報の履歴がGoogleに記録されます。
Google Mapのアプリで、「タイムライン」を選ぶと、いつ・どこに自分がいたかを、事細かにたどることができます。
なんだかもう、すっかり監視されまくっています。
宇宙から、中央コンピュータが、全ての人類の位置を補足し、管理する時代、みたいなのが、21世紀になって、ついに現実となりました。
あとは、コンピュータが人々の行動を全て管理すれば、ディストピアもののSFが現実になりましょう。
トップページ → なにげなく自由研究(もくじ) → 実はロシアと中国も参加してます--AndroidのGPS機能をいじりまくる
著者のメールアドレス・Twitterアカウントは、トップページからご覧ください。
製作・著作:杉原 俊雄(すぎはら としお)
(c)2017 Sugihara Toshio. All rights reserved.