24
GPS 機能付き携帯電話を用いた他種間での位置情報表示システム 日付 1/ 27 5105033 今本 浩平 5105226 牧野 秀春

GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

GPS 機能付き携帯電話を用いた他種間での位置情報表示システム

日付 1/ 27

5105033 今本 浩平

5105226 牧野 秀春

Page 2: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

〇目次

1.はじめに ……………………………………………………………………………… P3

2.関連研究 ……………………………………………………………………………… P4

2-1.Perl ……………………………………………………………………………… P4

2-2.Google Static Maps ……………………………………………………………… P4

2-3.GPS 機能付き携帯電話 …………………………………………………………… P5

2-4.Apache HTTP Server ……………………………………………………………… P6

3.システムの提案 ………………………………………………………………………… P7

3-1.基本的アイデア …………………………………………………………………… P7

3-2.全体像 …………………………………………………………………………… P7

3-3.詳細設計 …………………………………………………………………………… P8

3-3-1.GPS 情報の取得 ……………………………………………………………… P9

3-3-2.位置情報の割り出し方 …………………………………………………… P12

3-3-3.位置情報をログとして保存 ……………………………………………… P14

3-3-4.ID 情報を読み込む ………………………………………………………… P15

3-3-5.Google Static Maps で表示 ………………………………………………… P16

3-3-6.Apache HTTP Server の使用 ……………………………………………… P17

4.将来の展望 …………………………………………………………………………… P18

まとめ ………………………………………………………………………………………… P18

参考文献 ……………………………………………………………………………………… P19

謝辞 …………………………………………………………………………………………… P19

Page 3: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

1.はじめに

GPS 機能付き機器が様々登場しつつある。例えばカーナビゲーション等が非常に良い例で

あり、GPS から位置情報を取得し、現在の自分の位置がわかるシステムである。この GPS 機

能であるが、近年は携帯電話に搭載されつつある。その理由として警察や消防署が緊急通

知を受けた際に、その場所の情報を正確に把握できるようにする為、2007 年 4 月以降に携

帯電話に GPS 機能を付けることが義務化されたからである。これにより、親が子供に GPS

機能付き携帯電話を持たせる事により、子供の現在位置を親が把握し、結果として防犯対

策になる。つまり、相手の位置情報を正確に把握することができ、また、自分の位置情報

も自分以外の第三者にわかる GPS 機能は非常に便利であり、今後様々なモバイル機器に搭

載されると考えられる。

しかし、現在の GPS 機能付き携帯電話には問題がある。そのひとつに、現在他社の携帯

電話同士では位置情報のやりとりを行うサービスが存在しない。例えば、Docomo の携帯電

話と Docomo の携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

るが、Docomo と au とでは位置情報を交換するサービスが存在しない。この原因として、そ

れぞれの携帯会社ごとに GPS 情報の取得方法が異なるからである。つまり、同じ携帯会社

同士だとお互いの位置情報をひとつのサーバで管理可能だが、他社の携帯電話同士だとお

互いの位置情報の管理手法が異なるため、位置情報のやりとりが不可能なのである。

そこでこの問題を解決する為に他社の携帯電話同士でも位置情報を交換し、お互いの位

置を地図にて表示可能なシステムを提案する。提案するシステムは異なる携帯会社の位置

情報を吸収する Web アプリケーションであり、Web サーバと CGI を用いて構築する。これに

よりそれぞれの携帯電話に搭載される GPS の位置情報を Web アプリケーションに一度通知

する。その後、お互いの位置にマーカ(自分のいる位置)を付けた画像ファイルをお互い

の携帯電話に表示させる事により、お互いの位置を地図にて確認する事が可能なシステム

である。また従来のサービスでは、1対1の通信が基本であった。例えば、AさんとBさ

んとCさんが待ち合わせした際に、お互いの位置を確認する場合、AさんとBさんが通信

後、BさんとCさんが通信し、Bさんの位置へ集まりことで3人が集合する事が可能であ

った。しかし、これでは操作に煩雑さが増える他にも、もっと大勢でひとつの場所に集合

するには非常に不向きなシステムである。そこで、本システムでは、固有 ID を登録するこ

とにより、複数人数の位置情報を取得した地図が表示される。つまり、複数人数にて、位

置情報の交換が可能となり大勢での待ち合わせ時等に非常に有効である。今回実装するシ

ステムには最大4人まで地図上に位置情報を表示する事が可能であるが、システム的には

何人でも位置情報の交換が可能である。

Page 4: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

2.関連研究

2-1.Perl

Perl(Practical Extraction and Report Language)はラリー・ウォールによって作ら

れたインタプリタ方式のプログラミング言語である。Perl 言語は、設計、開発等を重視し

た言語と比べると実用性を優先にしているプログラム言語であり、C言語やシェルスクリプ

トなどの他のプログラミング言語のすぐれた機能を取り入れている。Web ページの掲示板や

チャットなどの CGI やシステム管理、テキスト処理などのプログラムを書くのに広く用い

られている。代表的なアプリケーションは Movable Type などである。

言語処理系としての Perl はフリーソフトウェアであり、アーティスティック・ライセン

スおよび GPL のもとで配布されており、誰でもどちらかのライセンスを選択して利用する

ことができる。UNIX や Windows などの多種のプラットフォームの上で動作する。

2-2.Google Static Maps

Google Static Maps は、Google 社が提供しているオンライン地図情報サービスである。

従来から Google 社が提供している、Google Map というオンライン地図情報サービスが存在

する。Google Map は検索した地図の Web ページを動的に変化させる Ajax という技術を全面

的に採用することにより、マウスのドラッグで地図をスライドさせたり、ホイールを回転

My サーバ Google サーバ

①Google static map API に値を渡す

②GIF 形式の画像が返ってくる

図1 Google Static Maps API で返ってくる GIF 画像の例

Page 5: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

させることで拡大縮小したりといった操作をブラウザ上で直感的に行なうことができる。

しかし、携帯電話などモバイル端末では Ajax 技術は使用できないため、Google Static Maps

が開発されたのである。Google Static MapsはGoogle社のサーバにブラウザでアクセスし、

その際 URL に地図の場所、画像のサイズ、ズームレベル、マップタイプ、地図上の場所へ

のオプションマーカーの配置などのパラメータを指定して付加すると要求に応答し GIF 形

式の地図画像が送られてくる。

2-3.GPS 機能付き携帯電話

GPS(Global Positioning System) は、全地球測位システム、汎地球測位システムとも言

い、地球上の現在位置を調べるための衛星測位システムである。元来は軍事用のシステム

で、ロラン-C (Loran-C: Long Range Navigation C) システムなどの後継にあたる。

ここ数年では携帯電話に GPS 機能が付いたものが発売され、2007 年 4 月以降には警察や

消防署が緊急通知を受けた際に、その場所の情報を正確に把握できるようにする為、携帯

電話に GPS 機能を付けることが義務化された。現在 GPS 機能が付いている携帯電話は調査

によると約 50%の人が自分の携帯電話に GPS 機能が付いていると答え、GPS 機能付き携帯

電話の普及率は非常に高くなってきている。アンケートの中には GPS 機能が付いているか

解らないと答えた人もいることから GPS 機能が付いた携帯電話を持っている人は実際にも

う少しいるのではないかということが推測され、GPS 機能が付いた携帯電話の普及率は調査

より高い可能性がある。

GPS 機能が付いている携帯電話は au、Docomo、Softbank の代表的な3社から発売されて

いるが、上記で述べた約 50%の携帯電話に GPS 機能が付いていると答えた人の内、各携帯

電話会社3社の中で au が GPS 機能が付いている携帯電話を持っていると答えた人の割合

図2 携帯電話に GPS 機能が付いているかのアンケート(CNET JAPAN 調査)

Page 6: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

が8割以上となっている。これは各携帯会社の中で au は 2002 年に GPS 機能が付いている

携帯電話を発売し、積極的にその機能を活かしたサービスを展開すると共に、GPS 機能が付

いた携帯電話を多数発売していた事が大きな理由であると考えられる。GPS を利用した位置

情報サービス「GPS MAP」を 2002 年 7 月からスタートする等と、早期から GPS 機能を活か

したサービスを展開していたことにより全体の8割以上と高い普及率になっているのが伺

える。

2-4.Apache HTTP Server

世界中でもっとも使われている Web サーバソフトウェアであり、大規模な商用サイトか

ら自宅サーバまで幅広く利用されている。単に Apache とも称されている。 開発は、Apache

ソフトウェア財団の Apache HTTP サーバプロジェクト(http://www.apache.jp/)で行われ

ている。Apache ライセンスの下でソースコードが公開および配布されており、代表的なオ

ープンソース・ソフトウェアの一つである。

Apache は、主にワールドワイドウェブ上で静的または動的なコンテンツを公開するため

に使われる。多くのウェブアプリケーションは、Apache が提供する環境と機能を想定して

設計されている。また、Apache は LAMP (Linux、Apache、MySQL、PHP/Perl/Python) や LAPP

(Linux、Apache、PostgreSQL、PHP/Perl/Python) と呼ばれる非常に人気のあるウェブサー

バコンポーネントの一つでもある。さらに、Apache はいろいろな商用パッケージ、例えば

Oracle Database や IBM WebSphere Application Server に組み込まれており、Mac OS X や

NetWare 6.5 の標準 Web サーバにもなっている。

図3 携帯電話会社ごとの携帯電話に GPS 機能が付いているかのアンケート

(CNET JAPAN 調査)

Page 7: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

Yahoo は 1996 年より Apache を利用しており、現在では数千台の Web サーバにカスタマイ

ズした Apache を導入して、一日数十億のアクセスを処理していることでもその信頼性の高

さがわかる。

Page 8: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

3.システムの提案

3-1.基本的アイデア

現在の GPS 機能が付いた携帯電話の問題点として、各携帯電話会社の携帯電話は GPS そ

れぞれ位置情報の取得方法が異なる。携帯電話会社によって GPS の情報取得が異なる理由

まではわからないが、携帯電話の契約会社によって異なる事が事実であり、そのため、自

分と異なる携帯電話会社の携帯電話との位置情報の交換を行う事が可能なサービスが存在

しない。例えば、相手の位置情報を正確に把握したい時に他社の携帯電話同士では相手の

位置を取得できない。そのため、お互いの位置が解らないといった事態になり、携帯電話

での通話で自分のいる位置を相手に口頭で説明しなければいけない。地理がよくわかる場

所ならば、口頭で説明してもよいが、全く知らない土地ならば口頭で説明するにも地理が

わからないため相手に自分の位置を正確に伝えるのは困難である。

この問題を解決する為に CGI を用いた Web アプリケーションを提案する。Web アプリケー

ションを用いる事により、位置情報の依存関係を Web アプリケーションで吸収、その結果

位置情報にて取得できる経度、緯度の座標位置を調べる。その後、取得してきた位置情報

から携帯用の地図を表示する。地図の表示方法として Google Static Maps API を用いる事

により、携帯用地図を表示する。この地図にマーカを入れる事により、相手を人目でわか

るシステムにする。更に Web アプリケーションを用いることにより、取得してきた位置情

報を保持し、それらをデータベース等に登録することで、複数人数の位置情報を共有する

システムを提案する。これにより、口頭で複数人数に位置情報を伝えるよりも効率よく自

分の位置を複数人数に伝える事が可能となる。

3-2.全体像

本システムは CGI を用いる事により、GPS を起動可能である Web アプリケーションを構築

する。まずシステムの全体を説明する。今回、プログラム言語として CGI を用いる理由と

して、携帯電話会社に記載されている GPS リファレンスが CGI であったため、CGI を採用し

た。携帯電話からの GPS 取得は携帯電話会社によって異なる。これを吸収するため携帯電

話会社毎の専用 CGI を作成する。その後、携帯電話から作成した CGI にアクセスがあれば、

どこの携帯電話会社からのアクセスを自動的に判別し、その携帯電話にあった CGI を自動

的に起動する。この CGI を搭載したサーバ(以下 My サーバ)に専用 CGI を搭載する。GPS

衛星から携帯電話の位置情報を取得してき、その情報を元に地図を作成する。地図の作

Page 9: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

成方法として、前述したが Google Satic Maps を利用する。Google Satic Maps は Google

が提供するサービスのひとつであり、無料である。このサーバへ位置情報を渡す事で、自

動的に自分がいる位置をマーカで示した地図画像が自動的に生成されるシステムである。

続いて作成するプログラムの全体を説明する。どの携帯電話からアクセスがあったかを

調べる。調べる方法として、HTTP ヘッダーから携帯電話の種類を判別することが可能とな

る。その後、各携帯電話会社専用 CGI を起動し、携帯電話の GPS 情報を取得する。携帯電

話から取得してきた位置情報には様々な情報が付加されている。その中から経度、緯度の

値を取得する。取得してきた値は度分秒表記なので、それを百分率表記に変換する。その

値を My サーバのデータベース等に保存後、取得した経度、緯度の情報を Google Satic Maps

に渡す。これにより、携帯電話用の地図を表示する事が可能となる。この時、他の人も表

記したい場合、Google Satic Maps への引数を増加することにより、自分以外の人をマーカ

にて表示する事が可能となる。以上がシステムの全体像である。

①CGI にアクセス

②携帯電話へ GPS の起動

⑤GPS 測定⑥測定した GPS の値を送信

⑦取得した GPS の値 を CGI に送信

My CGI サーバ携帯電話

Google サーバ

⑩XHTML ファイルで

地図画像+その他送信

④自分の GPS 機器

の ID を送信

③GPS 起動

⑨地図画像送信

⑧表示情報を送信

⑪表示

携帯電話会社にあった CGI を起動する

図4 全体像の流れ

Page 10: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

3-3.位置情報取得方法

前述したように携帯電話における位置情報取得は、携帯電話会社によって異なる。そこ

で、本章では各携帯電話会社の位置情報の取得方法について述べる。

3.3.1 au における位置情報取得

(1)簡易位置情報による取得方法

au の位置情報を取得する方法として大きくふたつの方法が存在する。そのうちの簡易位

置情報と呼ばれる位置情報の取得方法の説明をする。この簡易位置情報は au の基地局から

位置情報を取得する方法である。そのため、位置情報があまり正確には測定する事ができ

ないが、市町村程度ならば判別する事が可能である。取得には図5の①のような URL を HP

に記述し、携帯電話からアクセスする事で GPS を起動させる事ができる。携帯電話からア

クセスする際に URL が「device:location?~」であれば、その携帯電話に「位置情報を送

信しますか?」等のメッセージが出る。これを許可する事により、位置情報をサーバへ送

信する。サーバへ送信する値として、図5の②のような URL が戻ってくる。この戻ってく

る URL 情報には測地系、座標系、緯度、経度の情報が含まれている。

測地系とは大きく世界測地系と日本測地系のふたつがある。世界測地系とは VLBI(Very

Long Baseline Interferometry)や人工衛星を用いた観測により、定められた国際的な測

地規準系である。対して、日本測地系とは東京天文台の経度・緯度を日本経緯度原点とし

た測地規準系である。この2つの測地系で同じ地点を調べた際に異なる点として、例えば

日本測地系で計測した値を世界測地系で表すと北西方向に約 450m ずれることになる。au の

簡易位置情報にて取得した測地系は世界測地系で統一されている。次に座標系の説明をす

る。座標系とは測地系で調べた座標位置の表記方法である。座標の表記方法には2つの方

法があり、1つは純粋な角度であり、2つ目が度分秒である。au の簡易情報で取得した情

図5 au の簡易情報で取得するための URL と取得した情報の例

①device:location?url=[送り先 URL]

②[送り先 URL]?datum=AAA&unit=BBB&lat=XXX&lon=YYY

○簡易情報による取得

簡易情報なら location と指定

測地系 座標系 緯度 経度

取得結果

Page 11: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

報は度分秒表記で表されている。最後に残りの2つの情報の説明をする。簡易位置情報に

よって取得された経度、緯度の情報は度分秒表記で表されており、緯度は度数の表記が北

緯なら+(または省略)、南緯なら-と表記される。同様に経度は度数の部分が東経なら+

(または省略)、西経では-と表記される。

これらの情報を引数として(GET としての引数として)次の cgi プログラム渡すことによ

り、アクセスした携帯電話の位置情報を元にしたページ表示する事が可能である。

(2)gpsone による位置情報取得

auの位置情報の取得には簡易位置情報の取得の他にgpsoneによる位置情報の取得方法が

ある。gpsone と簡易位置情報との違いは、簡易位置情報は au の基地局からの位置情報だけ

であったが、 gpsone は GPS 衛星からも情報を取得する事が可能である。そのため、簡易情

報よりも詳しい情報を取得することが可能である。gpsone により位置情報取得には、図6

の①のような URL にアクセスする事で gpsone を起動可能である。これにより、図6の②の

ような位置情報を取得できる。取得した位置情報の中には GPS のバージョン、測地系、座

標系、緯度、経度、高度、時間、長軸半径誤差、短軸半径誤差、高度誤差、誤差楕円長軸

角度、測位方法と 12 個の情報が含まれている。

測地系、座標系、緯度、経度の情報は前述した簡易情報とほぼ同じだが違う点は緯度、

経度の座標の度数の部分の表記が図6の②のように、%2b と表記されていた場合は+と、表

記の仕方が違う。

図6 au の gpsone で取得するための URL と取得した情報の例

①device:gpsone?url=[送り先 URL]&ver=1&datum=0&unit=0"

②ver=1&datum=0&unit=0%lat=%2bXXX&lon=%2bYYY&

alt=AAA&time=BBB&smaj=CCC&smin=DDD&vert=EEE&majaa=FFF&fm=GGG

○gpsone による取得

gpsone なら gpsone と指定

高度 時間 長軸 半径誤差

短軸 半径誤差

高度誤差 誤差楕円 長軸角度

測位方法

取得結果

Page 12: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

3.3.2 Docomo における位置情報取得

(1)FOMA による位置情報取得

FOMA での位置情報取得には図7の①の URL を指定した上で lcs という属性を加えてアク

セスする事により、GPS 取得が開始される。アクセス後は図7の②のような情報を取得する

ことができ、取得した情報には緯度、経度、測地系、測位レベルの4つの情報が含まれて

いる。

緯度、経度の取得した情報の座標の表記の仕方は度分秒表記となっている。緯度の情報

の場合は、度数の部分が北緯なら+、南緯なら-と表記されており、経度の場合には東経

なら+、西経なら-と表記される。測地系の値は文字列で表示され、例えば世界測地系で

表示される場合、geo=wgs84 と取得する事ができる。GPS 機能が搭載された携帯電話にてア

クセスした場合は世界測地系となる。ただし、携帯電話の機種によっては wgs84 と wgs が

小文字表記される場合と、大文字で WGS84 と表記される場合もある。測位レベルは3段階

で表記され、水平誤差<50m なら3、50m≦水平誤差<300m なら2、300m≦水平誤差なら

1と表記される。

(2)mova による位置情報取得

mova の位置情報を取得するには2種類あり、GET 型での情報の取得と POST 型での情報の

取得方法がある。図8の①に書かれている上の部分が GET 型にて取得する記述方法であり、

図8の②が POST 型の際の記述方法である。この2つの方法の異なる点は図8の②にように

GET 型なら指定した URL の後ろに各情報が記述されており、この際に取得できる情報には座

標値、測地系、測位レベルの3つの情報が含まれている。これに対して POST 型は取得した

い情報だけを指定して取得できる。取得できる座標値の情報は図8の②のように

N**.**.**.**E***.**.**.**のような座標値が含まれている。この座標値の前 N の文字が N

なら北緯、逆に南緯なら S、また後ろの Eなら東経、逆に西経なら Wと表記される。その他

図7 Docomo FOMA の位置情報を取得するための URL と取得した情報の例

①<a href=”[送り先 URL]”lcs>

②[送り先 URL]?lat=%2BXXX&lon=%2BYYY&geo=wgs84&x-acc=3

○FOMA(一部の機種を除く)による取得

lcs を付加する

緯度 経度 測地系 測位レベル

Page 13: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

の取得できる情報の表記は前述した FOMA と同じである。

3.3.3 Softbank における位置情報取得

3GC 型の簡易位置情報と S!GPS ナビ情報の取得方法は図 9 の①のように location を URL

内で指定する事により、GPS を起動することができる。簡易位置情報と S!GPS ナビ情報の違

いとして、簡易位置情報は基地局からの位置の割り出しであり、精度が粗いというもので

ある。対して S!GPS ナビ情報は携帯電話に搭載されている GPS からの取得であり精度が比

較的高いものである。他の携帯電話会社とは異なり、「location:」と記述した後に簡易位置

情報なら cell、S!GPS ナビなら GPS、端末で優先される測位を求めるなら auto といずれか

を指定する事で取得方法を変える事ができる。これにより、取得できる位置情報が図9の

②のような値であり、取得した値には座標値、測地系、精度の3つの情報が含まれている。

座標値は度分秒表記で表記されており、図9の②のように N**.**.**.**E***.**.**.**

のような座標値が含まれている。この座標値の値の前の Nが北緯なら N、南緯なら S、その

後ろの E の文字が E ならば東経、西経なら W と表記される。測地系は文字列で表記されて

おり、図9の②の値では wgs84 となっており、この場合は世界測地系となるこの時測地系

は、Softbank もデフォルトで世界測地系となっている。位置情報の精度は3段階となって

おり、簡易位置情報(誤差 300m 以上)なら1、S!GPS ナビ(誤差 50m~300m)なら2、S!GPS

ナビ(誤差 50m 以内)なら3と表記される。

図8 Docomo mova の位置情報を取得するための URL と取得した情報の例

①<FORM method=”get” action=”[送り先 URL]”>

<INPUT type=”submit” name=”navi_pos” value=”任意の文字列”>

[送り先 URL]?pos=N**.**.**E**.**.**&geo=wgs84&X-acc=3

○mova(一部の機種を除く)による取得

Type=”submit”と指定 name オプションで navi_pos と指定

座標値(緯度/経度順) {N:北緯、S:南緯、E:東経、W:西経}

測地系 測位レベル

送信方法 get 又は post

②GET 型

③POST 型 FORM タグ action 属性で指定された URL に、取得した位置情報のパラメータ

を付加して送信。

Page 14: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

3―4 Apache HTTP Server の使用

多数あるサーバソフトの中からこの Apache というサーバソフトを選択した。理由として

は Apache が無償で使用できるからである。Apache は他のサーバソフトと比べ、圧倒的に高

いシェア率を誇っている。シェア率が高い理由として、Apache というサーバソフトが無償

でありながら高い安定性と快適な動作を実現しているからである。また、企業等でも用い

られる事が多いため、それだけ信頼性が高いという点もある。しかし、他にもサーバソフ

トウェアが存在する。例えば、Microsoft 社が提供する IIS(Internet Information Service)

というサーバソフトがある。このサーバソフトが Apache についでよく使用されている。こ

の IIS というソフト自体は無料で入手できるが、Windows NT Server(Windows 2000 Server)

か Windows XP Professional を購入しなければ使用できない。更に設定が少し煩雑なため

容易に使用することができない。他にも IIS を用いると、Windows 依存になりかねない。IIS

でも cgi プログラムは動作可能であるが、それならば Apache にて動作させるほうが無難で

あると考えた。 また Apache は Microsoft の OS でも、Linux 等の OS でも動作可能であると

いう点でも採用した事も理由のひとつである。

今回 Apache を使った大きな役割として携帯電話から CGI を読み込みにいくといった必要

性があったからである。Apache を PC にインストールすると C ドライブ直下に Apache のフ

図9 Softbank の位置情報を取得するための

URL と取得した情報の例

①<a href=location:auto?[送り先 URL]>

②[送り先 URL] ?pos=N**.**.**.**E**.**.**.**&geo=wgs84&x-acr=3

○Softbank(3GC 型)による取得

gps を指定すると S!GPS ナビ cell を指定すると簡易位置情報 auto を指定すると端末で優先された測定

座標値(緯度/経度順) {N:北緯、S:南緯、E:東経、W:西経}

測地系 精度 1:簡易位置情報(300m 以上)

2:S!GPS ナビ(50m~300m)

3:S!GPS ナビ(50m 以内)

location を指定する

Page 15: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

ォルダが出来る。そのフォルダの中に CGI ファイルを保存しているフォルダや、ログとし

て保存しているテキストファイルのフォルダがあり、この CGI を保存しているフォルダの

中に Test.cgi という CGI ファイルを保存されている。この CGI に携帯電話からアクセスす

ることで、今回提案するシステムが稼動する。この CGI により各携帯電話でそれぞれ取得

した位置情報の取得結果や、その位置情報から取り出した座標位置の情報をテキストファ

イルに保存するなど、一連の動作の流れが可能になっている。

Page 16: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

4.実装

4-1.位置情報の割り出し方

本章では 3章で述べた内容を実際に実装した。GPS には様々な情報が含まれていたが今回

は位置情報だけを取得するため、緯度と経度だけを用いて自分の現在地を取得、表示する

システムを構築した。

① Docomo、au の位置情報の取得

図 10 で写っているソースコードが Docomo と au での座標位置を割り出す方法である。44

行目にはあらかじめ取得した GPS 情報の値が記憶されている。値の例は以下である。

例(au の場合)

ver=1&datum=0&unit=0&lat=%2b34.44.36.02&lon=%2b135.26.44.35&alt=33&time=20061021

144922&smaj=104&smin=53&vert=41&majaa=96&fm=2

図 10 Docomo、au での位置情報取得方

Page 17: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

この 44 行目で記憶されている位置情報の値を 46 行目のソースコードで&で区切り、それ

ぞれの値を配列に保持する。この配列の中から、50行目から57行目のソースコードで緯度、

58行目から64行目のソースコードで経度を探し出してそれぞれ緯度と経度として保持させ

る。

② Softbank の位置情報の取得

Docomo、au と同様に図 11 の 215 行目にあらかじめ取得した位置情報の値が記憶されてい

る。

例(Softbank の場合)

[送り先 URL]?Pos=N**.**.**.**E***.**.**.**&geo=wgs84&x-acr=3

Softbank の位置情報の値は Docomo、au 異なり、Docomo、au は位置情報を求める場合、lat=

緯度、lon=経度と位置情報の中に含まれていた値が&で区切られている為、緯度と経度の

値は容易であった。しかし、Softbank の位置情報はN=北緯、E=東経のように値が保持

されているため Docomo とは少し異なる手法で緯度等を取得しなければいけない。そこで

図 11 Softbank での位置情報取得方法

Page 18: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

217 行目のソースコードで Softbank の位置情報の中に1つだけ含まれている「?」の文字

を&に変更する。これにより、正規表現で検索する手間を省く。これにより、「&」の文字

で緯度等の情報を区切る事ができ、この3つの値を配列に保持する。この3つに分けた値

を 224 行目から 244 行目のソースコードで「Pos=」という値が含まれている値を取り出し、

その値から更に北緯、東経の情報に分けて保持することで Softbank の位置情報を割り出す

ことができる。

4-2.位置情報をログとして保存

各携帯電話会社毎の位置情報から割り出した座標位置をログとして保存する。保存する

為のコードは図 12 である。図 12 のソースコードでは 266 行目の部分で、ID 情報が記録さ

れているテキストファイルを読み込み、そのテキストファイルの中の ID 情報を配列に保存

する。その後、配列に保持した自分の ID 情報を検索し、ID 情報が特定できたなら、その

ID 情報を 280 行目のソースコードで分割し、281 行目のソースコードで分割された値の中

から経度と緯度の値の部分を書き換える。経度と緯度の値を書き換えた上で、また分割さ

れていた自分の ID 情報の値を 284 行目のソースコードで結合する。その後、結合した値を

元のテキストファイルへ書き込み、ファイルを上書き保存する。

上記のプログラムの動きにより、位置情報から座標位置を割り出し、それを自分が登録

図 12 位置情報をログとして保存

Page 19: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

しているユーザ ID と関係付け、ログとして保存されている状態である。これにより、携帯

電話の契約会社が違っていてもログに座標位置として保存されている状態である。つまり、

契約会社が異なる携帯電話同士でも、位置情報の交換が可能となる。

4-3.ID 情報を読み込む

今回提案するシステムでは複数人数のユーザをひとつの地図上で表示するシステムであ

る。つまり相手が複数人数いる場合でも複数人数の位置情報を保持するシステムが必要と

なる。そこで4-2で上書きしたテキストファイルに全てのユーザ情報を書き出しおく。

(図 13 ソースコード)これにより、他のユーザの位置情報を保持する事ができる。そのテ

キストファイルを読み込み、ID 情報を1行ごとに配列に入れる。全ての行を行単位で配列

に保持するため、テキストファイルに登録されている人数が多くなると、地図上に表示さ

れるユーザは非常に多くなってしまう。そこでその配列から表示したいユーザの ID 情報だ

けを別の配列に保持する。これにより、必要なユーザだけをピックアップし、表示する事

が可能となる。また、表示したいユーザの情報を入れた配列の情報から ID、PASS、lat、lon

に分類して ID、lat、lon 等の値を新たな配列に保持する。

図 13 Google Map に位置情報を渡す

Page 20: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

これにより、表示したいユーザだけを表示する事ができるグループワーク的なシステム

が構築可能となり、複数人数でお互いの位置情報の確認をする事が可能となる。

4-4. Google Static Maps で表示

今回提案するシステムでは契約会社が異なる携帯電話同士をひとつの地図上で表示する

システムである。上記で述べた内容は、契約会社が異なる携帯電話で位置情報を取得し、

その位置情報から現在位置を調べ、ログとして位置情報等を保存すると述べた。しかし、

ここまでは値の保持するだけであり、地図の表示の処理は一切述べていない。そこで地図

を表示する手法として Google Static Maps API を用いる。これにより、Google Static Maps

API にログとして保存している位置情報を引数と渡す事により、ユーザのマーカがついた地

図画像を取得する事が可能となる。図 14 のソースコードはログとして保存していたテキス

トファイルから座標位置を Google Static Maps API 引渡し、その結果、それぞれの携帯電

話の現在位置を表示させるためのソースコードである。これは2人だけ表示させる場合の

ソースコードであり、この部分のソースコードを実行する場合 Google Static Maps API か

らの画像に2人分のマーカが表示される。368 行目と 369 行目のソースコードにレッドとブ

ルーと書かれており、1人目が赤、2人目が青と表示させるように書かれている。371 行目

から 383 行目のソースコードでは Google Static Maps に2人分の現在いる場所にマーカと

ID 名が表示される。これにより、自分と相手の名前が表示され、且つマーカが色分けされ

るので、相手が現在どこにいるかを正確、且つ一目で確認することが可能になる。今回提

案 す

Page 21: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

るシステムでは最大4人まで地図に表示させることが可能である。つまり4人分の座標位

置と ID 情報が確認することが可能であるため、グループでの待ち合わせ等に効果を発揮す

る事できる。また表示された地図を更新できるようになっており、更新すれば地図が再描

画され、相手の新しい位置がまた確認する事も可能である。

図14 Google static Map に複数表示

Page 22: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

5.将来の展望

本提案により GPS 情報の取得方法が異なったとしても、サーバを中継することで位置情

報の取得を可能とする事がわかった。GPS 情報を取得できればその情報を元に自分のいる場

所や、相手の場所も地図上に表示することが可能である。このことから GPS 機能が付いて

いれば本システムのようなシステムを利用する事で様々な機器の GPS との連結が可能であ

る。これにより、携帯電話だけでなく様々な携帯情報端末に搭載されている GPS の機器間

での GPS 情報のやりとりができるのではないかと考えた。

例えば現在、任天堂から販売されている携帯ゲーム機でとしてニンテンドーDS や SONY か

ら発売されているPSPにはWIRELESS LANが搭載されている。この2つの携帯ゲーム機は次々

に新しい機能が加わっている。仮にこのような携帯ゲーム機に GPS 機能が搭載され、今回

作成したシステムを利用することで、それぞれの携帯ゲーム機の GPS 情報を通信させる事

が可能と考える。例えば本学阪南大学ではニンテンドーDS を用いた相互教育に力を入れて

いる。つまりニンテンドーDS が広く普及した環境である。ここでニンテンドーDS 同士を通

信させ、学内にて友人を探すシステムや、ゼミ担当教員が現在どこにいるかを一目でわか

るシステムが実現することが可能である。つまり、従来は携帯電話等で「現在どこにいま

すか?」等のやり取りを行っていたのが、ニンテンドーDS で担当教員を検索、その後研究

室にいる場合は授業ではなく、研究室に在室している事がわかり、相談等に容易に行く事

が可能となる。様々な機器に GPS が搭載されると非常に便利な事が多い。そのため今後 GPS

機能が搭載された機器が様々登場するであろう。そうなれば今回提案したシステムは非常

に有効だと考えられる。

Page 23: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

6.まとめ

近年、携帯電話の GPS 機能搭載が義務化され、世の中に広く GPS 機能付携帯電話が普及

した。しかし、現在は契約会社の異なる携帯電話同士では位置情報のやりとりを行うサー

ビスが存在しない。GPS 機能が搭載されている携帯電話は普及してきているのにも関わらず、

契約会社が異なると互いの位置情報のやりとりができないため、GPS 機能を有効に使えてい

るとは言いがたい。そこで、契約会社が異なる場合においても、お互いの携帯電話の位置

情報のやり取りを行い。その位置情報から地図を描画するシステムを提案した。各契約会

社の携帯電話で位置情報をサーバへ送信し、その各携帯電話の位置情報をサーバで保持、

その後描画したいユーザの位置情報を Google Static Maps API 渡す事で、地図画像に複数

人数のユーザが乗った地図画像が描画される。これにより、契約会社が異なった場合にお

いても位置情報の通信が可能となり、且つ複数人数により位置情報の交換を可能とし、待

ち合わせに有効に利用できると考えられる。

参考文献

(1)http://www.apache.jp/(Apache HTTP サーバプロジェクト)

(2)http://japan.cnet.com/(CNET JAPAN)

(3)http://www.nttDocomo.co.jp/service/imode/make/content/gps/index.html

(Docomo サービス・機能)

(4)http://www.au.kddi.com/ezfactory/tec/spec/eznavi.html

(KDDI au 技術情報)

(5)http://creation.mb.Softbank.jp/web/web_doc.html

(WEB&NETWORK 技術資料)

Page 24: GPS機能付き携帯電話を用いた他種間での位置情報表示システムhanakawa/soturon/2008/imamoto... · 2010-08-20 · 話とDocomoの携帯電話では位置情報を交換し、お互いの位置を教えあうサービスは存在す

謝辞

同ゼミの飯田あゆ美氏に感謝します。よく夜中に呼ぼうが彼女が家にいてようが拘置し

て一緒に遊んでくれた同ゼミの小原浩樹氏に感謝します。同ゼミの上善紀明氏に感謝しま

す。ゼミに入ってすぐくらいから自分は腐女子的な発言をし、一緒にアニメの話をしたり

した同ゼミの髙島麻代氏に感謝します。一緒によくゲームの話題などで盛り上がった同ゼ

ミの高橋一氏に感謝します。一緒によく麻雀などをして遊んでくれた同ゼミの詫間翔太氏

に感謝します。ゼミ活動や学校以外での場所でもよく一緒に行動し、大学生活を共に楽し

く過ごさせてくれた同ゼミの原知廣氏に感謝します。ゼミ長で一緒によく遊びに行ったり

し、共に楽しんだ同ゼミの坂本匡史氏に感謝します。学校の終わったあとによく麻雀など

をして遊んだり、学校の休み時間に一緒に運動したりした同ゼミの光永一也氏に感謝しま

す。ゼミに入った時から皆の話題の中心で、絶大なる存在感と威圧感をもって君臨し続け

た同ゼミの拳王様に感謝します。プログラムを作る際に助言をよくして頂き、アンケート

のプログラムを作る際に「ドリルは男の魂ですか?」という熱い項目を作ってくれるよう

な同ゼミの松谷栄輝氏に感謝します。同ゼミの吉岡直樹氏に感謝します。同ゼミの山城優

季氏に感謝します。後輩なのに凄くプログラムのことに詳しく、よく解らない部分などを

教えてくれた同ゼミ3回生の妹背武志氏に感謝します。オープンキャンパスの際によく働

いてくれた同ゼミ3回生の壽慶拓哉氏に感謝します。同じくオープンキャンパスの際によ

く働いてくれた角田淳也氏に感謝します。どんな苦しい状況でも逃げちゃダメだと立ち上

がり、どんな無茶なフリにも応えてくれ、突然の遊びの誘いも心よく OK してくれるとても

ハイスペックなポテンシャルを常に発揮してくれた同ゼミ大学院生の野口真司氏に感謝し

ます。ゼミの中で皆をまとめあげる存在で色々な事に対して深い知識を持ち、よく一緒に

遊びに行ったり、よく食事に行ったり、よくプログラムのことや論文のことで助言を貰っ

たり、たまに無茶なフリをしてきたり、たまに同ゼミの一部の子たちにからかわれたり、

一緒に先生の顔で合成写真を作ったりするなど思い出しても感謝しきれない同ゼミ大学院

生の尾花将輝氏に感謝します。最後にゼミの担当教員で、ゼミの皆の面倒を見てくれ、作

業があまり進んでいないときには作業が進むように促してくれた花川典子様に感謝します。