AppBank の主任です。
GPS を搭載していない iPod touch や Wi-Fi 版 iPad の現在地を表示できることをご存知でしょうか。
位置情報サービスをオンにして Wi-Fi に接続していれば、様々なアプリで現在地を測定・表示することができます。
いったいどのような仕組みなのでしょうか? そこで今回は「Wi-Fi だけで現在地を測定できる仕組み」を解説いたします。
Wi-Fiで現在地を測定する際に必要なもの
Wi-Fi だけで現在地を測定(測位)するには「Wi-Fi アクセスポイント」と「インターネットに接続できる環境」が必要です。
さらに設定アプリの「位置情報サービス」と「Wi-Fi」をオンにする必要があります。
ちなみに Wi-Fi での測位は iPod touch や Wi-Fi 版 iPad だけではなく、iPhone や Cellular 版 iPad でも可能です。
何故かというと A-GPS の携帯電話基地局のように Wi-Fi アクセスポイントを使えば、 GPS 衛星の特定が迅速に行え、バッテリ消費量の増加も防げるからです。
※A-GPS についてはこちらの記事をご覧ください。→iPhoneで現在地を表示する時に欠かせない「A-GPS」って何?
本稿では iPod touch を例に Wi-Fi だけで測位する仕組みをご紹介します。
Wi-Fiで測位する仕組み
1. ビーコン信号をスキャンする
現在地を測位する際、iPod touch は周囲にある複数の Wi-Fi アクセスポイントから発信される電波、おそらくビーコン信号をスキャンします。
ビーコン信号とはそのアクセスポイントに接続する際に必要な情報。内容は SSID(ネットワーク名)・MAC アドレス・電波の強さなどです。
この信号は Wi-Fi を使ってウェブページを見たり、メールを送受信する際に使う電波とは異なるもので、誰でも受信することができます。
2. Wi-Fiアクセスポイントの位置を特定する
ビーコン信号を元に、Apple が管理する「クラウドソースデータベース」から該当するアクセスポイントの位置情報をダウンロードします。
これでアクセスポイントの大まかな位置が分かります。
3. アクセスポイントからの距離を割り出す
これでアクセスポイントの位置が分かったので、最後にそのアクセスポイントからの距離を割り出す必要があります。
それにはビーコン信号に含まれる「電波の強さ」を使います。電波は発信源から遠くなるほど弱くなるので、これを元にアクセスポイントからの距離を iPod touch 上で割り出します。
このようにして Wi-Fi だけで現在地を測定することができます。
Wi-Fi を使った測位で最も重要なのが、基準となるアクセスポイントの位置情報をまとめた「クラウドソースデータベース」です。
これがなければ Wi-Fi を使った測位は行えません。Apple はどのようにしてアクセスポイントの位置情報を入手しているのでしょうか?
iPhoneがアクセスポイントの位置情報を収集
Wi-Fi アクセスポイントの位置情報は、位置情報サービスをオンにしている iPhone(恐らく Cellular 版 iPad も)が収集して Apple に送信しています。
その手順は以下の通りです。
位置情報サービスと Wi-Fi がオンになっている iPhone は、付近の Wi-Fi アクセスポイントのビーコン信号をスキャンします。
次にその信号の内容(SSID・MAC アドレス・電波の強さなど)とその時の位置情報を、匿名・暗号化した上で Apple に送信します。
こうして入手した情報を整理してまとめたのが「クラウドソースデータベース」です。
Googleなども同様のデータベースを構築
こうしたデータベースを構築しているのは Apple だけではありません。
例えば Google の「Google Location Service」やクウジット社の「PlaceEngine」も同種のデータベースを持ち、Wi-Fi による測位サービスを提供しています。
Google Location Service は Android 端末などで、PlaceEngine は利用者による登録や位置情報検索などで情報を収集しています。
参考(順不同)
- iOS 6:位置情報サービスについて(Apple)
- Apple (日本) – Apple Press Info – 位置情報データに関するAppleのQ&A
- グーグル、Wi-Fiに接続されたモバイル機器の位置情報を公開 – CNET Japan
- Wi-Fi対応デバイスの位置情報公開を制限したグーグル–処置に対する専門家の見解は – CNET Japan
- Google 位置情報サービスでのアクセス ポイントの設定 – マップ ヘルプ(Google)
- 無線LAN・位置情報 | PlaceEngine | Koozyt