可能性の広がる位置推定技術。ケータイやカーナビ、モバイル端末での位置推定の仕組みを、具体的な製品や実装方法を交えて説明
GPSを搭載した携帯電話の普及などによって、位置情報は単に道案内として利用されるだけではなく、位置情報に関連付けられた天気・お店などさまざまな情報が得られるようになってきました。
また、近年の無線通信技術の進歩によって、大量の情報がどこでも得られるような環境も整ってきています。これに合わせて、いままで携帯電話などを中心に利用されてきた位置情報が、PCにも広がりを見せています。
例えば、2009年1月の時点では、位置情報を取得する機能を搭載したノートPCが登場しているほか、Windows 7のベータ版には、位置情報に関する項目が標準で追加されています。
本連載では、可能性が広がりつつある位置情報に関する技術について、具体的な実装方法を交えて紹介していきます。
まず位置情報の基本となる測地系から見ていきましょう。
現在地を知るためには、まずその基準となる座標系を定める必要があります。地球上での位置を表すための基準となる座標系および地球の形状を表す楕円体を総称して「測地基準系」(測地系)と呼びます。
測地系は、各国における測地系の考え方、基準点の取り方の違いによって現在100種類以上存在していますが、近年では人工衛星などを利用して、地球規模での測量が行えるようになったことから、世界共通の測地系すなわち「世界測地系」を利用しようとする動きが活発になってきています。
日本では、明治時代に天文観測によって定めた「日本測地系」を長年用いてきましたが、2002年の測量法の改正によって、「世界測地系」(より正確には、IERS(国際地球回転観測事業)が定めたITRF系(International Terrestrial Reference Frame:国際地球基準座標系))を利用することとなりました。
なお、日本測地系と世界測地系の間には地域により500m程度のずれがあるため、日本測地系で測定されたデータを世界測地系に合わせて利用する場合には変換を行う必要があります。この変換については、国土地理院で提供している変換表[1]や一般に公開されている変換式(近似式)を利用してください。
一方、米国では、軍事利用を目的に開発されたGPSの値を基準とした世界測地系(WGS-84)が用いられています。WGS-84は、現在、多くの機器やサービスなどで採用されているため、どこかで耳にしたことがある方も多いことでしょう。
WGS-84と国土地理院が採用しているITRFとの違いは、1cm以下といわれていますので、実用上は同一と見なして差し支えありません[2]。本連載では、特に断りがない場合にはWGS-84系を利用します。
ケータイやカーナビなどでは、さまざまな方法を利用して位置情報を取得しています。次にその仕組みを見ていきましょう。
GPSは、米国によって開発された地球上での現在位置を知るためのシステムです。このシステムでは、上空約2万メートルを周回する30個程度のGPS衛星から発信される電波を受信機で受けて現在位置を推定します。電波には、衛星の軌道情報と原子時計の正確な時間情報が含まれており、4個以上のGPS衛星から電波を受信することができれば、測定地点における3次元的な位置および原子時計の時刻が得られます。
ただし、電波は電離層や対流圏を通過する際に遅れを生じるため、単独の受信機を利用して求めた値には数十m程度の誤差が含まれます。この誤差は時間的・空間的に変化しますが、その変化は緩やかであるため、測定したい場所の近くにある基準点での同時刻の測定データを利用して補正するなどして、数cm〜数mm程度まで誤差を小さくできます。このように非常に高い精度で位置が求められるGPSですが、測定が行えるのはGPS衛星からの電波が十分に受信できる場合に限られます。
なお、以前は米国の軍事的な事情により、意図的な誤差が含まれていましたが、2000年以降はこの誤差の挿入が解除されています。
一般にGPS搭載といわれている携帯電話は、GPSからの電波を受けられない室内や地下でも位置を取得することが可能です。これは通話・通信に利用している基地局の位置情報を利用することによって実現されています。
なお、電波は建物などによって複雑に反射・吸収されるため、誤差は数十mから数km程度となります。携帯端末によっては複数の基地局を利用して位置情報を求めることで、より高い精度の位置情報が得られるものもあります。
カーナビではGPSのほかに、車に取り付けられた車速センサ、ジャイロ、カーナビに内蔵した地図とのマッチングなどの技術によって、自律的に位置を推定する機能が搭載されています。
さらに、FM電波で提供されるGPSの誤差補正用データといった情報も駆使することで、より高い精度の位置情報を得ています。
最近では、普通のノートPCでも位置を知ることができるようになってきました。次にその方法を見ていきましょう。
各プロバイダが利用者向けに提供しているIPアドレスとプロバイダの所在地情報を対応付けるデータベースを構築することで、IPアドレスから現在地を大まかに推定することが可能です。この方法を利用したさまざまなサービスが提供されています。
例えば、Google AJAX APIに追加された、google.loader.ClientLocationを利用することで、変換を行うことが可能です。この方法での誤差は数kmから数十km程度ですが、世界中のほとんどの地域がサポートされています。
無線LAN搭載機器では、認証を行わずとも、周囲の無線LAN機器のMACアドレス情報や電波の強度が取得できます。この情報と既知の位置を関連付けるデータベースを構築することで、Wi-Fiの電波を利用した位置推定が可能です。このような情報を手軽に利用できるものとしてクウジットのPlaceEngine[3]があります。
誤差は5mから100m程度です。都市部では、このシステムを利用することが可能なエリアが広がっています。また、PlaceEngineにはユーザー自身がこの情報を追加できる仕組みも用意されています。
最近、PCなどに接続可能なGPS機器が5000円程度で入手できるようになってきました[4]。
これらのほとんどはUSB(シリアル通信)経由でデータを取得できますので、多くのアプリケーションから容易に利用できます。
次回以降では、位置情報を取得・利用するための方法を具体的な実装例とともに見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.