以下、地図情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、1以上の第一端末装置のユーザが、自身で作成したり、準備したりした地図をサーバ装置に登録し、1以上の第二端末装置のユーザが利用できる地図情報システムについて説明する。つまり、本実施の形態において、他の人がサーバ装置に登録した地図を利用できる地図情報システムについて説明する。本地図は、地図の精度が正確であるとは限らない、手書きの地図や、イラスト地図などでも良い。
また、本地図情報システムでは、例えば、自分が見つけた、または作成したランドマーク情報付き地図をチャンネルにまとめて公開・共有するコミュニティサイトを構築できる。つまり、本実施の形態において、1以上の第二端末装置のユーザは、ランドマーク等のオブジェクトの情報である地理情報を利用できる。なお、地理情報は、地図上に表示される広告などの情報を含む。そして、本地図情報システムにおいて、広告主に対して課金などの処理もできる。
また、本実施の形態において、第二端末装置のユーザは、気になった景色や風景等の写真や動画や、つぶやきや、音声等を地図上のインタフェースからサーバ装置に登録できる地図情報システムについて説明する。ここで、「地図上のインタフェースから」とは、地図を閲覧しながら、という意味である。
図1は、本実施の形態にける地図情報システム1の概念図である。地図情報システム1は、1以上の第一端末装置11、1以上の第二端末装置12、サーバ装置13を備える。第一端末装置11は、自作の地図を登録するための端末である。第二端末装置12は、登録されている地図や情報を利用するための端末である。ただし、第一端末装置11と第二端末装置12とは同じ構成であっても良い。第一端末装置11と第二端末装置12は、例えば、携帯電話やPDAなどの携帯端末、パーソナルコンピュータ、ナビゲーション装置、テレビジョン等、問わない。
図2は、本実施の形態における地図情報システム1を構成する第一端末装置11のブロック図である。
第一端末装置11は、第一端末受付部110、地図格納部111、第一端末識別子格納部112、第一端末送信部113を備える。
図3は、本実施の形態における地図情報システム1を構成する第二端末装置12のブロック図である。
第二端末装置12は、第二端末識別子格納部1201、受付部1202、ユーザ入力情報受付部1203、検索要求受付部1204、地図受信部1205、地点情報受信部1206、現在位置情報取得部1207、ユーザ指示相対位置情報取得部1208、検索要求送信部1209、地図出力部1210、第二端末出力部1211、ユーザ情報送信部1212、送信要求送信部1213、第二端末送信部1214を備える。
また、受付部1202、ユーザ入力情報受付部1203、および検索要求受付部1204は、受付手段を構成する。また、地図受信部1205、および地点情報受信部1206は、受信手段を構成する。また、現在位置情報取得部1207、およびユーザ指示相対位置情報取得部1208は、処理手段を構成する。また、検索要求送信部1209、ユーザ情報送信部1212、送信要求送信部1213、および第二端末送信部1214は、送信手段を構成する。さらに、地図出力部1210、および第二端末出力部1211は、出力手段を構成する。
図4は、本実施の形態における地図情報システム1を構成するサーバ装置13のブロック図である。
サーバ装置13は、地図情報格納部1301、地理関連情報格納部1302、ユーザ情報格納部1303、ユーザ管理部1304、検索要求受信部1305、登録情報受信部1306、送信要求受信部1307、端末情報受信部1308、ユーザ情報受信部1309、地図情報蓄積部1310、位置対応情報蓄積部1311、ユーザ情報蓄積部1312、ユーザ入力情報検索部1313、地点情報取得部1314、課金処理部1315、地図送信部1316、地点情報送信部1317を備える。
地点情報取得部1314は、絶対位置情報取得手段13141、地理情報取得手段13142、地点情報取得手段13143を備える。
また、地図情報格納部1301、地理関連情報格納部1302、ユーザ情報格納部1303、およびユーザ管理部1304は、サーバ格納手段を構成する。また、検索要求受信部1305、登録情報受信部1306、送信要求受信部1307、端末情報受信部1308、およびユーザ情報受信部1309は、サーバ受信手段を構成する。また、地図情報蓄積部1310、位置対応情報蓄積部1311、およびユーザ情報蓄積部1312は、サーバ蓄積手段を構成する。また、ユーザ入力情報検索部1313、地点情報取得部1314、および課金処理部1315は、サーバ処理手段を構成する。さらに、地図送信部1316、および地点情報送信部1317は、サーバ送信手段を構成する。
第一端末装置11を構成する第一端末受付部110は、第一端末装置11のユーザからの入力を受け付ける。入力とは、地図等を送信する指示である地図送信指示などの指示やデータなどの入力である。データは、例えば、地図や地図に対する地理情報である。地理情報とは、地図上の地点に存在するオブジェクトの情報である。地理情報の詳細については後述する。ここで、受け付けとは、キーボードやマウス、ペン、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。入力の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。第一端末受付部110は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
地図格納部111は、地図を格納し得る。地図とは、ビットマップでも良いし、ベクターデータでも良い。例えば、撮影された地図の画像、手書き入力された地図の画像である。撮影された地図の画像とは、例えば、街の看板に描かれた地図をカメラ(図示しない)で撮影して取得された地図画像である。また、地図は、例えば、イラスト地図である。地図は、さらに具体的には、例えば、「江戸の古地図」、「食べ歩き2010年最新グルメマップ」、「○○大学所有古地図」、「△△郷土資料館所有地図」などである。地図格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。地図格納部111に地図が記憶される過程は問わない。例えば、図示しないカメラで撮影して得た地図が地図格納部111で記憶されるようになってもよく、記録媒体を介して地図が地図格納部111で記憶されるようになってもよく、通信回線等を介して送信された地図が地図格納部111で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された地図が地図格納部111で記憶されるようになってもよい。
第一端末識別子格納部112は、第一端末装置11を識別する第一端末識別子を格納し得る。第一端末識別子は、MACアドレスなどの端末のID、IPアドレス、電話番号、ユーザ識別子など、第一端末装置11を識別でいれば何でも良い。第一端末識別子格納部112は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第一端末識別子格納部112に第一端末識別子が記憶される過程は問わない。
第一端末送信部113は、地図格納部111の地図と、第一端末識別子格納部112に格納されている第一端末識別子とを有する登録地図情報をサーバ装置13に送信する。登録地図情報は、地図の名称や地図識別子などを有しても良い。登録地図情報が、地図の名称や地図識別子を含む場合、当該地図の名称や地図識別子は、通常、ユーザが入力した情報である。第一端末送信部113は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
第二端末識別子格納部1201は、第二端末装置12を識別する第二端末識別子を格納し得る。第二端末識別子は、MACアドレスなどの端末のID、IPアドレス、電話番号、ユーザ識別子など、第二端末装置12を識別でいれば何でも良い。第二端末識別子格納部1201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第二端末識別子格納部1201に第二端末識別子が記憶される過程は問わない。
受付部1202は、ユーザからの入力を受け付ける。入力とは、例えば、表示されている地図上の現在位置を示す指示である現在位置指示である。また、入力とは、例えば、地図の送信を要求する地図送信要求である。また、入力とは、その他の指示やデータ等でも良い。ユーザからの入力の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部1202は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ユーザ入力情報受付部1203は、ユーザが入力する情報であるユーザ入力情報を受け付ける。ユーザ入力情報は、文字列、静止画、動画、音声など、データ構造は問わない。ユーザ入力情報は、例えば、気になった景色や風景等の写真や動画や、つぶやきや、音声等である。ユーザ入力情報受付部1203の実現手段は、受付部1202と同じで良い。
検索要求受付部1204は、ユーザ入力情報の検索要求を受け付ける。検索要求は、地図識別子を含む。検索要求受付部1204の実現手段も、受付部1202と同じで良い。
地図受信部1205は、サーバ装置13から地図および地図識別子を受信する。地図受信部1205は、サーバ装置13から地図のみを受信しても良い。地図受信部1205は、地図送信要求に応じて、地図および地図識別子を受信することは好適である。
地点情報受信部1206は、端末情報の送信に対応して、地点情報をサーバ装置13から受信する。地点情報とは、地図上の地点に関する情報である。地点情報は、例えば、現在相対位置情報とユーザ入力情報とを有する情報である。地点情報は、例えば、ユーザ入力情報を有する情報である。地点情報がユーザ入力情報を有する情報である場合、地点情報受信部1206は、検索要求の送信に応じて、地点情報を受信しても良い。地点情報は、現在位置情報に対応する地図上の相対的な位置を示す現在相対位置情報を有する情報であっても良い。また、地点情報は、現在位置情報に対応する地図上の相対位置情報でも良いし、現在位置の周辺の地点の絶対位置情報でも良いし、現在位置に関連する情報でも良い。現在位置に関連する情報とは、周辺のランドマークの情報などであることは好適である。周辺のランドマークの情報は、周辺のランドマークの相対位置情報だけでも良いし、周辺のランドマークの絶対位置情報だけでも良いし、周辺のランドマークを説明する情報などでも良い。ユーザ入力情報を有する地点情報は、ユーザ入力情報が入力された地点を示す相対的位置情報を有することは好適である。
地図受信部1205、および地点情報受信部1206は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
現在位置情報取得部1207は、現在の位置を示す現在位置情報を取得する。現在位置情報は、絶対的な位置の情報を示す絶対位置情報であり、例えば、(緯度,経度)の構造を有する。現在位置情報取得部1207は、GPS受信機で実現されても良い。また、現在位置情報取得部1207は、携帯電話の3つの局の電波強度を用いて、現在位置情報を取得する機能を有しても良い。かかる機能は公知技術であるので、詳細な説明を省略する。
ユーザ指示相対位置情報取得部1208は、受付部1202が受け付けた現在位置指示に対応する相対位置情報を取得する。ユーザ指示相対位置情報取得部1208は、通常、ユーザが指示した位置を示す地図上の座標情報(x、y)である相対位置情報を取得する。相対位置情報は、地図上の相対的な位置情報でも良く、画面上の相対的な位置情報でも良い。ユーザ指示相対位置情報取得部1208は、通常、現在位置指示が示す画面上の座標情報(例えば、マウスドライバからのリターン値)を、地図上の座標情報(x、y)に変換する。なお、画面上の座標情報と地図上の座標情報とが一致する場合もある。ユーザ指示相対位置情報取得部1208は、通常、MPUやメモリ等から実現され得る。ユーザ指示相対位置情報取得部1208の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
検索要求送信部1209は、検索要求をサーバ装置13に送信する。
地図出力部1210は、地図を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置(表示装置)への送信や他のプログラムなどへの処理結果の引渡しなどを含む概念である。地図出力部1210は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。地図出力部1210は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
第二端末出力部1211は、地図出力部1210が出力している地図上に、現在相対位置情報に対応する現在の位置を出力する。第二端末出力部1211は、ユーザ入力情報を出力しても良い。ここでのユーザ入力情報の出力とは、表示でも良いし、音出力等でも良い。第二端末出力部1211は、地点情報に含まれる地理情報等を出力しても良い。第二端末出力部1211は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第二端末出力部1211は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ユーザ情報送信部1212は、ユーザ情報をサーバ装置13に送信する。ユーザ情報は、ユーザ入力情報と、地図識別子と、現在位置情報取得部1207が取得した現在位置情報とを有する。
送信要求送信部1213は、受付部1202が受け付けた地図送信要求をサーバ装置13に送信する。
第二端末送信部1214は、端末情報をサーバ装置13に送信する。端末情報は、地図出力部1210が出力する地図の地図識別子と、現在位置情報取得部1207が取得した現在位置情報とを有する。また、端末情報は、第二端末装置22を識別する第二端末識別子も有しても良い。また、端末情報は、現在位置情報のみを有する情報でも良い。第二端末識別子は、電話番号、端末のID、ユーザの氏名、ユーザのIDなど、第二端末装置22を識別する情報であれば何でも良い。第二端末送信部1214は、登録位置情報をサーバ装置13に送信しても良い。登録位置情報は、ユーザ指示相対位置情報取得部1208が取得した相対位置情報と、表示されている地図の地図識別子と、現在位置情報取得部1207が取得した現在位置情報とを有する情報である。登録位置情報は、地図識別子で識別される地図の精度を向上するための情報であり、サーバ装置13で利用される。
検索要求送信部1209、ユーザ情報送信部1212、送信要求送信部1213、および第二端末送信部1214は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
地図情報格納部1301は、地図情報を地図識別子ごとに格納し得る。地図情報は、例えば、地図識別子、地図、2組以上の位置対応情報、および第一端末識別子を有する。位置対応情報とは、絶対位置情報と地図上の相対位置情報との組である。ここで、「地図識別子ごと」とは、地図識別子と2組以上の位置対応情報とが対応付けて格納されていることである。
地理関連情報格納部1302は、地点に存在するオブジェクトの情報である地理情報と、絶対位置情報または相対位置情報とを対応付ける情報である地理関連情報を格納し得る。ここで、「AAA情報と、BBB情報とが対応付ける」とは、AAA情報とBBB情報の一方の情報から、他方の情報を取得できればよいという意味である。したがって、対応情報は、AAA情報とBBB情報とを組として含む情報を有してもよく、AAA情報とBBB情報とをリンク付ける情報であってもよい。後者の場合には、対応情報は、例えば、AAA情報とBBB情報の格納されている位置を示すポインタやアドレスとを対応付ける情報であってもよい。本実施の形態では、前者の場合について説明する。また、AAA情報とBBB情報とは、直接対応付けられていなくてもよい。例えば、AAA情報に、第3の情報が対応しており、その第3の情報にBBB情報が対応していてもよい。つまり、地理関連情報は、地理情報と、絶対位置情報または相対位置情報とを有する情報でも良い。また、地理関連情報は、オブジェクトの名称やオブジェクトのIDなどを有しても良い。ここで、オブジェクトとは、地図上に現れ得るものであり、建物、名勝、地域、市町村、店舗、道路、交差点などである。地理情報とは、例えば、ランドマークの名称、ランドマークを説明する情報など、ランドマークに関する情報、店舗の名称や店舗の情報、名勝や観光地の名称や関連情報などである。地理情報は、オブジェクトに関する情報を検索するための情報(ウェブページのURLや検索先のデータベース名など)なでも良い。
ユーザ情報格納部1303は、ユーザ情報を格納し得る。ユーザ情報とは、上述したように、ユーザ入力情報と、地図識別子と、現在位置情報とを有する情報である。
ユーザ管理部1304は、地図識別子と1以上の第二端末識別子とを対応付けて格納し得る。第二端末識別子に対応付けられている地図識別子で識別される地図のみ、第二端末識別子で識別される第二端末装置12が利用できる。
地図情報格納部1301、地理関連情報格納部1302、ユーザ情報格納部1303、およびユーザ管理部1304は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。地図情報格納部1301等に情報が記憶される過程は問わない。
検索要求受信部1305は、第二端末装置12から検索要求を受信する。
登録情報受信部1306は、第一端末装置11から登録地図情報を受信する。また、登録情報受信部1306は、第二端末装置12から登録位置情報を受信する。登録位置情報とは、相対位置情報と、第二端末装置12に表示されている地図の地図識別子と、現在位置情報とを有する情報である。
送信要求受信部1307は、第二端末装置12から地図の送信要求を受信する。
端末情報受信部1308は、第二端末装置12から端末情報を受信する。
ユーザ情報受信部1309は、第二端末装置12からユーザ情報を受信する。
検索要求受信部1305、登録情報受信部1306、送信要求受信部1307、端末情報受信部1308、およびユーザ情報受信部1309は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
地図情報蓄積部1310は、登録情報受信部1306が受信した登録地図情報が有する地図と第一端末識別子とを地図情報格納部1301に蓄積する。
位置対応情報蓄積部1311は、登録情報受信部1306が受信した登録位置情報が有する地図識別子に対応付けて、登録位置情報が有する相対位置情報と現在位置情報との組である位置対応情報を、地図情報格納部1301に蓄積する。
ユーザ情報蓄積部1312は、ユーザ情報受信部1309が受信したユーザ情報をユーザ情報格納部1303に蓄積する。
ユーザ入力情報検索部1313は、検索要求受信部1305が受信した検索要求が有する地図識別子をキーとして、ユーザ情報格納部1303を検索し、ユーザ入力情報を取得する。
地点情報取得部1314は、端末情報受信部1308が受信した端末情報が有する地図識別子と現在位置情報とを用いて、現在相対位置情報を有する地点情報を取得する。
地点情報取得部1314は、端末情報受信部1308が受信した端末情報が有する地図識別子と現在位置情報とを用いて、現在相対位置情報を取得し、かつ、ユーザ情報が有する現在位置情報を用いて、ユーザ情報格納部1303からユーザ入力情報を取得し、取得した現在相対位置情報とユーザ入力情報を有する地点情報を構成する。ここで、地点情報は、どのように構成しても良い。
地点情報取得部1314は、端末情報受信部1308が受信した端末情報が有する地図識別子と現在位置情報とを用いて、現在相対位置情報を取得し、かつ、ユーザ情報が有する現在位置情報を用いて、ユーザ情報格納部1303から、特定の第二端末識別子と対になるユーザ入力情報を取得し、取得した現在相対位置情報とユーザ入力情報を有する地点情報を構成する。
地点情報取得部1314を構成する絶対位置情報取得手段13141は、端末情報受信部1308が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を地理関連情報格納部1302から取得する。ここで、「周辺」とは、現在位置情報が示す地点から予め決められた距離(なお、この距離は予め保持している)以内の範囲、地図の表示可能な範囲(範囲情報が示す範囲)、現在位置情報が示す地点が含まれる道路上の地点、現在位置情報が示す地点が含まれる道路上の地点であり、かつ現在位置情報が示す地点から予め決められた距離以内の範囲の地点などである。
地理情報取得手段13142は、端末情報受信部1308が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在するオブジェクトの情報である1以上の地理情報を、地理関連情報格納部1302から取得する。
地点情報取得手段13143は、端末情報受信部1308が受信した端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、絶対位置情報に対応する地図上の相対位置情報を含む地点情報を取得する。この絶対位置情報は、端末情報受信部1308が受信した端末情報が有する現在位置情報である。また、絶対位置情報は、絶対位置情報取得手段13141が取得した1以上の各絶対位置情報である。ここで、2組以上の位置対応情報とは、地図識別子に対応するすべての位置対応情報でも良いし、一部の位置対応情報でも良い。また、地点情報は、相対位置情報だけでも良い。た、地点情報取得手段13143は、2組の位置対応情報を用いて、相対位置情報を取得しても良いし、3組以上の位置対応情報を用いて、相対位置情報を取得しても良い。
また、地点情報取得手段13143が絶対位置情報(x0,y0)に対応する相対位置情報(a0,b0)を取得するアルゴリズムの例は種々あり、そのアルゴリズムの例(第一のアルゴリズムから第八のアルゴリズム)について、以下に詳細に説明する。第一のアルゴリズムから第八のアルゴリズムにおいて、まず、相対位置情報を取得するために、2組以上の位置対応情報を、地図情報格納部1301から取得する処理を行う。かかる処理について説明する。地点情報取得手段13143は、例えば、以下のように(第一から第五の方法のように)、n組の位置対応情報を取得する。第一に、地点情報取得手段13143は、現在地T(絶対位置情報(x0,y0))の近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。なお、「近傍」とは、現在地Tに近いところから、nの絶対位置情報の点とそれに対する相対位置情報に対応する点を取得することである。ただし、絶対位置情報(緯度経度系)の点は、それぞれ緯度経度が異なることを条件とする。第二に、地点情報取得手段13143は、現在地Tの近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。ただし、緯度経度系の点は、それぞれ緯度経度が異なること、さらに、それぞれの点からなる各線分どうしがなす角が180度でないことを条件とする。第三に、地点情報取得手段13143は、現在地Tの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。第四に、地点情報取得手段13143は、現在地Tを原点とする4象限の各n点とそれらに対応する相対位置情報に対応する点を取得する。(計4×n組の点が取得される)。第五に、地点情報取得手段13143は、現在地Tの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て30度以上かつ120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。なお、通常、多数の位置対応情報を用いて、相対位置情報を取得する方が、精度が高くなる。なお、下記において、位置対応情報は、絶対位置情報(xn,yn)と相対位置情報(an,bn)の組である、とする。また、上記において、実験結果では、第五の方法が優れている場合が多いことが分かっている。
次に、第一のアルゴリズムについて詳細に説明する。地点情報取得手段13143は、1つ以上の絶対位置情報(xn,yn)と一の絶対位置情報(x0,y0)との距離rnの逆数に基づいた係数による、相対位置情報(an,bn)の集合の加重平均の値として相対位置情報(a0,b0)を取得することは好適である。(a0,b0)は、距離rnの逆数を重みとした(an,bn)の加重平均で求められる。具体的には、例えば、以下の数式1により、地点情報取得手段13143は、相対位置情報を取得する。なお、nは1以上の自然数である。
また、地点情報取得手段13143または図示しない補正手段は、各位置情報(例えば、絶対位置座標と相対位置座標を関連させた座標)の歪みを補正する機能を有することは好適である。つまり、地点情報取得手段13143または補正手段は、絶対位置座標における2つの位置情報を結んだ線分と、それに対応する相対位置座標における2つの位置情報を結んだ線分の長さの比のばらつきを補正する機能を有することは好適である。具体的には、地点情報取得手段13143または補正手段は、距離rnの逆数に加えて、線分比の逆数も、上記の重みに掛け合わせた係数による加重平均を算出することにより、相対位置情報(a0,b0)を取得することは、さらに好適である。
さらに具体的には、一の絶対位置情報をT(一の絶対位置情報が示す地点、と同意義)、Tに最も近い絶対位置情報をX0、その相対位置情報をX'0、その他の絶対位置情報をXn、それらの相対位置情報をX'nと定義する、とする。そして、X0からTおよびXnに向かうベクトルをそれぞれτ,ξnとする。また、TからXnに向かうベクトルをρnとする。また、それらのベクトルの大きさをt,xn,rnとする。また、X'0からT'およびX'nに向かうベクトルをそれぞれτ',ξ'nとする。また、T'からX'nに向かうベクトルをρ'nとする。さらに、それらベクトルの大きさをt',x'nとする。かかる場合、既知の位置X'0から相対位置情報T'へのベクトルτ'は「xn/x'n*rn」を重みとしたξ'nの加重平均としてあらわされる。なお、T、X0、X'0、Xn、X'n等は、xの値とyの値を有する。
つまり、τ'は、以下の数式2であらわされる。
一の絶対位置情報が(x0,y0)であり、地点情報取得手段13143が、3つの絶対位置情報(x1,y1)(x2,y2)(x3,y3)を取得し、地点情報取得手段13143が、3つの相対位置情報(a1,b1)(a2,b2)(a3,b3)を取得した場合、地点情報取得手段13143は、2点(x1,y1)(x2,y2)により構成されるベクトルαを算出し、2点(x1,y1)(x3,y3)により構成されるベクトルβを算出し、2点(x1,y1)(x0,y0)により構成されるベクトル「pα+qβ(p,qは定数)」を算出し、2点(a1,b1)(a2,b2)により構成されるベクトルα'を算出し、2点(a1,b1)(a3,b3)により構成されるベクトルβ'を算出し、ベクトル「pα'+qβ'」と、点(a1,b1)から、相対位置情報(a0,b0)を取得する。
また、地点情報取得手段13143または図示しない補正手段は、このα、βの斜交座標系における計算でも歪みの補正を行うことは好適である。歪みの補正を行った場合、|α'|/|α|=A、|β'|/|β|=Bとすると、既知の相対位置情報(a1,b1)から相対位置情報(a0,b0)までのベクトルγは「γ={Bp/(A+B)}α+{Aq/(A+B)}β」となる。
また、α、βの斜交座標系による計算の場合、(x1,y1)〜(x3,y3)が直線に近い形で選択された場合、α、βの相対的方向がα'、β'の相対的方向と逆向きになってしまうケースが多く出てくる。そのため、(x1,y1)〜(x3,y3)が直線とならないように3番目の(x3,y3)を選択するため、αとβ候補の角度をベクトルの内積から調べ、ある一定の閾値(150°や120°など)以下でなければ別の(x4,y4)以降を三番目の地図上位置情報として、地点情報取得手段13143は採択することは、さらに好適である。さらに、地点情報取得手段13143は、上記と同様の目的で、象限の異なる3個の点を候補とすることは、さらに好適である。
また、地点情報取得手段13143は、以下の第二のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段13143は、以下の数式3により、αおよびβを算出する。そして、地点情報取得手段13143は、以下の数式4にα、β、A、B、C、A'、B'、およびC'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第二のアルゴリズムでは、地点情報取得手段13143は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段13143は、以下の第三のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段13143は、数式3により、αおよびβを算出する。次に、地点情報取得手段13143は、数式5にα、β、A、B、C、A'、B'、およびC'を代入し、α2およびβ2を算出する。そして、地点情報取得手段13143は、以下の数式6にα2、β2、A'、B'、C'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第三のアルゴリズムでは、地点情報取得手段13143は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段13143は、以下の第四のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段13143は、数式3により、αおよびβを算出する。次に、地点情報取得手段13143は、数式7にα、β、A、B、C、A'、B'、およびC'を代入し、α2およびβ2を算出する。そして、地点情報取得手段13143は、数式6にα2、β2、A'、B'、C'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第四のアルゴリズムでは、地点情報取得手段13143は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段13143は、以下の第五のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143が取得した絶対位置情報が示す点がn個存在し、Pnとする。地点情報取得手段13143は、Tからn+1番目に近い絶対位置情報が示す点Oを取得する。また、地点情報取得手段13143は、点Oに対応する相対位置情報が示す点O'を取得する。なお、点Oの取得とは、絶対位置情報の取得である。点O'の取得とは、相対位置情報の取得である。そして、地点情報取得手段13143は、数式8に示す値を重みとして、P'nの加重平均を算出する。この加重平均がT'である。なお、絶対位置情報が示す点Pnに対応する相対位置情報が示す点がP'nである。
また、地点情報取得手段13143は、以下の第六のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143が取得した1以上の絶対位置情報が示す点がn個存在し、Pnとする。地点情報取得手段13143は、Tとn個のPnとの距離の総和dを算出する。そして、地点情報取得手段13143は、数式9に示す値を重みとして、P'nの加重平均を算出し、T'を得る。なお、絶対位置情報が示す点Pnに対応する相対位置情報が示す点がP'nである。
また、地点情報取得手段13143は、以下の第七のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143が取得した4つの絶対位置情報が示す点をA,B,C,Dとする。また、地点情報取得手段13143が取得した4つの相対位置情報が示す点をA',B',C',D'とする。また、点Pのx座標をPx、y座標をPyとする。そして、地点情報取得手段13143は、点A〜Dと点A'〜D'の座標をもとに、数式10に示す2組の4元連立方程式(方程式1、方程式2)でホモグラフィー行列の要素(H1〜H8)を取得する。
次に、地点情報取得手段13143は、H1〜H8により、以下の数式11により、T'のx,y座標(T'x,T'y)を得る。なお、ホモグラフィー行列は3×3であるが、以下の数式12に成り立つため、地点情報取得手段13143は、数式12の各係数をH1〜H8として算出する。
また、地点情報取得手段13143は、以下の第八のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段13143は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段13143が取得した2つの絶対位置情報が示す点を、Tから近い順にA,Bとする。そして、A,Bに対応する相対位置情報が示す点をA',B'とする。まず、地点情報取得手段13143は、ベクトルABに対するベクトルATの回転角と、大きさの比率を算出する。そして、地点情報取得手段13143は、ベクトルATの回転角と、大きさの比率を、ベクトルA'B'に適用し、ベクトルA'T'を求める。そして、A'が分かっているので、地点情報取得手段13143は、T'(相対位置情報)を得る。
上記で説明した、地点情報取得手段13143が行う相対位置情報の取得アルゴリズムは、加重平均に基づく手法、アフィン変換に基づく手法、ホモグラフィー変換に基づく手法、および縮尺率の不均等性を補正する係数による変換+アフィン変換等である。
課金処理部1315は、課金処理を行う。課金処理とは、例えば、地図のユーザである第二端末識別子ごとの課金処理である。また、課金処理とは、例えば、第一端末識別子で識別される地図の提供者ごとの課金処理であっても良い。なお、課金の方法は問わない。地理情報がダウンロードされるごとに課金しても良いし、地図識別子で識別される地図を利用する登録が行われた毎に課金しても良いし、複数の地図を有するコミュニティサイトのIDを取得することにより課金しても良い。また、地図識別子ごとに課金料金が変わっても良い。課金処理とは、課金料の算出だけでも良いし、銀行口座のサーバ装置への課金料の通知などでも良い。
地図情報蓄積部1310、位置対応情報蓄積部1311、ユーザ情報蓄積部1312、ユーザ入力情報検索部1313、地点情報取得部1314、課金処理部1315は、通常、MPUやメモリ等から実現され得る。地点情報取得部1314の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地図送信部1316は、第二端末装置12に、地図情報格納部1301に格納されている地図を送信する。地図送信部1316は、地図送信要求が有する地図識別子と第二端末識別子とが、ユーザ管理部1304に対応付けて格納されているか否かを判断し、地図識別子と第二端末識別子とが対応付けて格納されている場合のみ、第二端末装置12に、地図識別子に対応する地図を送信しても良い。なお、地図送信部1316は、通常、第二端末装置12からの送信要求に応じて、地図を送信する。
地点情報送信部1317は、地点情報取得部1314が取得した地点情報を、端末装置に送信する。また、地点情報送信部1317は、ユーザ入力情報検索部1313が取得したユーザ入力情報を、第二端末装置12に送信しても良い。
地図送信部1316、および地点情報送信部1317は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、地図情報システム1を構成する第一端末装置11の動作について、図5のフローチャートを用いて説明する。
(ステップS501)第一端末受付部110は、地図等の入力を受け付けたか否かを判断する。地図等の入力を受け付ければステップS502に行き、地図等の入力を受け付けなければステップS503に行く。なお、地図等の入力とは、地図画像の撮影などでも良い。
(ステップS502)第一端末受付部110は、ステップS501で受け付けた地図等を、地図格納部111に蓄積する。ステップS501に戻る。
(ステップS503)第一端末受付部110は、地図送信指示を受け付けたか否かを判断する。地図送信指示を受け付ければステップS504に行き、地図送信指示を受け付けなければステップS501に戻る。なお、地図送信指示は、例えば、送信する地図を特定する地図識別子を含む。
(ステップS504)第一端末送信部113は、地図送信指示に対応する地図等を、地図格納部111から読み出す。なお、地図等は、地図だけでも良いし、地図および当該地図上の情報である地理情報等でも良い。
(ステップS505)第一端末送信部113は、第一端末識別子格納部112から、第一端末識別子を読み出す。
(ステップS506)第一端末送信部113は、ステップS504で取得した地図等と、ステップS505で取得した第一端末識別子を用いて、登録地図情報を構成する。
(ステップS507)第一端末送信部113は、ステップS506で構成した登録地図情報をサーバ装置13に送信する。ステップS501に戻る。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、地図情報システム1を構成する第二端末装置12の動作について、図6のフローチャートを用いて説明する。
(ステップS601)受付部1202は、地図送信要求を受け付けたか否かを判断する。地図送信要求を受け付ければステップS602に行き、地図送信要求を受け付けなければステップS611に行く。なお、地図送信要求は、例えば、地図識別子を有する。また、地図送信要求は、例えば、現在位置情報取得部1207が取得した最新の現在位置情報を有しても良い。
(ステップS602)送信要求送信部1213は、ステップS601で受け付けられた地図送信要求をサーバ装置13に送信する。
(ステップS603)地図受信部1205は、サーバ装置13から地図および地図識別子を受信したか否かを判断する。地図等を受信すればステップS604に行き地図等を受信しなければステップS603に戻る。なお、所定時間以上の待ち時間が経過すれば、ステップS601に戻っても良い。
(ステップS604)現在位置情報取得部1207は、現在位置情報を取得する。
(ステップS605)第二端末送信部1214は、ステップS603で受信された地図識別子(地図出力部1210が出力する地図の地図識別子)と、ステップS604で取得された現在位置情報とを用いて、端末情報を構成する。
(ステップS606)第二端末送信部1214は、端末情報をサーバ装置13に送信する。
(ステップS607)地点情報受信部1206は、端末情報の送信に対応して、地点情報をサーバ装置13から受信したか否かを判断する。地点情報を受信すればステップS608に行き、受信しなければステップS607に戻る。なお、所定時間以上の待ち時間が経過すれば、ステップS601に戻っても良い。
(ステップS608)地図出力部1210は、ステップS603で受信された地図を出力する。地図出力部1210は、通常、ステップS607で受信された地点情報に含まれる現在相対位置情報で示す地点を中心にした地図を出力する。つまり、地図出力部1210は、通常、現在相対位置情報で示す地点にセンタリングした地図を出力する。
(ステップS609)第二端末出力部1211は、ステップS608で出力された地図上に、地点情報に含まれる現在相対位置情報に対応する現在の位置を出力する。例えば、第二端末出力部1211は、現在の位置を示す丸の図形を出力する。
(ステップS610)第二端末出力部1211は、地点情報に含まれる地理情報等を出力する。ステップS601に戻る。
(ステップS611)ユーザ入力情報受付部1203は、ユーザ入力情報を受け付けたか否かを判断する。ユーザ入力情報を受け付ればステップS612に行き、ユーザ入力情報を受け付なければステップS614に行く。
(ステップS612)ユーザ情報送信部1212は、ステップS611で受け付けられたユーザ入力情報と、出力中の地図の地図識別子と、取得されている最新の現在位置情報とを用いて、ユーザ情報を構成する。なお、ユーザ入力情報を送信する直前に現在位置情報が取得されることは好適である。
(ステップS613)ユーザ情報送信部1212は、ステップS612で構成したユーザ情報をサーバ装置13に送信する。ステップS601に戻る。
(ステップS614)検索要求受付部1204は、ユーザ入力情報の検索要求を受け付けたか否かを判断する。検索要求を受け付ければステップS615に行き、検索要求を受け付けなければステップS618に行く。
(ステップS615)検索要求送信部1209は、ステップS614で受け付けられた検索要求をサーバ装置13に送信する。なお、検索要求は、地図識別子を含む。また、検索要求は、地図識別子と現在位置情報とを有することは好適である。
(ステップS616)地点情報受信部1206は、ステップS615における検索要求の送信に応じて、サーバ装置13からユーザ入力情報を有する地点情報を受信したか否かを判断する。地点情報を受信すればステップS617に行き、地点情報を受信しなければステップS616に戻る。なお、所定時間以上の待ち時間が経過すれば、ステップS601に戻っても良い。
(ステップS617)第二端末出力部1211は、ステップS616で受信された地点情報を有するユーザ入力情報等を出力する。ユーザ入力情報等とは、例えば、ユーザ入力情報と、それが入力された地点を示す相対位置情報である。第二端末出力部1211は、例えば、ユーザ入力情報が入力された地点が分かる態様で、ユーザ入力情報を出力する。
ステップS601に戻る。
(ステップS618)受付部1202は、現在位置指示を受け付けたか否かを判断する。現在位置指示を受け付ければステップS619に行き、現在位置指示を受け付けなければステップS622に行く。
(ステップS619)ユーザ指示相対位置情報取得部1208は、ステップS618で受け付けられた現在位置指示に対応する相対位置情報を取得する。
(ステップS620)第二端末送信部1214は、ステップS619で取得された相対位置情報と、表示されている地図の地図識別子と、現在位置情報取得部1207が取得した現在位置情報とを用いて、登録位置情報を構成する。なお、登録位置情報を構成する直前に、現在位置情報が取得されることは好適である。
(ステップS621)第二端末送信部1214は、ステップS620で構成した登録位置情報をサーバ装置13に送信する。ステップS601に戻る。
(ステップS622)現在位置情報取得部1207は、現在位置情報を取得する。ステップS601に戻る。
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、地図情報システム1を構成するサーバ装置13の動作について、図7のフローチャートを用いて説明する。
(ステップS701)登録情報受信部1306は、第一端末装置11から登録地図情報を受信したか否かを判断する。登録地図情報を受信すればステップS702に行き、登録地図情報を受信しなければステップS703に行く。
(ステップS702)地図情報蓄積部1310は、ステップS701で受信された登録地図情報が有する地図と第一端末識別子とを地図情報格納部1301に蓄積する。ステップS701に戻る。
(ステップS703)送信要求受信部1307は、第二端末装置12から地図送信要求を受信したか否かを判断する。地図送信要求を受信すればステップS704に行き、受信しなければステップS707に行く。
(ステップS704)地図送信部1316は、地図送信要求が有する地図識別子と第二端末識別子とが、ユーザ管理部1304に対応付けて格納されているか否かを判断する。つまり、地図送信部1316は、ユーザから指定された地図に対して、当該ユーザが契約しているか否かを判断する。契約していればステップS705に行き、契約していなければステップS701に戻る。なお、契約とは、地図の利用契約である。
(ステップS705)地図送信部1316は、地図送信要求が有する地図識別子を用いて、地図情報格納部1301から地図を読み出し、当該地図を第二端末装置12に送信する。
(ステップS706)課金処理部1315は、課金処理を行う。なお、ここでの課金処理は、例えば、地図送信要求が有する第二端末識別子に対応するユーザに対する、地図の利用料金を加算し、図示しない記録媒体に第二端末識別子と対に記録することである。なお、地図の利用料金は、地図ごとに異なっていても良いし、全地図、一定でも良い。また、地図の利用料金は、例えば、地図情報格納部1301に格納されている。また、ここでの課金処理は、例えば、地図の提供者を識別する第一端末識別子で識別される提供者に対して、提供した地図のユーザ利用料金を与えるための料金の加算処理である。その他、課金処理のアルゴリズム等は問わない。ステップS701に戻る。
(ステップS707)端末情報受信部1308は、第二端末装置12から端末情報を受信したか否かを判断する。端末情報を受信すればステップS708に行き、端末情報を受信しなければステップS715に行く。
(ステップS708)地点情報取得手段13143は、ステップS707で受信された端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、端末情報受信部1308が受信した端末情報が有する現在位置情報(絶対位置情報)に対応する地図上の相対位置情報を取得する。現在位置情報(絶対位置情報)を与えられた場合に、相対位置情報を取得する処理である相対位置情報取得処理について、図8のフローチャートを用いて説明する。
(ステップS709)地点情報取得部1314を構成する絶対位置情報取得手段13141は、端末情報受信部1308が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を、地理関連情報格納部1302から取得する。かかる処理を、周辺絶対位置情報取得処理という。周辺絶対位置情報取得処理について、図10のフローチャートを用いて説明する。
(ステップS710)地点情報取得手段13143は、ステップS709で取得された1以上の絶対位置情報と対になる1以上の相対位置情報を、地図情報格納部1301から読み出す。
(ステップS711)地理情報取得手段13142は、ステップS709で取得された1以上の絶対位置情報と対になる1以上の地理情報を、地理関連情報格納部1302から読み出す。
(ステップS712)地点情報取得部1314は、ステップS708からステップS711で取得された情報を用いて、地点情報を構成する。
(ステップS713)地点情報送信部1317は、ステップS712で構成した地点情報を第二端末装置12に送信する。
(ステップS714)課金処理部1315は、課金処理を行う。ここでの課金処理は、例えば、地理情報(例えば、広告情報)を登録している者に対して、課金する料金の算出や、課金料を増加させる処理である。なお、課金処理のアルゴリズム等は問わない。ステップS701に戻る。
(ステップS715)ユーザ情報受信部1309は、第二端末装置12からユーザ情報を受信したか否かを判断する。ユーザ情報を受信すればステップS716に行き、ユーザ情報を受信しなければステップS717に行く。
(ステップS716)ユーザ情報蓄積部1312は、ステップS715で受信されたユーザ情報をユーザ情報格納部1303に蓄積する。ステップS701に戻る。
(ステップS717)検索要求受信部1305は、第二端末装置12から検索要求を受信したか否かを判断する。検索要求を受信すればステップS718に行き、検索要求を受信しなければステップS720に行く。
(ステップS718)ユーザ入力情報検索部1313は、ステップS717で受信された検索要求が有する地図識別子をキーとして、ユーザ情報格納部1303を検索し、ユーザ入力情報等を取得する。
(ステップS719)地点情報送信部1317は、ステップS718で取得されたユーザ入力情報等を第二端末装置12に送信する。ステップS701に戻る。
(ステップS720)登録情報受信部1306は、第二端末装置12から登録位置情報を受信したか否かを判断する。登録位置情報を受信すればステップS721に行き、登録位置情報を受信しなければステップS701に戻る。
(ステップS721)位置対応情報蓄積部1311は、登録情報受信部1306が受信した登録位置情報が有する地図識別子に対応付けて、登録位置情報が有する相対位置情報と現在位置情報との組である位置対応情報を、地図情報格納部1301に蓄積する。ステップS701に戻る。
なお、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS708の相対位置情報を取得する処理である相対位置情報取得処理について、図8のフローチャートを用いて説明する。絶対位置情報(T)を与えた場合に、当該絶対位置情報(T)に対応する相対位置情報を取得する処理である。
(ステップS801)地点情報取得手段13143は、絶対位置情報(T)とは異なる3つの絶対位置情報を取得する。かかる処理を三点取得処理という。三点取得処理について、図9のフローチャートを用いて説明する。また、ここで取得した3つの絶対位置情報を、A、B、Cである、とする。T、A、B、Cは、例えば、(緯度,経度)の構造を有する。
(ステップS802)地点情報取得手段13143は、ステップS801で取得した3つの絶対位置情報(A、B、C)の各々と対になる相対位置情報(A'、B'、C')を、地図情報格納部1301から取得する。A'、B'、C'は、例えば、(x座標,y座標)の構造を有する。
(ステップS803)地点情報取得手段13143は、ベクトルAT、ベクトルAB、ベクトルACを算出する。
(ステップS804)地点情報取得手段13143は、数式3に、ベクトルAT、ベクトルAB、ベクトルACを代入し、α、βを算出する。
(ステップS805)地点情報取得手段13143は、ベクトルA'B'、ベクトルA'C'を算出する。
(ステップS806)地点情報取得手段13143は、数式5に、α、β、ベクトルA'B'、ベクトルA'C'、ベクトルAB、およびベクトルACを代入し、α2、β2を算出する。
(ステップS807)地点情報取得手段13143は、数式6に、α2、β2、ベクトルA'B'、ベクトルA'C'を代入し、ベクトルA'T'を算出する。
(ステップS808)地点情報取得手段13143は、A'、およびベクトルA'T'から、T'を算出する。上位処理にリターンする。
次に、ステップS801の三点取得処理について、図9のフローチャートを用いて説明する。
(ステップS901)地点情報取得手段13143は、地図情報格納部1301の絶対位置情報をTから近い順にソートする。
(ステップS902)地点情報取得手段13143は、カウンタiに1を代入する。
(ステップS903)地点情報取得手段13143は、ステップS901でソートした絶対位置情報の中に、i番目の絶対位置情報が存在するか否かを判断する。i番目の絶対位置情報が存在すればステップS904に行き、存在しなければステップS917に行く。
(ステップS904)地点情報取得手段13143は、変数Aに、i番目の絶対位置情報を代入する。
(ステップS905)地点情報取得手段13143は、カウンタjにi+1を代入する。
(ステップS906)地点情報取得手段13143は、ステップS901でソートした絶対位置情報の中に、j番目の絶対位置情報が存在するか否かを判断する。j番目の絶対位置情報が存在すればステップS907に行き、存在しなければステップS916に行く。
(ステップS907)地点情報取得手段13143は、変数Bに、j番目の絶対位置情報を代入する。
(ステップS908)地点情報取得手段13143は、カウンタkにj+1を代入する。
(ステップS909)地点情報取得手段13143は、ステップS901でソートした絶対位置情報の中に、k番目の絶対位置情報が存在するか否かを判断する。k番目の絶対位置情報が存在すればステップS910に行き、存在しなければステップS915に行く。
(ステップS910)地点情報取得手段13143は、変数Cに、k番目の絶対位置情報を代入する。
(ステップS911)地点情報取得手段13143は、△ABCの内角を、それぞれ算出する。なお、三点の座標情報を与えられている場合に、△ABCの内角を算出する処理は公知技術である。
(ステップS912)地点情報取得手段13143は、ステップS911で算出した3つの内角が、30度以上であり、かつ120度以下であるか否かを判断する。かかる条件を満たせばステップS913に行き、かかる条件を満たさなければステップS914に行く。
(ステップS913)地点情報取得手段13143は、変数A、B、Cの内容を、3つの絶対位置情報として取得する。上位処理にリターンする。
(ステップS914)地点情報取得手段13143は、カウンタkを1、インクリメントする。ステップS909に戻る。
(ステップS915)地点情報取得手段13143は、カウンタjを1、インクリメントする。ステップS906に戻る。
(ステップS916)地点情報取得手段13143は、カウンタiを1、インクリメントする。ステップS903に戻る。
(ステップS917)地点情報取得手段13143は、任意の三点A、B、Cを3つの絶対位置情報として取得する。上位処理にリターンする。
次に、ステップS709の周辺絶対位置情報取得処理について、図10のフローチャートを用いて説明する。
(ステップS1001)絶対位置情報取得手段13141は、端末情報受信部1308が受信した端末情報が有する地図識別子をキーとして、地図情報格納部1301を検索し、地図識別子に対応する絶対位置情報を取得する。
(ステップS1002)絶対位置情報取得手段13141は、カウンタiに1を代入する。
(ステップS1003)絶対位置情報取得手段13141は、ステップS1001で取得した絶対位置情報の中に、i番目の絶対位置情報が存在するか否かを判断する。i番目の絶対位置情報が存在すればステップS1004に行き、i番目の絶対位置情報が存在しなければ上位処理にリターンする。
(ステップS1004)絶対位置情報取得手段13141は、i番目の絶対位置情報が、端末情報受信部1308が受信した端末情報が有する現在位置情報に対して、「周辺」の条件を満たすか否かを判断する。「周辺」の条件を満たせばステップS1005に行き、「周辺」の条件を満たさなければステップS1006に行く。「周辺」の条件とは、例えば、予め格納されている閾値以内の距離であること、または同一の道路上に存在し、かつ予め格納されている閾値以内の距離であること等である。現在位置情報が示す地点と同一の道路上に存在するか否かを判断するためには、図示しない道路情報格納部に、道路識別子と道路を特定する2以上の絶対位置情報の集合の情報を有する道路情報が格納されている必要がある。そして、絶対位置情報取得手段13141は、かかる道路情報を用いて、現在位置情報とi番目の絶対位置情報とが同一の道路上に存在するか否かを判断する。
(ステップS1005)絶対位置情報取得手段13141は、i番目の絶対位置情報をバッファに一時格納する。
(ステップS1006)絶対位置情報取得手段13141は、カウンタiを1、インクリメントする。ステップS1003に戻る。
なお、上記の図5から図10のフローチャートは、処理の一例であることは言うまでもない。
以下、本実施の形態における地図情報システム1の具体的な動作について説明する。地図情報システム1の概念図は図1である。本具体例において、自分が見つけた地図や自分で作成した地図をチャンネルにまとめて公開・共有するコミュニティサイトを構築できる。また、ここでの地図は、通常、ランドマーク等の情報が付与されている。ランドマーク等の情報は、上述した地理情報の例である。ここでは、一のコミュニティサイトに格納される地図等を利用する場合について説明する。
また、本具体例において、気になった情景の写真やつぶやきや音声等を地図上のインタフェースから登録でき、利用できる地図情報システム1について説明する。
今、サーバ装置13の地図情報格納部1301は、図11に示す地図情報管理表を保持され得る。地図情報管理表は、「地図の名称」「地図識別子」「位置対応情報」「地図」「第一端末識別子」「課金方法」を有するレコードを1以上、保持している。1レコードに、複数の位置対応情報が存在し得る。また、「地図」は、例えば、カメラで撮影された画像や、手書きの地図(データ形式は問わない)などである。「第一端末識別子」は、地図識別子で識別される地図を提供した地図提供者を識別する情報である。「課金方法」は、第三者が地図を利用する場合に、課金する方法を示す。課金額のすべて、または一部は地図提供者に入金される。また、課金額のすべて、または一部は、サーバ装置13の提供者や管理者に入金されても良い。
また、図12は、地理関連情報格納部1302に格納され得る地理関連情報管理表である。地理関連情報管理表は「地図識別子」「地図の名称」「情報ID」「名称」「絶対位置情報」「地理情報」を有するレコードを1以上、保持している。地理関連情報管理表において、地図識別子で識別される地図に対して、対応する情報IDで識別される地理情報等が付加されていることを示す。つまり、ここでは、地理関連情報管理表は、地図ごとに、地理情報等を管理している。ただし、複数の地図に対して共通の地理情報等を対応付けても良いし、全地図共通の地理情報等を管理しても良い。「名称」は、ランドマークや店舗や名勝や地域や地方公共団体などの名称である。また、絶対位置情報は、通常、緯度と経度を有する情報である。また、「地理情報」は、「URL」「シンボルアイコン」「説明情報」「広告」などの情報を含む。「URL」は、ランドマークや名勝や地域や地方公共団体など(以下、ランドマーク等という)のウェブページのURL(URIでも良い)である。「シンボルアイコン」は、ランドマーク等を象徴するアイコンである。「説明情報」は、ランドマーク等を説明する文や音声情報や静止画や動画などである。さらに、「広告」は、ランドマーク等を宣伝広告するための情報であり、文や音声情報や静止画や動画など、そのデータタイプは問わない。
また、図13は、ユーザ情報格納部1303に格納され得るユーザ情報管理表である。ユーザ情報管理表は、ユーザ入力情報等を格納している表である。ユーザ情報管理表は、「ID」「第二端末識別子」「地図識別子」「位置情報」「時刻」「ユーザ入力情報」「相対位置情報」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「第二端末識別子」は、ユーザ入力情報を送信してきた第二端末装置を識別する情報である。「地図識別子」は、ユーザ入力情報が入力された場合に、出力されていた地図を識別する情報である。「位置情報」は、ユーザ入力情報が入力された場合に、第二端末装置12(ユーザ)が存在した位置を示す情報である。ここでは、「位置情報」は絶対位置情報である。なお、ユーザ情報管理表は、ユーザが存在した位置を示す相対位置情報のみ、または絶対位置情報のみでも良い。「時刻」は、ユーザ入力情報が入力された時刻(サーバ装置13が受信した時刻でも良い)を示す情報である。「ユーザ入力情報」は、ユーザが入力した情報である。ユーザ入力情報は、ふと気になった情景の写真や動画や、つぶやきや音声等であり、第二端末装置12に出力されている地図上のインタフェースから入力され、送信された情報であることは好適である。
さらに、図14は、ユーザ管理部1304に格納され得るユーザ管理表である。ユーザ管理表は、ユーザが使用可能な地図を管理する表である。ユーザ管理表は、「ID」「第二端末識別子」「地図識別子」「課金方法」等を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「第二端末識別子」で識別される第二端末装置12は、対応する「地図識別子」で識別される地図のみをダウンロードできる。「課金方法」は、第二端末装置12が地図をダウンロードした場合に課金される方法を示す。課金方法「100円/月」は、月額の固定料金が100円であることを示し、地図を何度、ダウンロードしても、月に100円のみ、第二端末装置12に課金されることを示す。課金方法「10円/回」は、従量制の課金方法であり、1回地図をダウンロードするごとに、10円、第二端末装置12に課金されることを示す。
なお、図11の地図情報管理表の「武家屋敷マップ」は、以下のように、サーバ装置13に格納されるに至った、とする。
つまり、第一端末識別子「09011281122」で識別される第一端末装置11のユーザAは、アミューズメント会場の入り口の手前に立てかけられているアミューズメント会場のイラスト地図の看板(図15参照)を、端末装置11のカメラ(図示しない)を用いて、撮影した、とする。そして、端末装置11の図示しない地図の出力部は、当該撮影した地図画像を出力する。次に、ユーザAは、端末装置11に、撮影したイラスト地図の名称「武家屋敷マップ」を入力する。また、ユーザAは、地図「武家屋敷マップ」を第三者が利用する場合の課金方法を入力する。例えば、ユーザAは、課金方法「100円/月」「10円/回」と2通りの課金方法を入力した、とする。なお、2通り以上の課金方法がサーバ装置13に登録されている場合、地図の利用者は、一の課金方法を選択できる、とする。そして、ユーザAは、自身が取得した地図を登録する指示である地図登録指示を端末装置11に入力する。そして、端末装置11の第一端末送信部113は、図15の地図画像と、「武家屋敷マップ」という地図の名称と、第一端末識別子「09011281122」と、課金方法「100円/月」「10円/回」とを有する登録地図情報を、サーバ装置13に送信する。なお、第一端末識別子「09011281122」は、第一端末識別子格納部112から読み出された情報である。
次に、サーバ装置13の登録情報受信部1306は、地図画像等を有する登録地図情報を受信し、地図情報蓄積部1310は、当該登録地図情報を地図情報格納部1301に蓄積する。かかる場合、地図情報蓄積部1310は、地図識別子「m001」を生成し、地図情報格納部1301に蓄積する、とする。なお、地図識別子は、例えば、「m000」から自動的に1ずつインクリメントされて、生成される。
次に、ユーザAは、地図識別子「m001」の地図に対して、登録位置情報の送信指示を入力する。そして、第一端末受付部110は、登録位置情報の送信指示を受け付ける。
次に、ユーザAは、画面上の地図(撮影した地図であり、図15の地図)上で1点目の現在地を指示する入力をする。そして、第一端末受付部110は、現在位置指示を受け付ける。次に、図示しない、ユーザ指示相対位置情報取得手段(ユーザ指示相対位置情報取得部1208と同じ機能を有する)は、受け付けられた現在位置指示に対応するユーザ指示相対位置情報(a11、b11)を取得する。なお、ユーザ指示相対位置情報は、ユーザAが指示した地図上の相対的な座標情報である。
次に、図示しない現在位置取得手段(現在位置情報取得部1207と同じ機能)は、現在位置情報(x11、y11)を取得する。なお、通常、定期的に、現在位置取得手段は、現在位置情報を取得している。そして、第一端末送信部113は、ユーザ指示相対位置情報(a11、b11)と、現在位置情報(x11、y11)と、地図識別子「m001」とを有する登録位置情報を構成する。登録位置情報は、例えば、「m001,(x11、y11),(a11、b11)」である。そして、第一端末送信部113は、構成した登録位置情報「m001,(x11、y11),(a11、b11)」を、サーバ装置13に送信する。
次に、サーバ装置13の登録情報受信部1306は、登録位置情報を受信する。次に、位置対応情報蓄積部1311は、受信された登録位置情報が適切な情報であるか否かを判断する。ここで、「m001」に対応する位置対応情報が地図情報格納部1301に存在しないので、適切な情報であると判断する。そして、位置対応情報蓄積部1311は、登録位置情報に含まれる位置対応情報「(x11、y11),(a11、b11)」を、地図情報管理表の地図識別子「m001」を有するレコードに蓄積する。なお、ここでの、受信された登録位置情報が適切な情報であるか否かを判断するアルゴリズムは、他のアルゴリズムでも良い。例えば、位置対応情報蓄積部1311は、登録位置情報が有する第一端末識別子が、地図識別子「m001」に対応する第一端末識別子と一致する場合、受信された登録位置情報が適切な情報であると判断しても良い。
次に、ユーザAは、少し移動し、2点目の現在地を登録する。つまり、ユーザAは、画面上の地図上で2点目の現在地を指示する入力をする。そして、第一端末受付部110は、現在位置の指示を受け付ける。次に、図示しないユーザ指示相対位置情報取得手段は、受け付けられた指示に対応するユーザ指示相対位置情報(a12、b12)を取得する。
次に、図示しない現在位置情報取得手段は、現在位置情報(x12、y12)を取得する。そして、第一端末送信部113は、ユーザ指示相対位置情報(a12、b12)と、現在位置情報(x12、y12)と、地図識別子「m001」とを有する登録位置情報を構成する。登録位置情報は、例えば、「m001,(x12、y12),(a12、b12)」である。そして、第一端末送信部113は、構成した登録情報「m001,(x12、y12),(a12、b12)」を、サーバ装置13に送信する。
なお、上述したように、第一端末装置11は、登録位置情報を送信する機能を有することは好適である。また、第一端末装置11は、地図を登録する場合に、1または2以上の登録位置情報を送信することを条件としても良い。
次に、サーバ装置13の登録情報受信部1306は、登録位置情報を受信する。次に、位置対応情報蓄積部1311は、受信された登録位置情報が適切な情報であるか否かを判断する。ここで、「m001」に対応する位置対応情報が地図情報格納部1301に1つしか存在しないので、適切な情報であると判断する。そして、位置対応情報蓄積部1311は、登録位置情報に含まれる位置対応情報「(x12、y12),(a12、b12)」を、地図情報管理表の地図識別子「m001」を有するレコードに蓄積する。なお、ここでの、受信された登録情報が適切な情報であるか否かを判断するアルゴリズムは、他のアルゴリズムでも良い。
次に、ユーザBが、武家屋敷のアミューズメント会場を訪れた、とする。そして、ユーザBは、地図の送信をサーバ装置13に促す指示である第一の指示である第一地図送信指示を、自分の第二端末装置12に入力した、とする。すると、第二端末装置12の受付部1202は、ユーザBから、第一地図送信指示を受け付ける。第一地図送信指示は、地図のメニューまたは地図を送信する指示と、現在位置情報と、第二端末識別子「MT01」とを有する。なお、現在位置情報は、現在位置情報取得部1207が取得した情報である。
次に、送信要求送信部1213は、受け付けられた第一地図送信指示を、サーバ装置13に送信する。
次に、サーバ装置13の送信要求受信部1307は、ユーザBの第二端末装置12から、地図の送信要求の一例である第一地図送信指示を受信する。そして、送信要求受信部1307は、受信した第一地図送信指示に対応する1以上の地図等を地図情報格納部1301から読み出す。つまり、地図送信部1316は、第一地図送信指示が有する現在位置情報が地図の領域に含まれる地図であり、第二端末識別子「MT01」が利用可能な地図を、地図情報管理表(図11参照)から検索する。なお、第二端末識別子「MT01」が利用可能な地図は、図14のユーザ管理表に、第二端末識別子「MT01」に対応付けて管理されている地図識別子で識別される地図である。
ここで、地図送信部1316は、地図識別子「m001」と「m062」の地図を検索した、とする。なお、現在位置情報が地図の領域に含まれる地図か否かは、地図に対応付けて格納されている絶対位置情報から判断可能である。つまり、地図送信部1316は、地図情報管理表の絶対位置情報に対して、第一地図受信指示が有する現在位置情報をマッチングさせ、地図識別子を検索しても良い。また、地図情報管理表の各レコードが地図の範囲の情報を絶対位置情報で保持しており、地図送信部1316は、かかる地図の範囲の情報に対して、第一地図送信指示が有する現在位置情報をマッチングさせ、地図識別子を検索しても良い。なお、地図の範囲の情報とは、例えば、緯度の範囲と経度の範囲を有する情報である。
次に、地図送信部1316は、図16に示す情報(地図選択用のメニュー情報)を取得する。そして、地図送信部1316は、図16に示す地図選択用のメニュー情報を第二端末装置12に送信する。なお、図16のメニュー情報が有する地図は、地図情報格納部1301に含まれる地図のサムネイルであることは好適である。
次に、第二端末装置12の地図受信部1205は、サーバ装置13から地図選択用のメニュー情報を受信する。そして、地図出力部1210は、受信された地図選択用のメニュー情報を、例えば、図17のように出力する。なお、図17において、地図識別子は表示されていない。
次に、ユーザBは、地図選択用のメニュー情報から「武家屋敷マップ」を選択し(チェックボックスにチェックし)、送信ボタンを押下する(図17参照)。
次に、第二端末装置12の受付部1202は、「武家屋敷マップ」の第二地図送信指示を受け付ける。第二地図送信指示は、サーバ装置13に対する最終的な地図の送信指示であり、地図識別子(ここでは、「m001」)と、第二端末識別子「MT01」とを含む。そして、送信要求送信部1213は、受け付けられた第二地図送信指示(例えば、命令「get_map m001 MT01」)を、サーバ装置13に送信する。
次に、サーバ装置13の送信要求受信部1307は、第二端末装置12から、第二地図送信指示「get_map m001 MT01」を受信する。
次に、地図送信部1316は、第二地図送信指示が有する地図識別子「m001」に対応する武家屋敷マップを地図情報格納部1301から読み出す。そして、地図送信部1316は、武家屋敷マップを第二端末装置12に送信する。
次に、課金処理部1315は、課金処理を行う。つまり、課金処理部1315は、図14のユーザ管理表を、第二端末識別子「MT01」、地図識別子「m001」をキーとして、課金方法「10円/回」を取得する。そして、課金処理部1315は、課金方法「10円/回」に従った処理を行う。つまり、課金方法「10円/回」は従量課金であるので、本地図のダウンロードにより、第二端末識別子「MT01」に対して、10円課金する。そして、課金処理部1315は、第二端末識別子「MT01」に対応付けて管理されている課金料金に10円加算した値を、図示しない記録媒体(第二端末識別子ごとに課金料を管理している記録媒体)に書き込む。
次に、地図受信部1205は、第二地図送信指示の送信に対応して、サーバ装置13から武家屋敷マップを受信する。次に、地図出力部1210は、受信された武家屋敷マップを出力する。
次に、現在位置情報取得部1207は、現在位置情報(X01,Y01)を取得する、とする。
第二端末送信部1214は、地図出力部1210が出力する地図の地図識別子「m001」と、取得された現在位置情報(X01,Y01)とを用いて、端末情報「m001,(X01,Y01)」を構成する。そして、第二端末送信部1214は、端末情報「m001,(X01,Y01)」をサーバ装置13に送信する。
次に、端末情報受信部1308は、第二端末装置12から端末情報「m001,(X01,Y01)」を受信する。
そして、地点情報取得手段13143は、受信された端末情報を用いて、以下のように地点情報を取得する。つまり、地点情報取得手段13143は、端末情報受信部1308が受信した端末情報が有する地図識別子に対応する3組の位置対応情報を用いて、端末情報が有する現在位置情報(X01,Y01)に対応する地図上の相対位置情報(A01,B01)を取得した、とする。ここで、地点情報取得手段13143は、例えば、3組の位置対応情報(例えば、(A,B,C)(A',B',C'))を選択する場合に、△ABCの内角が全て30度以上かつ120度以下となる3点(A,B,C)を取得し、当該(A,B,C)に対応する(A',B',C')を取得する、とする。なお、かかる方法は、上述した位置対応情報の組を取得する多数の方法の中の第三の方法である。また、地点情報取得部1314は、例えば、上述した第一のアルゴリズムから第八のアルゴリズムの中の第三のアルゴリズムを用いて、現在位置情報(X01,Y01)に対応する地図上の相対位置情報(A01,B01)を取得する、とする。
次に、地点情報取得部1314を構成する絶対位置情報取得手段13141は、端末情報受信部1308が受信した端末情報が有する地図識別子「m001」と現在位置情報(X01,Y01)を用いて、地図識別子「m001」に対応するオブジェクトであり、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を、地理関連情報格納部1302から取得する。ここで、絶対位置情報取得手段13141は、現在位置情報(X01,Y01)と一致する絶対位置情報、または現在位置情報(X01,Y01)との距離が予め格納されている閾値(例えば、1km)以内の絶対位置情報を、地理情報管理表(図12)から検索する、とする。そして、絶対位置情報取得手段13141は、「ID=1」、「ID=3」のレコードを地理情報管理表から検索できた、とする。
次に、地点情報取得手段13143は、取得された2つの絶対位置情報(X01,Y01)(X03,Y03)と対になる1以上の相対位置情報(A01,B01)(A03,B03)を、地図情報格納部1301から読み出す。なお、地図情報格納部1301に、(X01,Y01)または(X03,Y03)に対応する相対位置情報が存在しない場合、地点情報取得手段13143は、上述したアルゴリズムにより、(X01,Y01)または(X03,Y03)に対応する相対位置情報を算出しても良いことは言うまでもない。
次に、地理情報取得手段13142は、取得された2つの絶対位置情報(X01,Y01)(X03,Y03)と対になる1以上の地理情報を、地理関連情報格納部1302(図12)から読み出す。そして、地点情報取得部1314は、取得された情報を用いて、図18に示す地点情報を構成する。
次に、地点情報送信部1317は、構成した地点情報(図18)を、第二端末装置12に送信する。
次に、課金処理部1315は、課金処理を行う。ここでの課金処理は、例えば、地理情報(例えば、広告情報)を登録している者に対して、課金する料金の算出や、課金料を増加させる処理である。つまり、「shopA」および「AB大学」に対して課金する。課金方法は、例えば、一度、地点情報がダウンロードされるごとに、定額(例えば、10円)を課金する。そして、課金処理部1315は、名称「shopA」および「AB大学」(地理情報管理表のID等でも良い)に対応付けて、課金料を図示しない記録媒体に記録する。
次に、第二端末装置12の地点情報受信部1206は、端末情報の送信に対応して、図18の地点情報を受信する。
次に、地図出力部1210は、受信された地点情報に含まれる現在相対位置情報(A01,B01)を取得する。
次に、地図出力部1210は、地図識別子「m001」で識別される地図を出力する。また、第二端末出力部1211は、出力された地図上に、地点情報に含まれる現在相対位置情報(A01,B01)に対応する現在の位置を出力する。さらに、第二端末出力部1211は、地点情報に含まれる地理情報(図18参照)等を出力する。かかる出力例は、図19である。なお、図19において、第一のディスプレイ(上部)には地図が表示され、第二のディスプレイ(下部)には地理情報が表示されている。第二のディスプレイに、広告が表示されても良いことは言うまでもない。また、第二端末出力部1211は、ユーザの現在地から最も近いオブジェクトの地理情報のみを第二のディスプレイに表示する、などしても良い。また、第二のディスプレイの地理情報は、ユーザの現在位置からの距離によりソートされている、などの工夫をして、表示されることは好適である。また、図19の第二のディスプレイで、大学ABの説明情報も出力されている。さらに、図19において、URLを指示すると、図示しないWebサーバから、ウェブページが検索され、表示されることは好適である。また、図19において、現在位置は星印で示されている。
次に、ユーザBは、武家屋敷マップを出力させ、歩きながら、ユーザ入力情報「面白い場所だね。」と、いわゆる「つぶやき」を入力する。
次に、第二端末装置12のユーザ入力情報受付部1203は、ユーザ入力情報「面白い場所だね。」を受け付ける。
次に、ユーザ情報送信部1212は、第二端末識別子「MT01」、受け付けられたユーザ入力情報「面白い場所だね。」と、出力中の地図の地図識別子「m001」と、取得されている最新の現在位置情報(x50,y50)とを用いて、ユーザ情報「MT01,m001,(x50,y50)「面白い場所だね。」」を構成する。そして、ユーザ情報送信部1212は、構成したユーザ情報をサーバ装置13に送信する。
次に、ユーザ情報受信部1309は、第二端末装置12からユーザ情報「MT01,m001,(x50,y50)「面白い場所だね。」」を受信する。
次に、ユーザ情報蓄積部1312は、図示しない時計または外部の装置から時刻「2010/1/15 18:03」を取得する。そして、ユーザ情報蓄積部1312は、時刻を加えたユーザ情報をユーザ情報管理表に蓄積する。このように蓄積されたユーザ情報が、図13の「ID=1」のレコードである。
次に、第二端末識別子「MT07」で識別される第二端末装置12のユーザCが、武家屋敷のアミューズメント会場を訪れた、とする。そして、ユーザCは、地図の送信をサーバ装置13に促す指示であり、地図の名称「武家屋敷マップ」を有する地図送信指示を、自分の第二端末装置12に入力した、とする。すると、第二端末装置12の受付部1202は、ユーザCから、地図送信指示を受け付ける。地図送信指示は、地図の名称と、現在位置情報と、第二端末識別子「MT07」とを有する。なお、現在位置情報は、現在位置情報取得部1207が取得した情報である。
そして、上述した処理により、サーバ装置13から地図と地図識別子「m001」と現在位置情報と地理情報等が第二端末装置12に送信される。
そして、第二端末装置12は、図19に示すような地図と地理情報等を受信し、出力する。
次に、現在位置情報取得部1207は、現在位置情報(x13,y13)を取得した、とする。そして、次に、ユーザCは、図19の地図上に対して、正しい現在位置を入力した、とする。すると、第二端末装置12の受付部1202は、現在位置指示を受け付ける。次に、ユーザ指示相対位置情報取得部1208は、受け付けられた現在位置指示に対応する相対位置情報(a13,b13)を取得する。
次に、第二端末送信部1214は、取得された相対位置情報(a13,b13)と、表示されている地図の地図識別子「m001」と、現在位置情報取得部1207が取得した現在位置情報(x13,y13)とを用いて、登録位置情報「「m001」,(x13,y13),(a13,b13)」を構成する。そして、第二端末送信部1214は、構成した登録位置情報をサーバ装置13に送信する。
次に、登録情報受信部1306は、第二端末装置12から登録位置情報「「m001」,(x13,y13),(a13,b13)」を受信する。
そして、位置対応情報蓄積部1311は、登録情報受信部1306が受信した登録位置情報が有する地図識別子「m001」に対応付けて、登録位置情報が有する相対位置情報(a13,b13)と現在位置情報(x13,y13)との組である位置対応情報を、地図情報格納部1301に蓄積する。かかる位置対応情報が、図11の地図情報管理表の武家屋敷マップの上から3番目の位置対応情報である。かかる処理により、地図を利用する複数人から、位置対応情報を受信し、蓄積できる。
次に、ユーザCの第二端末装置12の現在位置情報取得部1207は、現在位置情報(x51,y51)を取得した、とする。
次に、ユーザCは、ユーザ入力情報「もう少し、きれいに、そうじしてほしいなあ〜。」を、第二端末装置12に対して入力した、とする。そして、ユーザ入力情報受付部1203は、ユーザ入力情報「もう少し、きれいに、そうじしてほしいなあ〜。」を受け付ける。
次に、ユーザ情報送信部1212は、第二端末識別子「MT07」と、受け付けられたユーザ入力情報と、出力中の地図の地図識別子「m001」と、取得されている最新の現在位置情報(x51,y51)とを用いて、ユーザ情報を構成する。そして、ユーザ情報送信部1212は、構成したユーザ情報をサーバ装置13に送信する。
次に、ユーザ情報受信部1309は、第二端末装置12からユーザ情報を受信する。そして、次に、ユーザ情報蓄積部1312は、図示しない時計または外部の装置から時刻「2010/1/15 18:05」を取得する。そして、ユーザ情報蓄積部1312は、時刻を加えたユーザ情報をユーザ情報管理表に蓄積する。このように蓄積されたユーザ情報が、図13の「ID=2」のレコードである。このように、一の地図に対しても、複数のユーザ(第二端末装置12)からユーザ入力情報を受信し、蓄積する。その後も、ユーザCは、地図「武家屋敷マップ」を見ながら、武家屋敷のアミューズメント会場を移動しつつ、つぶやきや、写真などを、サーバ装置13に送信していった、とする。
そして、サーバ装置13は、ユーザ入力情報をユーザ入力情報管理表に蓄積していく。そして、サーバ装置13は、図13に示すユーザ入力情報管理表を得る。図13において、ユーザ入力情報のデータタイプは問わないし、複数のデータタイプのデータの集合でも良い。
次に、ユーザDが、武家屋敷のアミューズメント会場を訪れた、とする。そして、ユーザDが、自分の第二端末装置12に、サーバ装置13から受信した武家屋敷マップを出力した、とする。かかる場合の、第二端末装置12の表示例は、図19である。
次に、ユーザDは、武家屋敷マップを見ながら、他の人が入力したユーザ入力情報を、第二端末装置12に出力させるために、検索要求を第二端末装置12に入力した、とする。
次に、検索要求受付部1204は、ユーザ入力情報の検索要求を受け付ける。ここでの検索要求の入力は、例えば、検索要求ボタンの押下、検索要求のメニュー項目の選択等、何でも良い。
次に、検索要求送信部1209は、出力されている地図の地図識別子「m001」を取得する。そして、検索要求送信部1209は、送信する検索要求「get_usr_input_info m001」を構成する。そして、検索要求送信部1209は、検索要求「get_usr_input_info m001」をサーバ装置13に送信する。
次に、サーバ装置13の検索要求受信部1305は、第二端末装置12から検索要求「get_usr_input_info m001」を受信する。
そして、ユーザ入力情報検索部1313は、受信された検索要求「get_usr_input_info m001」が有する地図識別子「m001」をキーとして、ユーザ情報格納部1303のユーザ情報管理表を検索し、図20に示すユーザ入力情報の集合を取得する。そして、地点情報送信部1317は、取得されたユーザ入力情報の集合を第二端末装置12に送信する。
次に、第二端末装置12の地点情報受信部1206は、検索要求の送信に応じて、サーバ装置13からユーザ入力情報を有する地点情報(図20)を受信する。
次に、第二端末出力部1211は、受信された地点情報を有するユーザ入力情報等を出力する。ここでの出力例は、図21である。図21において、ユーザが存在する位置(現在位置情報)に最も近い位置情報に対応するユーザ入力情報が、第二のディスプレイ(下のディスプレイ)に出力されている。また、地図上の丸印は、ユーザ入力情報に対応する位置に付与されている。ただし、ユーザ入力情報等の出力態様は問わない。図22に示すように、第二端末出力部1211は、地図上のすべてのユーザ入力情報等を出力しても良いし、ユーザが存在する位置(現在位置情報)から所定の距離以内の位置情報に対応するユーザ入力情報等を出力しても良い。また、第二端末出力部1211は、第一のディスプレイ(上のディスプレイ)の丸印の中で、ユーザが指示した丸印に対応するユーザ入力情報等を出力しても良い。
以上、本実施の形態によれば、自身で作成した地図をサーバ装置に登録し、1以上の第二端末装置12のユーザが利用できる。
また、本実施の形態によれば、例えば、自分が見つけた、または作成したランドマーク情報付き地図をチャンネルにまとめて公開・共有するコミュニティサイトを構築できる。
また、本実施の形態によれば、1以上の第二端末装置12のユーザは、ランドマーク等のオブジェクトの情報である地理情報を利用できる。そして、本地図情報システムにおいて、地図上に情報を掲載した広告主に対して課金などの処理もできる。
さらに、本実施の形態によれば、第二端末装置12のユーザは、気になった景色や風景等の写真や動画や、つぶやきや、音声等を地図上のインタフェースからサーバ装置に登録できる。
なお、本実施の形態において、第二端末装置12は第一端末装置11の機能を備えていても良い。つまり、第二端末装置12は、第一端末受付部110、地図格納部111、第一端末識別子格納部112、第一端末送信部113を備えていても良い。また、本実施の形態において、第一端末装置11は第二端末装置12の機能を備えていても良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における第二端末装置12を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、サーバ装置から地図および地図識別子を受信する地図受信部と、前記地図を出力する地図出力部と、現在の位置を示す現在位置情報を取得する現在位置情報取得部と、前記地図出力部が出力する地図の地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有する端末情報を、前記サーバ装置に送信する第二端末送信部と、前記端末情報の送信に対応して、地図上の地点に関する情報であり、現在位置情報に対応する地図上の相対的な位置を示す現在相対位置情報を有する地点情報を、前記サーバ装置から受信する地点情報受信部と、前記地図出力部が出力している地図上に、現在相対位置情報に対応する現在の位置を出力する第二端末出力部として機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、表示されている地図上の現在位置を示す指示である現在位置指示を受け付ける受付部と、前記現在位置指示に対応する相対位置情報を取得するユーザ指示相対位置情報取得部としてさらに機能させ、前記第二端末送信部は、前記ユーザ指示相対位置情報取得部が取得した相対位置情報と、表示されている地図の地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有する登録位置情報を、前記サーバ装置に送信するものとして、コンピュータを、機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、ユーザが入力する情報であるユーザ入力情報を受け付けるユーザ入力情報受付部と、前記ユーザ入力情報と、前記地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有するユーザ情報を、前記サーバ装置に送信するユーザ情報送信部として、さらに機能させ、前記地点情報受信部は、現在相対位置情報とユーザ入力情報とを有する地点情報を受信し、前記第二端末出力部は、前記ユーザ入力情報も出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、記憶媒体に、ユーザ情報を格納しており、コンピュータを、前記第二端末装置からユーザ情報を受信するユーザ情報受信部と、前記ユーザ情報を前記ユーザ情報格納部に蓄積するユーザ情報蓄積部としてさらに機能させ、前記地点情報取得部は、前記端末情報受信部が受信した端末情報が有する地図識別子と現在位置情報とを用いて、前記現在相対位置情報を取得し、かつ、前記ユーザ情報が有する現在位置情報を用いて、前記ユーザ情報格納部からユーザ入力情報を取得し、当該取得した現在相対位置情報とユーザ入力情報を有する地点情報を構成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、記憶媒体に、第二端末装置を識別する第二端末識別子を格納しており、前記ユーザ情報は、前記ユーザ入力情報と、前記地図識別子と、前記現在位置情報と、前記第二端末識別子とを有し、前記地点情報取得部は、前記端末情報受信部が受信した端末情報が有する地図識別子と現在位置情報とを用いて、前記現在相対位置情報を取得し、かつ、前記ユーザ情報が有する現在位置情報を用いて、前記ユーザ情報格納部から、特定の第二端末識別子と対になるユーザ入力情報を取得し、当該取得した現在相対位置情報とユーザ入力情報を有する地点情報を構成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、地図識別子を含むユーザ入力情報の検索要求を受け付ける検索要求受付部と、前記検索要求を前記サーバ装置に送信する検索要求送信部としてさらに機能させ、前記地点情報受信部は、前記検索要求の送信に応じて、前記サーバ装置からユーザ入力情報を有する地点情報を受信し、前記第二端末出力部は、前記ユーザ入力情報も出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、受付部は、地図の送信の要求であり、地図識別子と第二端末識別子とを含む送信要求をも受け付け、コンピュータを、前記受付部が受け付けた送信要求を、前記サーバ装置に送信する送信要求送信部としてさらに機能させるプログラムであることは好適である。
また、上記プログラムにおいて、第二端末送信部は、少なくとも現在位置情報を有する端末情報を、前記サーバ装置に送信し、コンピュータを、他の第二端末装置の現在位置情報に対応する相対位置情報である他端末相対位置情報を、前記サーバ装置から受信する他端末相対位置情報受信部と、前記他端末相対位置情報を出力する他端末相対位置情報出力部としてさらに機能させるプログラムであることは好適である。
また、本実施の形態におけるサーバ装置13を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、絶対位置情報と地図上の相対位置情報との組である2組以上の位置対応情報、地図、および第一端末識別子を有する地図情報を地図識別子ごとに格納しており、コンピュータを、第一端末装置から登録地図情報を受信する登録情報受信部と、前記登録情報受信部が受信した登録地図情報が有する地図と第一端末識別子とを前記記録媒体に蓄積する地図情報蓄積部と、前記第二端末装置から端末情報を受信する端末情報受信部と、前記端末情報受信部が受信した端末情報が有する地図識別子と現在位置情報とを用いて、前記現在相対位置情報を有する地点情報を取得する地点情報取得部と、前記地点情報取得部が取得した地点情報を、前記第二端末装置に送信する地点情報送信部と、前記第二端末装置に、前記記録媒体に格納されている地図を送信する地図送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、記憶媒体に、地点に存在するオブジェクトの情報である地理情報と、絶対位置情報または相対位置情報とを対応付ける情報である地理関連情報を格納しており、前記地点情報取得部は、前記端末情報受信部が受信した端末情報が有する現在位置情報を用いて、前記現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を前記地理関連情報格納部から取得する絶対位置情報取得手段と、前記端末情報受信部が受信した端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、前記絶対位置情報取得手段が取得した1以上の各絶対位置情報に対応する地図上の相対位置情報を含む地点情報を取得する地点情報取得手段とを具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記登録情報受信部は、前記第二端末装置から登録位置情報をも受信し、コンピュータを、前記登録情報受信部が受信した登録位置情報が有する地図識別子に対応付けて、前記登録位置情報が有する相対位置情報と現在位置情報との組である位置対応情報を、前記地図情報格納部に蓄積する位置対応情報蓄積部をさらに具備するものとして機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記第二端末装置から検索要求を受信する検索要求受信部と、前記検索要求受信部が受信した検索要求が有する地図識別子をキーとして、前記ユーザ情報格納部を検索し、ユーザ入力情報を取得するユーザ入力情報検索部としてさらに機能させ、前記地点情報送信部は、前記ユーザ入力情報検索部が取得したユーザ入力情報を、前記第二端末装置に送信するものとして機能させるプログラムであることは好適である。
また、上記プログラムにおいて、記憶媒体に、地図識別子と1以上の第二端末識別子とを対応付けて格納しており、コンピュータを、前記第二端末装置から送信要求を受信する送信要求受信部としてさらに機能させ、前記地図送信部は、前記送信要求が有する地図識別子と第二端末識別子とが、前記ユーザ管理部に対応付けて格納されているか否かを判断し、前記地図識別子と前記第二端末識別子とが対応付けて格納されている場合のみ、前記第二端末装置に、前記地図識別子に対応する地図を送信するものとして機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記地理関連情報は、地図識別子と、地理情報と、絶対位置情報と、前記地理情報の提供者を識別する提供者識別子とを対応付ける情報であり、コンピュータを、前記提供者識別子で識別される提供者ごとに、課金処理を行う課金処理部としてさらに機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記他の第二端末装置から受信された現在位置情報と、前記第二端末装置から受信された地図識別子とを用いて、前記地図識別子で識別される地図上の相対位置を示す情報であり、他の第二端末装置の相対位置情報である他端末相対位置情報を取得する他端末相対位置情報取得部と、前記他端末相対位置情報取得部が取得した他端末相対位置情報を、前記第二端末装置に送信する他端末相対位置情報送信部としてさらに機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記他端末相対位置情報取得部は、前記他の第二端末装置から受信された端末情報が有する現在位置情報と地図識別子と、前記第二端末装置から受信された地図識別子とを用いて、当該第二端末装置から受信された地図識別子が前記他の第二端末装置から受信された地図識別子と一致し、かつ前記地図識別子で識別される地図上の相対位置を示す情報であり、他の第二端末装置の相対位置情報である他端末相対位置情報を取得するプログラムであることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1における地図情報システム1の機能に加えて、各自が保持している第二端末装置の地図上に、他人の居場所(他人が保持している第二端末装置の存在場所)を出力できる機能を有する地図情報システム2について説明する。
本実施の形態における地図情報システム2の概念図は、図1と同様である。地図情報システム2は、1以上の第一端末装置11、1以上の第二端末装置22、およびサーバ装置23を備える。第一端末装置11と第二端末装置22は、例えば、携帯電話やPDAなどの携帯端末、パーソナルコンピュータ、ナビゲーション装置、テレビジョン等、問わない。
図23は、本実施の形態における地図情報システム2を構成する第二端末装置22のブロック図である。
第二端末装置22は、第二端末識別子格納部1201、受付部1202、ユーザ入力情報受付部1203、検索要求受付部1204、地図受信部1205、地点情報受信部1206、他端末相対位置情報受信部2201、現在位置情報取得部1207、ユーザ指示相対位置情報取得部1208、検索要求送信部1209、地図出力部1210、第二端末出力部1211、他端末相対位置情報出力部2202、ユーザ情報送信部1212、送信要求送信部1213、第二端末送信部1214を備える。
また、受付部1202、ユーザ入力情報受付部1203、および検索要求受付部1204は、受付手段を構成する。また、地図受信部1205、および地点情報受信部1206は、受信手段を構成する。また、現在位置情報取得部1207、およびユーザ指示相対位置情報取得部1208は、処理手段を構成する。また、検索要求送信部1209、ユーザ情報送信部1212、送信要求送信部1213、第二端末送信部1214、および第二端末送信部1214は、送信手段を構成する。さらに、地図出力部1210、第二端末出力部1211、および第二端末送信部1214は出力手段を構成する。
図24は、本実施の形態における地図情報システム2を構成するサーバ装置23のブロック図である。
サーバ装置23は、地図情報格納部1301、地理関連情報格納部1302、ユーザ情報格納部1303、ユーザ管理部1304、カレント情報格納部2301、検索要求受信部1305、登録情報受信部1306、送信要求受信部1307、端末情報受信部1308、ユーザ情報受信部1309、地図情報蓄積部1310、位置対応情報蓄積部1311、ユーザ情報蓄積部1312、カレント情報蓄積部2302、ユーザ入力情報検索部1313、地点情報取得部1314、地図送信部1316、地点情報送信部1317、位置対応情報蓄積部1311、ユーザ情報蓄積部1312、ユーザ入力情報検索部1313、地点情報取得部1314、他端末相対位置情報取得部2303、地図送信部1316、地点情報送信部1317、他端末相対位置情報送信部2304を備える。
また、地図情報格納部1301、地理関連情報格納部1302、ユーザ情報格納部1303、ユーザ管理部1304、およびカレント情報格納部2301は、サーバ格納手段を構成する。また、検索要求受信部1305、登録情報受信部1306、送信要求受信部1307、端末情報受信部1308、およびユーザ情報受信部1309は、サーバ受信手段を構成する。また、地図情報蓄積部1310、位置対応情報蓄積部1311、ユーザ情報蓄積部1312、およびカレント情報蓄積部2302は、サーバ蓄積手段を構成する。また、ユーザ入力情報検索部1313、地点情報取得部1314、課金処理部1315、および他端末相対位置情報取得部2303は、サーバ処理手段を構成する。さらに、地図送信部1316、地点情報送信部1317、および他端末相対位置情報送信部2304は、サーバ送信手段を構成する。
他端末相対位置情報受信部2201は、他の第二端末装置22の現在位置情報に対応する相対位置情報である他端末相対位置情報を、サーバ装置23から受信する。
他端末相対位置情報受信部2201は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
他端末相対位置情報出力部2202は、他端末相対位置情報受信部2201が受信した他端末相対位置情報を出力する。他端末相対位置情報の出力とは、他端末の位置が認識可能なように出力することである。他端末相対位置情報出力部2202は、他端末の位置が分かるように、地図上に出力することは好適である。ただし、他端末相対位置情報出力部2202は、他端末相対位置情報を地図上に出力することが必須ではない。
他端末相対位置情報出力部2202は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。他端末相対位置情報出力部2202は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
カレント情報格納部2301は、第二端末装置22の現在の位置に関する情報であるカレント情報を格納している。カレント情報は、例えば、第二端末識別子、地図識別子、現在位置情報、現在位置情報に対応する相対位置情報を有する。カレント情報は、例えば、第二端末識別子、地図識別子、現在位置情報のみでも良い。カレント情報格納部2301は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。カレント情報格納部2301にカレント情報が記憶される過程は問わない。
カレント情報蓄積部2302は、端末情報受信部1308が受信した端末情報を用いてカレント情報を構成し、当該カレント情報をカレント情報格納部2301に蓄積する。カレント情報蓄積部2302は、受信されている地図識別子と現在位置情報とを用いて、地図識別子で識別される地図上での相対位置情報を取得する。そして、カレント情報蓄積部2302は、受信されている第二端末識別子、地図識別子、現在位置情報、および取得した相対位置情報を用いて、カレント情報を構成する。次に、カレント情報蓄積部2302は、構成したカレント情報をカレント情報格納部2301に蓄積する。なお、相対位置情報を算出する処理は、地点情報取得部1314が行い、カレント情報蓄積部2302は、地点情報取得部1314から相対位置情報を得ても良い。カレント情報蓄積部2302は、通常、MPUやメモリ等から実現され得る。カレント情報蓄積部2302の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
他端末相対位置情報取得部2303は、他の第二端末装置22から受信された現在位置情報と、第二端末装置22から受信された地図識別子とを用いて、地図識別子で識別される地図上の相対位置を示す情報であり、他の第二端末装置22の相対位置情報である他端末相対位置情報を取得する。他端末相対位置情報取得部2303は、同じ地図を出力している他の第二端末装置22から受信された現在位置情報に対応する他端末相対位置情報を取得することは好適である。つまり、他端末相対位置情報取得部2303は、他の第二端末装置22から受信された端末情報が有する現在位置情報と地図識別子と、第二端末装置22から受信された地図識別子とを用いて、当該第二端末装置22から受信された地図識別子が他の第二端末装置22から受信された地図識別子と一致し、かつ地図識別子で識別される地図上の相対位置を示す情報であり、他の第二端末装置22の相対位置情報である他端末相対位置情報を取得することは好適である。他端末相対位置情報取得部2303は、複数の他端末相対位置情報を取得しても良いことは言うまでもない。また、他端末相対位置情報取得部2303は、他端末相対位置情報に加えて、他の第二端末装置22の識別子である第二端末識別子等の他の第二端末装置22に関する情報を取得しても良い。
他端末相対位置情報取得部2303は、通常、MPUやメモリ等から実現され得る。他端末相対位置情報取得部2303の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
他端末相対位置情報送信部2304は、他端末相対位置情報取得部2303が取得した他端末相対位置情報を、第二端末装置22に送信する。
他端末相対位置情報送信部2304は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、地図情報システム2を構成する第二端末装置22の動作について、図25のフローチャートを用いて説明する。図25のフローチャートにおいて、図6のフローチャートと同じステップについて説明を省略する。
(ステップS2501)他端末相対位置情報受信部2201は、他の第二端末装置22の現在位置情報に対応する他端末相対位置情報等を、サーバ装置23から受信したか否かを判断する。受信すればステップS2502に行き、受信しなければステップS2501に戻る。なお、所定時間以上経過して、他端末相対位置情報を受信できなければステップS601に戻っても良い。
(ステップS2502)他端末相対位置情報出力部2202は、ステップS2501で受信された他端末相対位置情報等を出力する。ステップS601に戻る。
なお、図25のフローチャートにおいて、第二端末装置22は、ユーザの指示に応じて、他端末相対位置情報等をサーバ装置23から受信しても良い。
また、図25のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、地図情報システム2を構成するサーバ装置23の動作について、図26のフローチャートを用いて説明する。図26のフローチャートにおいて、図7のフローチャートと同じステップについて説明を省略する。
(ステップS2601)カレント情報蓄積部2302は、受信されている端末情報や第二端末識別子を用いてカレント情報を構成し、当該カレント情報をカレント情報格納部2301に蓄積する。
(ステップS2602)他端末相対位置情報取得部2303は、受信されている端末情報が有する地図識別子と同一の地図識別子を有する、他の第二端末装置22のカレント情報を、カレント情報格納部2301から読み出す。なお、ここで、他端末相対位置情報取得部2303は、受信されている端末情報が有する現在位置情報と一定の関係(例えば、閾値以内の距離であることや、同じ道路上にあることや、同じ道路上でより先に居ることなど)にある現在位置情報を有するカレント情報を、カレント情報格納部2301から読み出すようにしても良い。
(ステップS2603)他端末相対位置情報取得部2303は、カウンタiに1を代入する。
(ステップS2604)他端末相対位置情報取得部2303は、ステップS2602で読み出したカレント情報の中に、i番目のカレント情報が存在するか否かを判断する。i番目のカレント情報が存在すればステップS2605に行き、存在しなければステップS2608に行く。
(ステップS2605)他端末相対位置情報取得部2303は、i番目のカレント情報が有する現在位置情報に対応する相対位置情報を取得する。なお、ここで取得する相対位置情報は、受信されている端末情報が有する地図識別子で識別される地図上での相対位置情報である。
(ステップS2606)他端末相対位置情報取得部2303は、ステップS2605で取得した相対位置情報(他端末相対位置情報)をバッファに一時蓄積する。なお、他端末相対位置情報取得部2303は、相対位置情報と、他の第二端末装置22の第二端末識別子などを対応付けて蓄積することは好適である。
(ステップS2607)他端末相対位置情報取得部2303は、カウンタiを1、インクリメントする。ステップS2604に戻る。
(ステップS2608)他端末相対位置情報送信部2304は、ステップS2606でバッファに一時蓄積された他端末相対位置情報等を、ステップS706で端末情報を送信してきた第二端末装置22に送信する。ステップS701に戻る。
なお、図26のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における地図情報システム2の具体的な動作について説明する。
地図情報システム2の概念図は図1と同様である。
今、サーバ装置23の地図情報格納部1301は、図11に示す地図情報管理表を保持している。また、地理関連情報格納部1302は、図12に示す地理関連情報管理表を保持している。また、ユーザ情報格納部1303は、図13に示すユーザ情報管理表を保持している。また、ユーザ管理部1304は、図14に示すユーザ管理表を保持している。
さらに、カレント情報格納部2301は、図27に示すカレント情報管理表を保持している。カレント情報管理表は、「ID」「カレント情報」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「カレント情報」は、「第二端末識別子」「地図識別子」「現在位置情報」「相対位置情報」を有する。相対位置情報は、現在位置情報(絶対位置情報)に対応する、地図識別子で識別される地図上での相対的な位置を示す他端末相対位置情報である。
図27のカレント情報は、端末装置を受信した後に、カレント情報蓄積部2302が蓄積した情報である。
かかる状況で、第二端末識別子「MT01」のユーザBが、武家屋敷のアミューズメント会場を訪れた、とする。そして、ユーザBは、地図の送信をサーバ装置13に促す指示である地図送信指示を、自分の第二端末装置12に入力し、実施の形態1で説明した処理により、図19に示す地図や地理情報等が、第二端末装置12に出力された、とする。
次に、ユーザBは、同じ地図を見ている他の人が近くに居るか否かが知りたくて、他端末相対位置情報等の送信指示を入力する。そして、第二端末装置12はかかる送信指示を受け付け、当該送信指示をサーバ装置23に送信する。なお、他端末相対位置情報等の送信指示は、第二端末識別子「MT01」、地図識別子「m001」、および現在位置情報(xc1,yc1)を含む。なお、現在位置情報(xc1,yc1)は、最近に、現在位置情報取得部1207が取得した現在位置情報である。
次に、サーバ装置23は、他端末相対位置情報等の送信指示を受信する。次に、サーバ装置23の他端末相対位置情報取得部2303は、当該送信指示に含まれる地図識別子「m001」と一致する地図識別子を含むカレント情報を、図27のカレント情報管理表から取得する。なお、ここで、第二端末識別子「MT01」に一致する第二端末識別子を有するカレント情報は除かれることは言うまでもない。また、図27において、カレント情報の中には、第二端末識別子で識別される第二端末装置22のユーザのプロファイル情報も含まれる、とする。プロファイル情報は、例えば、ユーザ管理部1304に、第二端末識別子に対応付けて格納されており、他端末相対位置情報取得部2303は、第二端末識別子をキーとしてプロファイル情報をも取得する、とする。
次に、他端末相対位置情報取得部2303は、送信指示に含まれる現在位置情報(xc1,yc1)から所定距離以内(例えば、1km以内)の現在位置情報を有するカレント情報に絞り込む。そして、他端末相対位置情報取得部2303は、例えば、図28に示す他端末相対位置情報等を取得した、とする。
次に、他端末相対位置情報送信部2304は、図28に示す他端末相対位置情報等を、第二端末識別子「MT01」で識別される第二端末装置22に送信する。
次に、第二端末装置22の他端末相対位置情報受信部2201は、他端末相対位置情報等を、サーバ装置23から受信する。
そして、他端末相対位置情報出力部2202は、受信された他端末相対位置情報等を、図29に示すように出力する。なお、図29において、第一のディスプレイ(上のディスプレイ)には、第二端末識別子が、その第二端末装置22の位置の箇所に出力されている。また、第一のディスプレイには、自分の位置が星印で出力されている。さらに、図29において、第二のディスプレイ(下のディスプレイ)には、他の第二端末装置22の第二端末識別子と、ユーザのプロファイル情報等が出力されている。
以上、本実施の形態によれば、第二端末装置の地図上に、他人の居場所(他人が保持している第二端末装置の存在場所)を出力できる。さらに、本実施の形態によれば、同じ地図を見ている他人の居場所を出力できる。
なお、本実施の形態における第二端末装置22を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、サーバ装置から地図および地図識別子を受信する地図受信部と、前記地図を出力する地図出力部と、現在の位置を示す現在位置情報を取得する現在位置情報取得部と、前記地図出力部が出力する地図の地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有する端末情報を、前記サーバ装置に送信する第二端末送信部と、前記端末情報の送信に対応して、地図上の地点に関する情報であり、現在位置情報に対応する地図上の相対的な位置を示す現在相対位置情報を有する地点情報を、前記サーバ装置から受信する地点情報受信部と、前記地図出力部が出力している地図上に、現在相対位置情報に対応する現在の位置を出力する第二端末出力部として機能させるためのプログラムである。
また、上記プログラムにおいて、第二端末送信部は、少なくとも現在位置情報を有する端末情報を、前記サーバ装置に送信し、コンピュータを、他の第二端末装置の現在位置情報に対応する相対位置情報である他端末相対位置情報を、前記サーバ装置から受信する他端末相対位置情報受信部と、前記他端末相対位置情報を出力する他端末相対位置情報出力部としてさらに機能させるプログラムであることは好適である。
また、本実施の形態におけるサーバ装置23を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、絶対位置情報と地図上の相対位置情報との組である2組以上の位置対応情報、地図、および第一端末識別子を有する地図情報を地図識別子ごとに格納しており、コンピュータを、第一端末装置から登録地図情報を受信する登録情報受信部と、前記登録情報受信部が受信した登録地図情報が有する地図と第一端末識別子とを前記記録媒体に蓄積する地図情報蓄積部と、前記第二端末装置から端末情報を受信する端末情報受信部と、前記端末情報受信部が受信した端末情報が有する地図識別子と現在位置情報とを用いて、前記現在相対位置情報を有する地点情報を取得する地点情報取得部と、前記地点情報取得部が取得した地点情報を、前記第二端末装置に送信する地点情報送信部と、前記第二端末装置に、前記記録媒体に格納されている地図を送信する地図送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、前記他の第二端末装置から受信された現在位置情報と、前記第二端末装置から受信された地図識別子とを用いて、前記地図識別子で識別される地図上の相対位置を示す情報であり、他の第二端末装置の相対位置情報である他端末相対位置情報を取得する他端末相対位置情報取得部と、前記他端末相対位置情報取得部が取得した他端末相対位置情報を、前記第二端末装置に送信する他端末相対位置情報送信部として、さらに機能させるためのプログラムである。
また、図30は、本明細書で述べたプログラムを実行して、上述した実施の形態の地図情報システム等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図30は、このコンピュータシステム340の概観図であり、図31は、コンピュータシステム340の内部構成を示す図である。
図30において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図31において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の地図情報システム等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の地図情報システム等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。