以下、地図情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、古地図や手書きの地図や看板に描かれた地図を撮影した地図(以後、適宜、ユーザ地図という)などの上に、地理的な情報を付加して閲覧する地図情報システムについて説明する。なお、ユーザ地図とは、主として、ユーザが用意した地図である。
また、本実施の形態において、ユーザ地図の精度を高めるための機能を有する地図情報システムについて説明する。
図1は、本実施の形態における地図情報システム1の概念図である。地図情報システム1は、1以上の端末装置11、およびサーバ装置12を備える。端末装置11は、携帯端末(携帯電話を含む)、いわゆるパーソナルコンピュータ、テレビ、ナビゲーション端末等、問わない。
図2は、本実施の形態における地図情報システム1を構成する端末装置11のブロック図である。
端末装置11は、地図格納部1101、受付部1102、地図出力部1103、現在位置情報取得部1104、端末情報送信部1105、地点情報受信部1106、情報出力部1107、ユーザ指示相対位置情報取得部1108、登録情報送信部1109、確認情報送信部1110、現在相対位置情報受信部1111、現在地点出力部1112、修正受付部1113、修正相対位置情報取得部1114、地図受信部1115を備える。
図3は、本実施の形態における地図情報システム1を構成するサーバ装置12のブロック図である。
サーバ装置12は、地図情報格納部1201、地理関連情報格納部1202、端末情報受信部1203、地点情報取得部1204、地点情報送信部1205、登録情報受信部1206、位置対応情報蓄積部1207、地図送信部1208、確認情報受信部1209を備える。
地点情報取得部1204は、絶対位置情報取得手段12041、地理情報取得手段12042、地点情報取得手段12043を備える。
地図格納部1101は、地図と、地図を識別する地図識別子とを格納し得る。地図格納部1101の地図は、通常、サーバ装置12からダウンロードした地図であるが、他の経路(例えば、記憶媒体や、端末装置11が取得するなど)から、取得した地図でも良い。地図は、ビットマップでも良いし、ベクターデータでも良い。地図のデータ構造等は問わない。地図は、例えば、撮影された地図の画像、手書き入力された地図の画像である。撮影された地図の画像とは、例えば、街の看板に描かれた地図をカメラ(図示しない)で撮影して取得された地図画像である。また、地図は、例えば、イラスト地図である。地図識別子とは、地図の名称や地図を識別するIDである。地図識別子がIDである場合、当該IDは、通常、サーバ装置12が付与する。地図格納部1101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。地図格納部1101に地図や地図識別子が記憶される過程は問わない。例えば、記録媒体を介して地図等が地図格納部1101で記憶されるようになってもよく、通信回線等を介して送信された地図等が地図格納部1101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された地図等が地図格納部1101で記憶されるようになってもよい。
受付部1102は、表示されている地図上の現在位置を示す指示である現在位置指示を受け付ける。また、受付部1102は、ユーザから各種の指示や情報を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルやペンなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部1102は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
地図出力部1103は、地図格納部1101の地図を出力する。地図出力部1103は、通常、ユーザが指示した地図を地図格納部1101から読み出し、出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の表示装置への送信などを含む概念である。地図出力部1103は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。地図出力部1103は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
現在位置情報取得部1104は、現在の位置を示す現在位置情報を取得する。現在位置情報取得部1104は、GPS受信機で実現されても良い。また、現在位置情報取得部1104は、携帯電話の3つの局の電波強度を用いて、現在位置情報を取得する機能を有しても良い。かかる機能は公知技術であるので、詳細な説明を省略する。また、現在位置情報とは、現在の位置を示す情報であり、通常、(経度,緯度)である。現在位置情報は、地球上の絶対的な位置を示す情報である絶対位置情報の一種である。
端末情報送信部1105は、地図出力部1103が出力している地図の地図識別子と、現在位置情報取得部1104が取得した現在位置情報とを有する端末情報を、サーバ装置12に送信する。端末情報は、端末を識別する端末識別子を有しても良い。端末識別子は、電話番号、端末のID、ユーザの氏名、ユーザのIDなど、端末を識別する情報であれば何でも良い。端末情報送信部1105は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
地点情報受信部1106は、端末情報の送信に対応して、地図上の地点に関する情報である地点情報を、サーバ装置12から受信する。地点情報は、現在位置情が示す現在位置に関連する情報でも良いし、現在位置の周辺の情報でも良いし、その両方でも良い。さらに具体的には、地点情報は、例えば、現在位置情報に対応する地図上の相対位置情報でも良いし、現在位置の周辺の地点の相対位置情報でも良いし、現在位置の周辺の地点の絶対位置情報でも良い。現在位置の周辺の情報とは、周辺のランドマークの情報などであることは好適である。周辺のランドマークの情報は、周辺のランドマークの相対位置情報だけでも良いし、周辺のランドマークの絶対位置情報だけでも良いし、周辺のランドマークを説明する情報などでも良い。ただし、地点情報とは、地図上の相対位置情報(通常、座標情報(x,y))であることは好適である。また、ランドマークとは、狭くは、土地における方向感党の目印になる建物、国、地域を象徴するシンボル的なモニュメント、建築、空間であるが、店舗(目印になりにくいものも含む)や、交差点なども含む。地点情報受信部1106は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
情報出力部1107は、地点情報受信部1106が受信した地点情報から、当該地点情報に対応する情報である出力情報を出力する。出力情報とは、地点情報そのものでも良いし、ランドマークを示す図柄(元々端末装置が保持している情報)でも良いし、地点情報をキーとして、端末装置が検索した情報などでも良い。情報出力部1107は、例えば、ランドマークを示す図柄や名称を表示する。情報出力部1107は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。情報出力部1107は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ユーザ指示相対位置情報取得部1108は、受付部1102が受け付けた現在位置指示に対応する相対位置情報を取得する。ユーザ指示相対位置情報取得部1108は、通常、ユーザが指示した位置を示す地図上の座標情報(x、y)である相対位置情報を取得する。ユーザ指示相対位置情報取得部1108は、通常、現在位置指示が示す画面上の座標情報を、地図上の座標情報(x、y)に変換する。なお、画面上の座標情報と地図上の座標情報とが一致する場合もある。ユーザ指示相対位置情報取得部1108は、通常、MPUやメモリ等から実現され得る。ユーザ指示相対位置情報取得部1108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
登録情報送信部1109は、登録情報をサーバ装置12に送信する。登録情報は、地図識別子と絶対位置情報と相対位置情報とを有する情報である。登録情報は、例えば、表示されている地図の地図識別子と、ユーザ指示相対位置情報取得部1108が取得した相対位置情報と、現在位置情報取得部1104が取得した現在位置情報(絶対位置情報)とを有する情報である。また、登録情報は、表示されている地図の地図識別子と、修正相対位置情報取得部1114が取得した修正相対位置情報と、現在位置情報取得部1104が取得した現在位置情報(絶対位置情報)とを有する情報である。登録情報送信部1109は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
確認情報送信部1110は、地図識別子と現在位置情報(絶対位置情報)とを有する確認情報を、サーバ装置12に送信する。確認情報は、端末装置11に表示されている地図上での現在位置を確認するために必要な情報である。確認情報送信部1110は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
現在相対位置情報受信部1111は、確認情報の送信に対応して、地図上での現在位置を示す相対位置情報である現在相対位置情報を受信する。現在相対位置情報受信部1111は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
現在地点出力部1112は、現在相対位置情報受信部1111が受信した現在相対位置情報に対応する現在地点を出力する。現在地点の出力は、地図上への出力である。現在地点の出力は、例えば、地図上への図柄(現在地点を示す図柄)の出力である。現在地点出力部1112は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。現在地点出力部1112は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
修正受付部1113は、現在地点出力部1112が出力した現在地点の修正指示を受け付ける。修正指示は、現在地点出力部1112が出力した現在地点に修正がない旨の情報でも良く、修正される地図上の相対位置情報などでも良い。修正指示の入力手段は、マウスやペンによるもの等、何でも良い。修正受付部1113は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
修正相対位置情報取得部1114は、修正受付部1113が受け付けた修正指示に対応する相対位置情報である修正相対位置情報を取得する。修正相対位置情報は、現在相対位置情報受信部1111が受信した現在相対位置情報と同じ情報でも良い。修正相対位置情報取得部1114は、通常、MPUやメモリ等から実現され得る。修正相対位置情報取得部1114の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地図受信部1115は、地図、または地図と地図識別子をサーバ装置12から受信する。地図受信部1115は、受付部1102が受け付けた地図出力指示に従って、地図、または地図と地図識別子をサーバ装置12から受信しても良い。なお、地図出力指示は、地図識別子を含んでも含まなくても良い。また、地図受信部1115が受信した地図、または地図と地図識別子は、通常、地図格納部1101に格納される。地図受信部1115は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
地図情報格納部1201は、絶対位置情報と地図上の相対位置情報との組である2組以上の位置対応情報を地図識別子ごとに格納している。地図情報格納部1201は、地図も格納していることは好適である。また、地図情報格納部1201は、地図識別子ごとに、地図の範囲を示す情報である範囲情報を保持していることは好適である。範囲情報は、例えば、地図の左上の地点を示す絶対位置情報と右下の地点を示す絶対位置情報との組である。また、範囲情報は、例えば、地図の左上の地点を示す相対位置情報と右下の地点を示す相対位置情報との組である。その他、範囲情報の構造は問わない。また、地図識別子ごととは、通常、地図識別子と2組以上の位置対応情報とが対応付けて格納されていることである。地図情報格納部1201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。地図情報格納部1201に位置対応情報等が記憶される過程は問わない。
地理関連情報格納部1202は、地点に存在するオブジェクトの情報である地理情報と絶対位置情報とを対応付ける情報である地理関連情報を格納し得る。AとBとを対応付ける情報とは、AとBとを有する情報でも良い。つまり、地理関連情報は、地理情報と絶対位置情報とを有する情報でも良い。また、地理関連情報は、オブジェクトの名称やオブジェクトのIDなどを有しても良い。ここで、オブジェクトとは、地図上に現れ得るものであり、建物、名勝、地域、市町村、店舗、道路、交差点などである。地理情報とは、例えば、ランドマークの名称、ランドマークを説明する情報など、ランドマークに関する情報、店舗の名称や店舗の情報、名勝や観光地の名称や関連情報などである。地理情報は、オブジェクトに関する情報を検索するための情報(ウェブページのURLや検索先のデータベース名など)なでも良い。地理関連情報格納部1202は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。地理関連情報格納部1202に地理関連情報が記憶される過程は問わない。
端末情報受信部1203は、端末装置11から端末情報を受信する。端末情報は、上述したように、地図識別子と現在位置情報とを有する情報である。端末情報受信部1203は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
地点情報取得部1204は、端末情報受信部1203が受信した端末情報が有する地図識別子と現在位置情報とを用いて、出力情報の元になる情報である地点情報を取得する。地点情報取得部1204は、後述する確認情報受信部1209が受信した確認情報が有する地図識別子と現在位置情報とを用いて、当該現在位置情報に対応する相対位置情報を取得しても良い。なお、絶対位置情報である現在位置情報に対応する相対位置情報を取得する具体的な処理の例は、後述する地点情報取得手段12043の処理である。地点情報取得部1204は、通常、MPUやメモリ等から実現され得る。地点情報取得部1204の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地点情報取得部1204を構成する絶対位置情報取得手段12041は、端末情報受信部1203が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を、地理関連情報格納部1202から取得する。ここで、「周辺」とは、現在位置情報が示す地点から予め決められた距離(なお、この距離は予め保持している)以内の範囲、地図の表示可能な範囲(範囲情報が示す範囲)、現在位置情報が示す地点が含まれる道路上の地点、現在位置情報が示す地点が含まれる道路上の地点であり、かつ現在位置情報が示す地点から予め決められた距離以内の範囲の地点などである。絶対位置情報取得手段12041は、通常、MPUやメモリ等から実現され得る。絶対位置情報取得手段12041の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地理情報取得手段12042は、端末情報受信部1203が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在するオブジェクトの情報である1以上の地理情報を、地理関連情報格納部1202から取得する。地理情報取得手段12042は、通常、MPUやメモリ等から実現され得る。地理情報取得手段12042の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地点情報取得手段12043は、端末情報受信部1203が受信した端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、絶対位置情報取得手段12041が取得した1以上の各絶対位置情報に対応する地図上の相対位置情報を含む地点情報を取得する。ここで、2組以上の位置対応情報とは、地図識別子に対応するすべての位置対応情報でも良いし、一部の位置対応情報でも良い。また、地点情報は、相対位置情報だけでも良い。また、地点情報取得手段12043は、2組の位置対応情報を用いて、相対位置情報を取得しても良いし、3組以上の位置対応情報を用いて、相対位置情報を取得しても良い。
また、地点情報取得手段12043が絶対位置情報(x0,y0)に対応する相対位置情報(a0,b0)を取得するアルゴリズムの例は種々あり、そのアルゴリズムの例(第一のアルゴリズムから第八のアルゴリズム)について、以下に詳細に説明する。第一のアルゴリズムから第八のアルゴリズムにおいて、まず、相対位置情報を取得するために、2組以上の位置対応情報を、地図情報格納部1201から取得する処理を行う。かかる処理について説明する。地点情報取得手段12043は、例えば、以下のように(第一から第五の方法のように)、n組の位置対応情報を取得する。第一に、地点情報取得手段12043は、現在地T(絶対位置情報(x0,y0))の近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。なお、「近傍」とは、現在地Tに近いところから、nの絶対位置情報の点とそれに対する相対位置情報に対応する点を取得することである。ただし、絶対位置情報(緯度経度系)の点は、それぞれ緯度経度が異なることを条件とする。第二に、地点情報取得手段12043は、現在地Tの近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。ただし、緯度経度系の点は、それぞれ緯度経度が異なること、さらに、それぞれの点からなる各線分どうしがなす角が180度でないことを条件とする。第三に、地点情報取得手段12043は、現在地Tの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。第四に、地点情報取得手段12043は、現在地Tを原点とする4象限の各n点とそれらに対応する相対位置情報に対応する点を取得する。(計4×n組の点が取得される)。第五に、地点情報取得手段12043は、現在地Tの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て30度以上かつ120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。なお、通常、多数の位置対応情報を用いて、相対位置情報を取得する方が、精度が高くなる。なお、下記において、位置対応情報は、絶対位置情報(xn,yn)と相対位置情報(an,bn)の組である、とする。また、上記において、実験結果では、第五の方法が優れている場合が多いことが分かっている。
次に、第一のアルゴリズムについて詳細に説明する。地点情報取得手段12043は、1つ以上の絶対位置情報(xn,yn)と一の絶対位置情報(x0,y0)との距離rnの逆数に基づいた係数による、相対位置情報(an,bn)の集合の加重平均の値として相対位置情報(a0,b0)を取得することは好適である。(a0,b0)は、距離rnの逆数を重みとした(an,bn)の加重平均で求められる。具体的には、例えば、以下の数式1により、地点情報取得手段12043は、相対位置情報を取得する。なお、nは1以上の自然数である。
また、地点情報取得手段12043または図示しない補正手段は、各位置情報(例えば、絶対位置座標と相対位置座標を関連させた座標)の歪みを補正する機能を有することは好適である。つまり、地点情報取得手段12043または補正手段は、絶対位置座標における2つの位置情報を結んだ線分と、それに対応する相対位置座標における2つの位置情報を結んだ線分の長さの比のばらつきを補正する機能を有することは好適である。具体的には、地点情報取得手段12043または補正手段は、距離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)であり、地点情報取得手段12043が、3つの絶対位置情報(x1,y1)(x2,y2)(x3,y3)を取得し、地点情報取得手段12043が、3つの相対位置情報(a1,b1)(a2,b2)(a3,b3)を取得した場合、地点情報取得手段12043は、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)を取得する。
また、地点情報取得手段12043または図示しない補正手段は、このα、βの斜交座標系における計算でも歪みの補正を行うことは好適である。歪みの補正を行った場合、|α'|/|α|=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)以降を三番目の地図上位置情報として、地点情報取得手段12043は採択することは、さらに好適である。さらに、地点情報取得手段12043は、上記と同様の目的で、象限の異なる3個の点を候補とすることは、さらに好適である。
また、地点情報取得手段12043は、以下の第二のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段12043は、以下の数式3により、αおよびβを算出する。そして、地点情報取得手段12043は、以下の数式4にα、β、A、B、C、A'、B'、およびC'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第二のアルゴリズムでは、地点情報取得手段12043は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段12043は、以下の第三のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段12043は、数式3により、αおよびβを算出する。次に、地点情報取得手段12043は、数式5にα、β、A、B、C、A'、B'、およびC'を代入し、α2およびβ2を算出する。そして、地点情報取得手段12043は、以下の数式6にα2、β2、A'、B'、C'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第三のアルゴリズムでは、地点情報取得手段12043は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段12043は、以下の第四のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、Tから近い順にA,B,Cとする。そして、A,B,Cに対応する相対位置情報が示す点をA',B',C'とする。地点情報取得手段12043は、数式3により、αおよびβを算出する。次に、地点情報取得手段12043は、数式7にα、β、A、B、C、A'、B'、およびC'を代入し、α2およびβ2を算出する。そして、地点情報取得手段12043は、数式6にα2、β2、A'、B'、C'を代入し、T'を決定する。このT'がTに対応する相対位置情報であり、地図画像上の点を示す。なお、第四のアルゴリズムでは、地点情報取得手段12043は、3個の点のみ用いる(n=3である)。
また、地点情報取得手段12043は、以下の第五のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043が取得した絶対位置情報が示す点がn個存在し、Pnとする。地点情報取得手段12043は、Tからn+1番目に近い絶対位置情報が示す点Oを取得する。また、地点情報取得手段12043は、点Oに対応する相対位置情報が示す点O'を取得する。なお、点Oの取得とは、絶対位置情報の取得である。点O'の取得とは、相対位置情報の取得である。そして、地点情報取得手段12043は、数式8に示す値を重みとして、P'nの加重平均を算出する。この加重平均がT'である。なお、絶対位置情報が示す点Pnに対応する相対位置情報が示す点がP'nである。
また、地点情報取得手段12043は、以下の第六のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043が取得した1以上の絶対位置情報が示す点がn個存在し、Pnとする。地点情報取得手段12043は、Tとn個のPnとの距離の総和dを算出する。そして、地点情報取得手段12043は、数式9に示す値を重みとして、P'nの加重平均を算出し、T'を得る。なお、絶対位置情報が示す点Pnに対応する相対位置情報が示す点がP'nである。
また、地点情報取得手段12043は、以下の第七のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043が取得した4つの絶対位置情報が示す点をA,B,C,Dとする。また、地点情報取得手段12043が取得した4つの相対位置情報が示す点をA',B',C',D'とする。また、点Pのx座標をPx、y座標をPyとする。そして、地点情報取得手段12043は、点A〜Dと点A'〜D'の座標をもとに、数式10に示す2組の4元連立方程式(方程式1、方程式2)でホモグラフィー行列の要素(H1〜H8)を取得する。
次に、地点情報取得手段12043は、H1〜H8により、以下の数式11により、T'のx,y座標(T'x,T'y)を得る。なお、ホモグラフィー行列は3×3であるが、以下の数式12に成り立つため、地点情報取得手段12043は、数式12の各係数をH1〜H8として算出する。
また、地点情報取得手段12043は、以下の第八のアルゴリズムにより、相対位置情報を取得しても良い。
つまり、地点情報取得手段12043は、一の絶対位置情報(x0,y0)が示す点をTとする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、地点情報取得手段12043が取得した2つの絶対位置情報が示す点を、Tから近い順にA,Bとする。そして、A,Bに対応する相対位置情報が示す点をA',B'とする。まず、地点情報取得手段12043は、ベクトルABに対するベクトルATの回転角と、大きさの比率を算出する。そして、地点情報取得手段12043は、ベクトルATの回転角と、大きさの比率を、ベクトルA'B'に適用し、ベクトルA'T'を求める。そして、A'が分かっているので、地点情報取得手段12043は、T'(相対位置情報)を得る。
上記で説明した、地点情報取得手段12043が行う相対位置情報の取得アルゴリズムは、加重平均に基づく手法、アフィン変換に基づく手法、ホモグラフィー変換に基づく手法、および縮尺率の不均等性を補正する係数による変換+アフィン変換等である。
地点情報取得手段12043は、通常、MPUやメモリ等から実現され得る。地点情報取得手段12043の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地点情報送信部1205は、地点情報取得部1204が取得した地点情報を、端末装置11に送信する。また、地点情報送信部1205は、地点情報取得部1204が取得した相対位置情報を、端末装置11に送信しても良い。地点情報送信部1205は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
登録情報受信部1206は、端末装置11から、直接または間接的に登録情報を受信する。ここで、間接的とは、他の装置を介して、受信することである。登録情報受信部1206は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
位置対応情報蓄積部1207は、登録情報受信部1206が受信した登録情報が有する地図識別子に対応付けて、登録情報が有する相対位置情報と現在位置情報との組である位置対応情報を、地図情報格納部1201に蓄積する。位置対応情報蓄積部1207は、位置対応情報を蓄積する前に、受信された登録情報が適切な情報であるか否かを判断することは好適である。位置対応情報蓄積部1207は、例えば、登録情報が有する地図識別子が、地図情報格納部1201に存在するか否かを判断し、地図識別子が存在しなければ、登録情報が不適切な情報である、と判断する。また、位置対応情報蓄積部1207は、例えば、登録情報が有する位置対応情報から、正確でない、または誤差が大きい位置対応情報であると判断した場合、登録情報が不適切な情報である、とする。なお、かかる場合、位置対応情報蓄積部1207は、地図情報格納部1201に登録されている2以上の位置対応情報と、登録情報が有する絶対位置情報または相対位置情報から、相対位置情報または絶対位置情報を算出し、当該算出した相対位置情報または絶対位置情報と、登録情報が有する相対位置情報または絶対位置情報とを比較し、閾値(予め格納している)以上の差異がある場合に、登録情報が不適切な情報である、と判断する。なお、かかる処理は、上述した地点情報取得手段12043の処理(第一から第八のアルゴリズム)と同様の処理を用いる。位置対応情報蓄積部1207は、通常、MPUやメモリ等から実現され得る。位置対応情報蓄積部1207の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地図送信部1208は、地図、または地図識別子と地図とを端末装置11に送信する。地図送信部1208は、端末装置11からの指示により、地図等を端末装置11に送信することは好適である。端末装置11から地図を受信する指示であり、地図識別子を含まない指示であり、絶対位置情報を含む指示である第一地図受信指示が受信された場合、地図送信部1208は、当該第一地図受信指示に含まれる絶対位置情報が示す地点が含まれる地図のメニューを構成し、端末装置11に送信することは好適である。地図のメニューとは、例えば、地図の名称、地図を含む。また、地図送信部1208は、地図のメニューの元になる情報を、地図情報格納部1201から読み出す。また、地図識別子を含む第二地図受信指示が受信された場合、地図送信部1208は、当該第二地図受信指示に含まれる地図識別子に対する地図を地図情報格納部1201から読み出し、端末装置11に送信することは好適である。地図送信部1208は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
確認情報受信部1209は、端末装置11から確認情報を受信する。確認情報受信部1209は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
次に、地図情報システム1の動作について説明する。まず、端末装置11の動作について、図4のフローチャートを用いて説明する。
(ステップS401)受付部1102は、ユーザから、地図を受信する指示である地図受信指示を受け付けたか否かを判断する。地図受信指示を受け付ければステップS402に行き、地図受信指示を受け付けなければステップS406に行く。なお、地図受信指示は、例えば、受信する地図を識別する地図識別子を有する。
(ステップS402)地図受信部1115は、ステップS401で受け付けられた地図受信指示を、サーバ装置12に送信する。
(ステップS403)地図受信部1115は、ステップS402で送信した地図受信指示に対応して、サーバ装置12から地図を受信したか否かを判断する。地図を受信すればステップS404に行き、地図を受信しなければステップS403に戻る。
(ステップS404)地図受信部1115は、ステップS403で受信した地図を、少なくとも一時的に、地図格納部1101に蓄積する。なお、地図受信部1115は、通常、地図識別子と対に地図を蓄積する。
(ステップS405)地図出力部1103は、ステップS403で受信された地図を出力する。ステップS401に戻る。
(ステップS406)現在位置情報取得部1104は、現在位置情報を取得したか否かを判断する。現在位置情報を取得すればステップS407に行き、取得しなければステップS412に行く。
(ステップS407)端末情報送信部1105は、地図出力部1103が出力している地図の地図識別子と、ステップS406で取得された現在位置情報とを有する端末情報を構成する。そして、端末情報送信部1105は、構成した端末情報を、サーバ装置12に送信する。なお、ユーザからの指示に基づいて、端末情報の送信が行われても良い。
(ステップS408)地点情報受信部1106は、ステップS407における端末情報の送信に対応して、地点情報を受信したか否かを判断する。地点情報を受信すればステップS409に行き、地点情報を受信しなければステップS408に戻る。
(ステップS409)地図出力部1103は、ステップS408で受信された地点情報に含まれる現在相対位置情報を取得する。現在相対位置情報とは、現在位置情報(通常、絶対位置情報)に対応する相対的な地図上の位置を示す情報(通常、座標情報)である。
(ステップS410)地図出力部1103は、ステップS409で取得した現在相対位置情報で特定される地点が画面の中央になるように地図を移動する。つまり、地図を、現在相対位置情報で特定される地点に、センタリングする。地図のセンタリング動作は公知技術である。
(ステップS411)情報出力部1107は、ステップS408で受信された地点情報に含まれる地理情報等を出力する。なお、地理情報等とは、例えば、地理情報のみ、地理情報と、現在位置の周辺の地点の相対位置情報が示す位置に表示される図柄などである。ステップS401に戻る。なお、地理情報等の出力は、ユーザの指示により行われても良い。
(ステップS412)受付部1102は、登録情報の送信指示を受け付けたか否かを判断する。登録情報の送信指示を受け付ければステップS413に行き、受け付けなければステップS416に行く。
(ステップS413)受付部1102は、現在位置の指示を受け付けたか否かを判断する。現在位置の指示を受け付ければステップS414に行き、受け付けなければステップS413に戻る。
(ステップS414)登録情報送信部1109は、登録情報を構成する。なお、登録情報の構成は、例えば、以下のように行う。まず、ユーザ指示相対位置情報取得部1108は、ステップS413で受け付けられた指示に対応するユーザ指示相対位置情報(ユーザが指示した相対的な座標情報)を取得する。そして、登録情報送信部1109は、ユーザ指示相対位置情報と、現在位置情報取得部1104が取得した現在位置情報と、地図識別子とを有する登録情報を構成する。なお、地図識別子は、出力されている地図の地図識別子である。また、ステップS422から移動してきた場合、登録情報送信部1109は、ステップS422で取得された修正相対位置情報、現在位置情報取得部1104が取得した現在位置情報と、地図識別子と、修正相対位置情報を含むことを示すフラグ(例えば、「1」)を有する登録情報を構成する。なお、登録情報の中に、修正相対位置情報を含むことを示すフラグが存在すれば、登録情報は正しいと認識し、サーバ装置12内で、登録情報が適正か否かを判断しなくても良い。
(ステップS415)登録情報送信部1109は、ステップS414で構成した登録情報を、サーバ装置12に送信する。ステップS401に戻る。
(ステップS416)受付部1102は、確認指示を受け付けたか否かを判断する。確認指示を受け付ければステップS417に行き、確認指示を受け付けなければステップS401に戻る。
(ステップS417)確認情報送信部1110は、現在位置情報取得部1104が取得した現在位置情報と、地図識別子とを有する確認情報を構成する。
(ステップS418)確認情報送信部1110は、ステップS417で構成した確認情報を、サーバ装置12に送信する。
(ステップS419)現在相対位置情報受信部1111は、現在相対位置情報を受信したか否かを判断する。受信すればステップS420に行き、受信しなければステップS419に戻る。
(ステップS420)現在地点出力部1112は、ステップS419で受信した現在相対位置情報に対応する地点(現在相対位置)を、出力されている地図上に出力する。
(ステップS421)修正受付部1113は、修正指示を受け付けたか否かを判断する。修正指示を受け付ければステップS422に行き、修正指示を受け付けなければステップS421に戻る。なお、修正指示は、例えば、マウスやペンなどの入力手段により、ステップS420で出力された現在相対位置を移動する操作により入力される。また、修正指示は、例えば、マウスやペンなどの入力手段により、地図上の正しい地点を指示する操作により入力される。
(ステップS422)修正相対位置情報取得部1114は、修正相対位置情報を取得する。ステップS414に行く。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、サーバ装置12の動作について、図5のフローチャートを用いて説明する。
(ステップS501)地図送信部1208は、端末装置11から、地図の送信要求を受信したか否かを判断する。地図の送信要求を受信すればステップS502に行き、受信しなければステップS504に行く。
(ステップS502)地図送信部1208は、ステップS501で受信した送信要求に対応する地図等を地図情報格納部1201から読み出す。地図等とは、地図だけでも良いし、地図と地図識別子等でも良い。
(ステップS503)地図送信部1208は、ステップS502で読み出した地図等を端末装置11に送信する。ステップS501に戻る。
(ステップS504)端末情報受信部1203は、端末情報を受信したか否かを判断する。端末情報を受信すればステップS505に行き、端末情報を受信しなければステップS507に行く。
(ステップS505)地点情報取得部1204は、ステップS504で受信された端末情報を用いて、地点情報を取得する。地点情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS506)地点情報送信部1205は、ステップS505で取得された地点情報を、端末装置11に送信する。ステップS501に戻る。
(ステップS507)登録情報受信部1206は、登録情報を受信したか否かを判断する。登録情報を受信すればステップS508に行き、受信しなければステップS510に行く。
(ステップS508)位置対応情報蓄積部1207は、ステップS507で受信された登録情報が適切な情報であるか否かを判断する。適切な情報であればステップS509に行き、適切な情報でなければステップS501に戻る。なお、位置対応情報蓄積部1207は、例えば、第一の方法から第三の方法により、登録情報が適切な情報であるか否かを判断する。第一の方法は、以下である。登録情報に、端末装置識別子が含まれており、位置対応情報蓄積部1207は、予め格納している端末装置識別子を含む登録情報は、不適切な情報であると判断する。かかる場合、予め格納されている端末装置識別子は、現在位置情報取得部1104が故障していたり、現在位置情報取得部1104の精度が悪いと判定されていたりする端末装置11の識別子である。また、かかる場合、予め格納されている端末装置識別子は、過去に不適切な登録情報を1回以上送信してきた端末装置11の識別子である。第二の方法は、以下である。予め格納している端末装置識別子を含む登録情報は、適切な情報であると判断する。かかる場合、信用がおけるユーザおよび端末装置11に対応する端末装置識別子を、予め登録している。第三の方法は、以下である。位置対応情報蓄積部1207は、地図情報格納部1201から、登録情報に含まれる地図識別子と対になる2以上の位置対応情報を読み出す。そして、位置対応情報蓄積部1207は、2以上の位置対応情報に対して、登録情報に含まれる位置対応情報(相対位置情報と絶対位置情報)が、所定の条件を満たすほど、不適切か否かを判断する。具体的には、第一から第八のアルゴリズムを用いて登録情報が不適切か否かを判断することは、上述した通りである。なお、位置対応情報蓄積部1207は、端末装置11から、修正相対位置情報を含む登録情報を受信した場合は、本ステップにおける処理は行わないことは好適である。つまり、例えば、登録情報は、修正相対位置情報を含むことを示すフラグを有し、位置対応情報蓄積部1207は、かかるフラグの存在を検知し、本ステップをスキップすることは好適である。
(ステップS509)位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報を、地図情報格納部1201に蓄積する。なお、位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報を、登録情報に含まれる地図識別子に対応する位置対応情報の格納領域に蓄積する。ステップS501に戻る。
(ステップS510)確認情報受信部1209は、確認情報を受信したか否かを判断する。確認情報を受信すればステップS511に行き、確認情報を受信しなければステップS501に戻る。
(ステップS511)地点情報取得部1204は、確認情報受信部1209が受信した確認情報が有する地図識別子と現在位置情報とを用いて、当該現在位置情報(絶対位置情報)に対応する相対位置情報を取得する。かかる相対位置情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS512)地点情報送信部1205は、ステップS511で取得された相対位置情報を、端末装置11に送信する。
(ステップS513)登録情報受信部1206は、登録情報を受信したか否かを判断する。登録情報を受信すればステップS509に行き、登録情報を受信しなければステップS513に戻る。なお、ここで受信される登録情報は、修正相対位置情報を含むことを示すフラグを有することは好適である。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS505の地点情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS601)地点情報取得手段12043は、端末情報受信部1203が受信した端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、端末情報が有する現在位置情報(絶対位置情報)に対応する地図上の相対位置情報を取得する。絶対位置情報が与えられた場合に、当該絶対位置情報に対応する相対位置情報を取得する処理を相対位置情報取得処理という。相対位置情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS602)地点情報取得部1204を構成する絶対位置情報取得手段12041は、端末情報受信部1203が受信した端末情報が有する現在位置情報を用いて、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を、地理関連情報格納部1202から取得する。かかる処理を、周辺絶対位置情報取得処理という。周辺絶対位置情報取得処理について、図9のフローチャートを用いて説明する。
(ステップS603)地点情報取得手段12043は、ステップS602で取得された1以上の絶対位置情報と対になる1以上の相対位置情報を、地図情報格納部1201から読み出す。
(ステップS604)地理情報取得手段12042は、ステップS602で取得された1以上の絶対位置情報と対になる1以上の地理情報を、地理関連情報格納部1202から読み出す。
(ステップS605)地点情報取得部1204は、ステップS601からステップS604で取得された情報を用いて、地点情報を構成する。
(ステップS606)地点情報送信部1205は、ステップS605で構成した地点情報を、端末装置11に送信する。上位処理にリターンする。
次に、ステップS511、S601の相対位置情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS701)地点情報取得手段12043は、絶対位置情報(T)とは異なる3つの絶対位置情報を取得する。かかる処理を三点取得処理という。三点取得処理について、図8のフローチャートを用いて説明する。また、ここで取得した3つの絶対位置情報を、A、B、Cである、とする。
(ステップS702)地点情報取得手段12043は、ステップS701で取得した3つの絶対位置情報(A、B、C)の各々と対になる相対位置情報(A'、B'、C')を、地図情報格納部1201から取得する。
(ステップS703)地点情報取得手段12043は、ベクトルAT、ベクトルAB、ベクトルACを算出する。
(ステップS704)地点情報取得手段12043は、数式3に、ベクトルAT、ベクトルAB、ベクトルACを代入し、α、βを算出する。
(ステップS705)地点情報取得手段12043は、ベクトルA'B'、ベクトルA'C'を算出する。
(ステップS706)地点情報取得手段12043は、数式5に、α、β、ベクトルA'B'、ベクトルA'C'、ベクトルAB、およびベクトルACを代入し、α2、β2を算出する。
(ステップS707)地点情報取得手段12043は、数式6に、α2、β2、ベクトルA'B'、ベクトルA'C'を代入し、ベクトルA'T'を算出する。
(ステップS708)地点情報取得手段12043は、A'、およびベクトルA'T'から、T'を算出する。上位処理にリターンする。
次に、ステップS701の三点取得処理について、図8のフローチャートを用いて説明する。
(ステップS801)地点情報取得手段12043は、地図情報格納部1201の絶対位置情報をTから近い順にソートする。
(ステップS802)地点情報取得手段12043は、カウンタiに1を代入する。
(ステップS803)地点情報取得手段12043は、ステップS801でソートした絶対位置情報の中に、i番目の絶対位置情報が存在するか否かを判断する。i番目の絶対位置情報が存在すればステップS804に行き、存在しなければステップS817に行く。
(ステップS804)地点情報取得手段12043は、変数Aに、i番目の絶対位置情報を代入する。
(ステップS805)地点情報取得手段12043は、カウンタjにi+1を代入する。
(ステップS806)地点情報取得手段12043は、ステップS801でソートした絶対位置情報の中に、j番目の絶対位置情報が存在するか否かを判断する。j番目の絶対位置情報が存在すればステップS807に行き、存在しなければステップS816に行く。
(ステップS807)地点情報取得手段12043は、変数Bに、j番目の絶対位置情報を代入する。
(ステップS808)地点情報取得手段12043は、カウンタkにj+1を代入する。
(ステップS809)地点情報取得手段12043は、ステップS801でソートした絶対位置情報の中に、k番目の絶対位置情報が存在するか否かを判断する。k番目の絶対位置情報が存在すればステップS810に行き、存在しなければステップS815に行く。
(ステップS810)地点情報取得手段12043は、変数Cに、k番目の絶対位置情報を代入する。
(ステップS811)地点情報取得手段12043は、△ABCの内角を、それぞれ算出する。なお、三点の座標情報を与えられている場合に、△ABCの内角を算出する処理は公知技術である。
(ステップS812)地点情報取得手段12043は、ステップS811で算出した3つの内角が、30度以上であり、かつ120度以下であるか否かを判断する。かかる条件を満たせばステップS813に行き、かかる条件を満たさなければステップS814に行く。
(ステップS813)地点情報取得手段12043は、変数A、B、Cの内容を、3つの絶対位置情報として取得する。上位処理にリターンする。
(ステップS814)地点情報取得手段12043は、カウンタkを1、インクリメントする。ステップS809に戻る。
(ステップS815)地点情報取得手段12043は、カウンタjを1、インクリメントする。ステップS806に戻る。
(ステップS816)地点情報取得手段12043は、カウンタiを1、インクリメントする。ステップS803に戻る。
(ステップS817)地点情報取得手段12043は、任意の三点A、B、Cを3つの絶対位置情報として取得する。上位処理にリターンする。
次に、ステップS602の周辺絶対位置情報取得処理について、図9のフローチャートを用いて説明する。
(ステップS901)絶対位置情報取得手段12041は、端末情報受信部1203が受信した端末情報が有する地図識別子をキーとして、地図情報格納部1201を検索し、地図識別子に対応する絶対位置情報を取得する。
(ステップS902)絶対位置情報取得手段12041は、カウンタiに1を代入する。
(ステップS903)絶対位置情報取得手段12041は、ステップS901で取得した絶対位置情報の中に、i番目の絶対位置情報が存在するか否かを判断する。i番目の絶対位置情報が存在すればステップS904に行き、i番目の絶対位置情報が存在しなければ上位処理にリターンする。
(ステップS904)絶対位置情報取得手段12041は、i番目の絶対位置情報が、端末情報受信部1203が受信した端末情報が有する現在位置情報に対して、「周辺」の条件を満たすか否かを判断する。「周辺」の条件を満たせばステップS905に行き、「周辺」の条件を満たさなければステップS906に行く。「周辺」の条件とは、例えば、予め格納されている閾値以内の距離であること、または同一の道路上に存在し、かつ予め格納されている閾値以内の距離であること等である。現在位置情報が示す地点と同一の道路上に存在するか否かを判断するためには、図示しない道路情報格納部に、道路識別子と道路を特定する2以上の絶対位置情報の集合の情報を有する道路情報が格納されている必要がある。そして、絶対位置情報取得手段12041は、かかる道路情報を用いて、現在位置情報とi番目の絶対位置情報とが同一の道路上に存在するか否かを判断する。
(ステップS905)絶対位置情報取得手段12041は、i番目の絶対位置情報をバッファに一時格納する。
(ステップS906)絶対位置情報取得手段12041は、カウンタiを1、インクリメントする。ステップS903に戻る。
なお、上記の図4から図9のフローチャートは、処理の一例であることは言うまでもない。
以下、本実施の形態における地図情報システム1の具体的な動作について説明する。地図情報システム1の概念図は図1である。
今、地図情報格納部1201は、図10に示す地図情報管理表を保持している。地図情報管理表は、「地図の名称」「地図識別子」「位置対応情報」「地図」を有するレコードを1以上、保持している。1レコードに、複数の位置対応情報が存在し得る。また、「地図」は、例えば、カメラで撮影された画像や、手書きの地図(データ形式は問わない)などである。
また、地理関連情報格納部1202は、図11に示す地理関連情報管理表を保持している。地理関連情報管理表は「ID」「名称」「絶対位置情報」「地理情報」を有するレコードを1以上、保持している。「名称」は、ランドマークや店舗や名勝や地域や地方公共団体などの名称である。また、絶対位置情報は、通常、緯度と経度を有する情報である。また、「地理情報」は、「URL」「シンボルアイコン」「説明情報」「広告」などの情報を含む。「URL」は、ランドマークや名勝や地域や地方公共団体など(以下、ランドマーク等という)のウェブページのURL(URIでも良い)である。「シンボルアイコン」は、ランドマーク等を象徴するアイコンである。「説明情報」は、ランドマーク等を説明する文や音声情報や静止画や動画などである。さらに、「広告」は、ランドマーク等を宣伝広告するための情報であり、文や音声情報や静止画や動画など、そのデータタイプは問わない。
なお、端末装置11のユーザAは、アミューズメント会場の入り口の手前に立てかけられているアミューズメント会場のイラスト地図の看板(図12参照)を、端末装置11のカメラ(図示しない)を用いて、撮影した、とする。そして、地図出力部1103は、当該撮影した地図画像を出力する。次に、ユーザAは、端末装置11に、撮影したイラスト地図の名称「武家屋敷マップ」を入力する。そして、ユーザAは、自身が取得した地図を登録する指示である地図登録指示を端末装置11に入力する。そして、端末装置11の登録情報送信部1109(図示しない地図送信手段でも良い)は、図12の地図画像と、「武家屋敷マップ」という地図の名称を対応付けて、サーバ装置12に送信する。
次に、サーバ装置12の図示しない受信部は、地図画像と「武家屋敷マップ」という地図の名称とを受信し、図示しない蓄積部は、当該地図等を地図格納部1101に蓄積する。かかる場合、図示しない蓄積部は、地図識別子「m001」を生成し、地図格納部1101に蓄積する、とする。なお、地図識別子は、例えば、「m000」から自動的に1ずつインクリメントされて、生成される。そして、サーバ装置12の図示しない送信部は、地図識別子「m001」を端末装置11に送信する。なお、「m000」に対応するレコードは、図10では、省略されている。
次に、端末装置11の図示しない受信部は、地図識別子「m001」を受信する。そして、端末装置11の図示しない蓄積部は、端末装置11の地図格納部1101に、図12の地図画像と「武家屋敷マップ」という地図の名称と対応付けて、地図識別子「m001」を蓄積する、とする。
次に、ユーザAは、地図識別子「m001」の地図に対して、登録情報の送信指示を入力する。そして、受付部1102は、登録情報の送信指示を受け付ける。
次に、ユーザAは、画面上の地図(撮影した地図であり、図12の地図)上で1点目の現在地を指示する入力をする。そして、受付部1102は、現在位置の指示を受け付ける。次に、ユーザ指示相対位置情報取得部1108は、受け付けられた指示に対応するユーザ指示相対位置情報(a11、b11)を取得する。なお、ユーザ指示相対位置情報は、ユーザAが指示した地図上の相対的な座標情報である。
次に、現在位置情報取得部1104は、現在位置情報(x11、y11)を取得する。なお、通常、定期的に、現在位置情報取得部1104は、現在位置情報を取得している。そして、ユーザ指示相対位置情報取得部1108は、ユーザ指示相対位置情報(a11、b11)と、現在位置情報取得部1104が取得した現在位置情報(x11、y11)と、地図識別子「m001」とを有する登録情報を構成する。登録情報は、例えば、「m001,(x11、y11),(a11、b11)」である。そして、登録情報送信部1109は、構成した登録情報「m001,(x11、y11),(a11、b11)」を、サーバ装置12に送信する。
次に、サーバ装置12の登録情報受信部1206は、登録情報を受信する。次に、位置対応情報蓄積部1207は、受信された登録情報が適切な情報であるか否かを判断する。ここで、「m001」に対応する位置対応情報が地図情報格納部1201に存在しないので、適切な情報であると判断する。そして、位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報「(x11、y11),(a11、b11)」を、地図情報管理表の地図識別子「m001」を有するレコードに蓄積する。なお、ここでの、受信された登録情報が適切な情報であるか否かを判断するアルゴリズムは、他のアルゴリズムでも良い。
次に、ユーザAは、少し移動し、2点目の現在地を登録する。つまり、ユーザAは、画面上の地図上で2点目の現在地を指示する入力をする。そして、受付部1102は、現在位置の指示を受け付ける。次に、ユーザ指示相対位置情報取得部1108は、受け付けられた指示に対応するユーザ指示相対位置情報(a12、b12)を取得する。
次に、現在位置情報取得部1104は、現在位置情報(x12、y12)を取得する。そして、登録情報送信部1109は、ユーザ指示相対位置情報(a12、b12)と、現在位置情報(x12、y12)と、地図識別子「m001」とを有する登録情報を構成する。登録情報は、例えば、「m001,(x12、y12),(a12、b12)」である。そして、登録情報送信部1109は、構成した登録情報「m001,(x12、y12),(a12、b12)」を、サーバ装置12に送信する。
次に、サーバ装置12の登録情報受信部1206は、登録情報を受信する。次に、位置対応情報蓄積部1207は、受信された登録情報が適切な情報であるか否かを判断する。ここで、「m001」に対応する位置対応情報が地図情報格納部1201に1つしか存在しないので、適切な情報であると判断する。そして、位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報「(x12、y12),(a12、b12)」を、地図情報管理表の地図識別子「m001」を有するレコードに蓄積する。なお、ここでの、受信された登録情報が適切な情報であるか否かを判断するアルゴリズムは、他のアルゴリズムでも良い。
次に、ユーザAは、少し移動し、端末装置11に確認指示を入力する。そして、受付部1102は、確認指示を受け付ける。
次に、現在位置情報取得部1104は、現在位置情報(x13、y13)を取得する。次に、確認情報送信部1110は、現在位置情報取得部1104が取得した現在位置情報(x13、y13)と、地図識別子「m001」とを有する確認情報(「m001,(x13、y13)」)を構成する。そして、確認情報送信部1110は、構成した確認情報「m001,(x13、y13)」を、サーバ装置12に送信する。
次に、サーバ装置12の確認情報受信部1209は、確認情報「m001,(x13、y13)」を受信する。
次に、地点情報取得部1204は、確認情報受信部1209が受信した確認情報「m001,(x13、y13)」が有する地図識別子「m001」をキーとして、地図情報管理表から、位置対応情報「(x11、y11),(a11、b11)」、「(x12、y12),(a12、b12)」を読み出す。
次に、地点情報取得部1204は、確認情報「m001,(x13、y13)」が有する現在位置情報「(x13、y13)」に対応する相対位置情報(a,b)を算出するために、位置対応情報「(x11、y11),(a11、b11)」、「(x12、y12),(a12、b12)」に基づくアフィン変換を行い、相対位置情報(a,b)を取得する。なお、相対位置情報(a,b)の取得アルゴリズムは問わない。
次に、地点情報送信部1205は、取得された相対位置情報(a,b)を、端末装置11に送信する。
次に、端末装置11の現在相対位置情報受信部1111は、現在相対位置情報(a,b)を受信する。そして、現在地点出力部1112は、受信した現在相対位置情報(a,b)に対応する地点(現在相対位置)を、出力されている地図上に出力する。かかる出力例は、図13である。図13において、武家屋敷マップ上の白丸の図形の地点が現在相対位置情報(a,b)に対応する地点である。
次に、ユーザAは入力手段(例えば、ペン)を用いて、例えば、ドラッグ操作により、白丸の図形を、ユーザAが居る正しい位置に移動させた、とする。かかる正しい位置への、白丸の図形の移動の操作は、修正指示である。そして、修正受付部1113は、修正指示を受け付ける。
次に、修正相対位置情報取得部1114は、修正指示に対応する白丸の図形が最終的に移動した座標である修正相対位置情報(a13、b13)を取得する。次に、登録情報送信部1109は、修正相対位置情報(a13、b13)、確認情報「m001,(x13、y13)」が有する現在位置情報(x13、y13)と、地図識別子「m001」とを有する登録情報「m001,(x13、y13),(a13、b13),1」を構成する。なお、登録情報に含まれる「1」は、修正相対位置情報を含むことを示すフラグである。
次に、登録情報送信部1109は、構成した登録情報「m001,(x13、y13),(a13、b13),1」を、サーバ装置12に送信する。
次に、サーバ装置12の登録情報受信部1206は、登録情報を受信する。次に、位置対応情報蓄積部1207は、登録情報の中に、修正相対位置情報を含むことを示すフラグ「1」を検出する。そして、位置対応情報蓄積部1207は、受信された登録情報が適切な情報であるか否かを判断する処理を行わない。
次に、位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報「(x13、y13),(a13、b13)」を、地図識別子「m001」に対応付けて、地図情報格納部1201に蓄積する。
次に、さらに、ユーザAは、少し移動する。そして、ユーザAは、端末装置11に確認指示を入力する。そして、受付部1102は、確認指示を受け付ける。
次に、現在位置情報取得部1104は、現在位置情報(x14、y14)を取得する。次に、確認情報送信部1110は、現在位置情報取得部1104が取得した現在位置情報(x14、y14)と、地図識別子「m001」とを有する確認情報(「m001,(x14、y14)」)を構成する。そして、確認情報送信部1110は、構成した確認情報「m001,(x14、y14)」を、サーバ装置12に送信する。
次に、サーバ装置12の確認情報受信部1209は、確認情報「m001,(x14、y14)」を受信する。
次に、地点情報取得部1204は、確認情報受信部1209が受信した確認情報「m001,(x14、y14)」が有する地図識別子「m001」をキーとして、地図情報管理表から、位置対応情報「(x11、y11),(a11、b11)」、「(x12、y12),(a12、b12)」、「(x13、y13),(a13、b13)」を読み出す。
次に、地点情報取得部1204は、確認情報「m001,(x14、y14)」が有する絶対位置情報「(x14、y14)」に対応する相対位置情報(c,d)を算出するために、例えば、上述した第三のアルゴリズムにより相対位置情報を取得する。ここで、地図情報管理表に3つの位置対応情報が存在するので、地点情報取得部1204は、第三のアルゴリズムにより相対位置情報を取得でき得る。そして、地点情報取得部1204は、絶対位置情報「(x14、y14)」に対応する相対位置情報(c,d)を算出した、とする。
次に、地点情報送信部1205は、取得された相対位置情報(c,d)を、端末装置11に送信する。
次に、端末装置11の現在相対位置情報受信部1111は、現在相対位置情報(c,d)を受信する。そして、現在地点出力部1112は、受信した現在相対位置情報(c,d)に対応する地点(現在相対位置)を、白丸の図形により、出力されている地図上に出力する。
次に、ユーザAは入力手段(例えば、ペン)を用いて、例えば、ドラッグ操作により、白丸の図形を、ユーザAが居る正しい位置に移動させた、とする。そして、修正受付部1113は、かかる修正指示を受け付ける。
次に、修正相対位置情報取得部1114は、修正指示に対応する白丸の図形が最終的に移動した座標である修正相対位置情報(a14、b14)を取得する。次に、登録情報送信部1109は、修正相対位置情報(a14、b14)、確認情報「m001,(x14、y14)」が有する現在位置情報(x14、y14)と、地図識別子「m001」とを有する登録情報「m001,(x14、y14),(a14、b14),1」を構成する。
次に、登録情報送信部1109は、構成した登録情報「m001,(x14、y14),(a14、b14),1」を、サーバ装置12に送信する。
次に、サーバ装置12の登録情報受信部1206は、登録情報を受信する。次に、位置対応情報蓄積部1207は、登録情報の中に、修正相対位置情報を含むことを示すフラグ「1」を検出する。そして、位置対応情報蓄積部1207は、受信された登録情報が適切な情報であるか否かを判断する処理を行わない。
次に、位置対応情報蓄積部1207は、登録情報に含まれる位置対応情報「(x14、y14),(a14、b14)」を、地図識別子「m001」に対応付けて、地図情報格納部1201に蓄積する。
以上のような確認情報の送信および位置の修正の処理を、多数回行えば行うほど、武家屋敷マップの地図の精度が向上する。
次に、ユーザBが、武家屋敷のアミューズメント会場を訪れた、とする。そして、ユーザBは、地図を受信する指示である第一の指示である第一地図受信指示を、自分の端末装置11に入力した、とする。すると、端末装置11の受付部1102は、ユーザBから、地図を受信する指示である第一地図受信指示を受け付ける。第一地図受信指示は、地図のメニューまたは地図を送信する指示と、現在位置情報とを有する。なお、現在位置情報は、現在位置情報取得部1104が取得した情報である。
次に、地図受信部1115は、受け付けられた第一地図受信指示を、サーバ装置12に送信する。
次に、サーバ装置12の地図送信部1208は、端末装置11から、地図の送信要求の一例である第一地図受信指示を受信する。そして、地図送信部1208は、受信した第一地図受信指示に対応する1以上の地図等を地図情報格納部1201から読み出す。つまり、地図送信部1208は、第一地図受信指示が有する現在位置情報が地図の領域に含まれる地図を、地図情報管理表(図10参照)から検索する。ここで、地図送信部1208は、地図識別子「m001」と「m062」の地図を検索した、とする。なお、地図送信部1208は、地図情報管理表の絶対位置情報に対して、第一地図受信指示が有する現在位置情報をマッチングさせ、地図識別子を検索しても良い。また、地図情報管理表の各レコードが地図の範囲の情報を絶対位置情報で保持しており、地図送信部1208は、かかる地図の範囲の情報に対して、第一地図受信指示が有する現在位置情報をマッチングさせ、地図識別子を検索しても良い。なお、地図の範囲の情報とは、例えば、緯度の範囲と経度の範囲を有する情報である。
次に、地図送信部1208は、図14に示す情報(地図選択用のメニュー情報)を取得する。そして、地図送信部1208は、図14に示す地図選択用のメニュー情報を端末装置11に送信する。なお、図14のメニュー情報が有する地図は、地図情報格納部1201に含まれる地図のサムネイルであることは好適である。
次に、地図受信部1115は、サーバ装置12から地図選択用のメニュー情報を受信する。そして、地図出力部1103は、受信された地図選択用のメニュー情報を、例えば、図15のように出力する。なお、図15において、地図識別子は表示されていない。
次に、ユーザBは、地図選択用のメニュー情報から「武家屋敷マップ」を選択し(チェックボックスにチェックし)、送信ボタンを押下する(図15参照)。
次に、端末装置11の受付部1102は、「武家屋敷マップ」の第二地図受信指示を受け付ける。第二地図受信指示は、サーバ装置12に対する最終的な地図の送信指示であり、地図識別子(ここでは、「m001」)を含む。そして、地図受信部1115は、受け付けられた第二地図受信指示(例えば、命令「get_map m001」)を、サーバ装置12に送信する。
次に、サーバ装置12の地図送信部1208は、端末装置11から、第二地図受信指示「get_map m001」を受信する。
次に、地図送信部1208は、第二地図受信指示が有する地図識別子「m001」に対応する武家屋敷マップを地図情報格納部1201から読み出す。そして、地図送信部1208は、武家屋敷マップを端末装置11に送信する。
次に、地図受信部1115は、第二地図受信指示の送信に対応して、サーバ装置12から武家屋敷マップを受信する。そして、地図受信部1115は、受信した地図等を、少なくとも一時的に、地図格納部1101に蓄積する。次に、地図出力部1103は、受信された武家屋敷マップを出力する。
次に、現在位置情報取得部1104は、現在位置情報(X01,Y01)を取得する、とする。
次に、端末情報送信部1105は、地図出力部1103が出力している地図の地図識別子「m001」と、取得された現在位置情報(X01,Y01)とを有する端末情報「m001,(X01,Y01)」を構成する。そして、端末情報送信部1105は、構成した端末情報「m001,(X01,Y01)」を、サーバ装置12に送信する。
次に、サーバ装置12の端末情報受信部1203は、端末情報「m001,(X01,Y01)」を受信する。
そして、地点情報取得部1204は、受信された端末情報を用いて、以下のように地点情報を取得する。つまり、地点情報取得部1204を構成する地点情報取得手段12043は、端末情報受信部1203が受信した端末情報が有する地図識別子に対応する3組の位置対応情報を用いて、端末情報が有する現在位置情報(X01,Y01)に対応する地図上の相対位置情報(A01,B01)を取得した、とする。ここで、地点情報取得手段12043は、例えば、3組の位置対応情報(例えば、(A,B,C)(A',B',C'))を選択する場合に、△ABCの内角が全て30度以上かつ120度以下となる3点(A,B,C)を取得し、当該(A,B,C)に対応する(A',B',C')を取得する、とする。なお、かかる方法は、上述した位置対応情報の組を取得する多数の方法の中の第三の方法である。また、地点情報取得部1204は、例えば、上述した第一のアルゴリズムから第八のアルゴリズムの中の第三のアルゴリズムを用いて、現在位置情報(X01,Y01)に対応する地図上の相対位置情報(A01,B01)を取得する、とする。
次に、地点情報取得部1204を構成する絶対位置情報取得手段12041は、端末情報受信部1203が受信した端末情報が有する現在位置情報(X01,Y01)を用いて、現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を、地理関連情報格納部1202から取得する。ここで、絶対位置情報取得手段12041は、現在位置情報(X01,Y01)と一致する絶対位置情報、または現在位置情報(X01,Y01)との距離が予め格納されている閾値(例えば、1km)以内の絶対位置情報を、地理情報管理表(図11)から検索する、とする。そして、絶対位置情報取得手段12041は、「ID=1」、「ID=4」のレコードを地理情報管理表から検索できた、とする。
次に、地点情報取得手段12043は、取得された2つの絶対位置情報(X01,Y01)(X04,Y04)と対になる1以上の相対位置情報(A01,B01)(A04,B04)を、地図情報格納部1201から読み出す。なお、地図情報格納部1201に、(X01,Y01)または(X04,Y04)に対応する相対位置情報が存在しない場合、地点情報取得手段12043は、上述したアルゴリズムにより、(X01,Y01)または(X04,Y04)に対応する相対位置情報を算出しても良いことは言うまでもない。
次に、地理情報取得手段12042は、取得された2つの絶対位置情報(X01,Y01)(X04,Y04)と対になる1以上の地理情報を、地理関連情報格納部1202(図11)から読み出す。そして、地点情報取得部1204は、取得された情報を用いて、図16に示す地点情報を構成する。
次に、地点情報送信部1205は、構成した地点情報(図16)を、端末装置11に送信する。
次に、端末装置11の地点情報受信部1106は、端末情報の送信に対応して、図16の地点情報を受信する。
次に、地図出力部1103は、受信された地点情報に含まれる現在相対位置情報(A01,B01)を取得する。
次に、地図出力部1103は、取得した現在相対位置情報(A01,B01)で特定される地点が画面の中央になるように地図を移動する。
次に、情報出力部1107は、受信された地点情報に含まれる地理情報等を、例えば、図17に示すように、出力する。図17において、第一のディスプレイ(上部)には地図が表示され、第二のディスプレイ(下部)には地理情報が表示されている。第二のディスプレイに、広告が表示されても良いことは言うまでもない。また、情報出力部1107は、ユーザの現在地から最も近いオブジェクトの地理情報のみを第二のディスプレイに表示する、などしても良い。また、第二のディスプレイの地理情報は、ユーザの現在位置からの距離によりソートされている、などの工夫をして、表示されることは好適である。また、図17の第二のディスプレイで、レストランXの説明情報である動画も出力されている。さらに、図17において、URLを指示すると、図示しないWebサーバから、ウェブページが検索され、表示されることは好適である。
以上、本実施の形態によれば、古地図や手書きの地図や看板に描かれた地図を撮影した地図などの上に、地理的な情報を付加して閲覧する。
なお、本実施の形態によれば、端末装置11における地理情報等の出力態様は問わない。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における端末装置11を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、
地図と、当該地図を識別する地図識別子とを格納しており、
コンピュータを、
前記地図を出力する地図出力部と、
現在の位置を示す現在位置情報を取得する現在位置情報取得部と、
前記出力部が出力している地図の地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有する端末情報を、サーバ装置に送信する端末情報送信部と、
前記端末情報の送信に対応して、地図上の地点に関する情報である地点情報を、前記サーバ装置から受信する地点情報受信部と、
前記地点情報受信部が受信した地点情報から、当該地点情報に対応する情報である出力情報を出力する情報出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、表示されている地図上の現在位置を示す指示である現在位置指示を受け付ける受付部と、前記現在位置指示に対応する相対位置情報を取得するユーザ指示相対位置情報取得部と、前記ユーザ指示相対位置情報取得部が取得した相対位置情報と、表示されている地図の地図識別子と、前記現在位置情報取得部が取得した現在位置情報とを有する登録情報を、前記サーバ装置に送信する登録情報送信部をさらに具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、地図識別子と現在位置情報とを有する確認情報を、前記サーバ装置に送信する確認情報送信部と、前記確認情報の送信に対応して、地図上での現在位置を示す相対位置情報である現在相対位置情報を受信する現在相対位置情報受信部と、前記現在相対位置情報受信部が受信した現在相対位置情報に対応する現在地点を出力する現在地点出力部と、前記現在地点出力部が出力した現在地点の修正指示を受け付ける修正受付部と、前記修正受付部が受け付けた修正指示に対応する相対位置情報である修正相対位置情報を取得する修正相対位置情報取得部とをさらに具備し、前記登録情報送信部は、前記修正相対位置情報取得部が取得した修正相対位置情報と、地図識別子と、現在位置情報取得部が取得した現在位置情報とを有する登録情報を、前記サーバ装置に送信するものとして、コンピュータを機能させることは好適である。
また、本実施の形態におけるサーバ装置12を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、絶対位置情報と地図上の相対位置情報との組である2組以上の位置対応情報を地図識別子ごとに格納しており、コンピュータを、端末装置から端末情報を受信する端末情報受信部と、前記端末情報受信部が受信した端末情報が有する地図識別子と現在位置情報とを用いて、前記出力情報の元になる情報である地点情報を取得する地点情報取得部と、前記地点情報取得部が取得した地点情報を、前記端末装置に送信する地点情報送信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記地点情報は、地図上の相対位置情報であり、記憶媒体に、地点に存在するオブジェクトの情報である地理情報と絶対位置情報とを対応付ける情報である地理関連情報を格納しており、前記地点情報取得部は、前記端末情報受信部が受信した端末情報が有する現在位置情報を用いて、前記現在位置情報が示す地点の周辺に存在する1以上のオブジェクトの絶対位置情報を前記地理関連情報格納部から取得する絶対位置情報取得手段と、前記端末情報受信部が受信した端末情報が有する地図識別子に対応する2組以上の位置対応情報を用いて、前記絶対位置情報取得手段が取得した1以上の各絶対位置情報に対応する地図上の相対位置情報を含む地点情報を取得する地点情報取得手段とを具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記地点情報取得部は、前記端末情報受信部が受信した端末情報が有する現在位置情報を用いて、前記現在位置情報が示す地点の周辺に存在するオブジェクトの情報である1以上の地理情報を前記地理関連情報格納部から取得する地理情報取得手段をさらに具備し、前記地点情報は、前記地点情報取得手段が取得した地図上の相対位置情報と前記地理情報取得手段が取得した地理情報を含むものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記端末装置から登録情報を受信する登録情報受信部と、前記登録情報受信部が受信した登録情報が有する地図識別子に対応付けて、前記登録情報が有する相対位置情報と現在位置情報との組である位置対応情報を、前記地図情報格納部に蓄積する位置対応情報蓄積部とをさらに具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、確認情報を受信する確認情報受信部をさらに具備し、前記地点情報取得部は、前記確認情報受信部が受信した確認情報が有する地図識別子と現在位置情報とを用いて、当該現在位置情報に対応する相対位置情報を取得し、前記地点情報送信部は、前記地点情報取得部が取得した相対位置情報を、前記端末装置に送信するものとして、コンピュータを機能させることは好適である。
また、図18は、本明細書で述べたプログラムを実行して、上述した実施の形態の端末装置11やサーバ装置12を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図18は、このコンピュータシステム340の概観図であり、図19は、コンピュータシステム340のブロック図である。
図18において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図19において、コンピュータ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以上の通信手段(地点情報受信部、登録情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。