| サンプル・プログラム | |
| サンプル・プログラムの流れ | ||
このプログラムは NTT DoCoMo の GPS レシーバ搭載携帯電話専用である。前述の情報を使えば、簡単に他社キャリアに対応できる。
|
||
| 携帯電話の識別 | |
|
プライバシー保護の観点から、あらかじめ設定された携帯電話の情報だけ拾うことにした。 そのために、携帯電話のシリアル番号判定を行うユーザー関数 isCellPhone を用意した。判定ロジックは、「PHP でユーザー・アクセス情報を表示する」を参照のこと。 また、あらかじめ登録しておく携帯電話のシリアル番号(HTTP USER AGENT で示される文字列)は、グローバル変数 $CellSerials に配列の形で用意しておく。
0013: /** |
|
| 測地系の違い | |
|
携帯電話が返す緯度・経度には 2種類の座標系がある。いわゆる「日本測地系」と「世界測地系」である。同じ地点でも、測地系が違うと、緯度・経度にして 12秒ほど異なる。これは大きな違いだ。 そこで今回は、表示する緯度・経度を世界測地系(WGS-84)に統一することにした。 明治初期、当時の東京天文台(東京都港区麻布台 2-18-1)で行った観測によって日本経緯度原点が定められた。ここを基準にした三角測量によって全国の緯度・経度が測定された。これが日本測地系である。 一方、GPS衛星で測量している世界測地系の一種を WGS-84 と呼ぶ。 日本測地系では、1841 年に定められたベッセル楕円体の地球の長半径(6,377,397.155m)を用いてきた。一方の世界措置系では、1980 年に定められたGRS80 地球楕円体の長半径(6,378,137m)を利用している。同じ地点でも、測地系が違うと、緯度・経度にして 12秒の差が生じするのである。 携帯電話が日本測地系を返す場合には、ユーザー関数 tokyo_wgs84 によって世界測地系に変換する。 今回は使わないが、世界測地系を日本測地系に変換するユーザー関数 wgs84_tokyo も用意した。 いずれも近似式なので、日本以外で使うと誤差が発生することがある。
0046: /** |
|
| 参考サイト | |
|
|
|
|
|
|
|
2007年10月15日更新
写真と記事 (C)2007 studio pahoo
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 |
