以下、本発明の実施の形態について、図面を参照しながら、実施例に基づき説明する。
A.第1実施例:
A−1.システム全体の構成:
図1は、本発明の第1実施例としての情報出力システム10の概略構成を示す説明図である。図示するように、情報出力システム10は、情報提供サーバ100と、基地局BSと、携帯端末(例えば携帯電話)200とを備える。情報提供サーバ100と基地局BSとは、インターネットINTを介して通信可能に接続されている。携帯端末200は、基地局BSと無線通信することが可能であり、この結果、携帯端末200は、基地局BSを介して、情報提供サーバ100と通信を行うことができる。情報出力システム10は、さらに、紙媒体であるカードCDと、カードCDに印刷されている情報を読み取る読取部としてのペン型の読取装置(以下、「読取ペン」と呼ぶ)300とを含んでいる。
図2は、カードCDの表面を例示する説明図である。このカードCDは、所定の観光施設の内部を案内するためのもので、図示するように、コマンド欄A1と地図欄A2とを備える。
コマンド欄A1には、携帯端末200上で各種表示を行うための操作を指示するためのアイコンが複数、印刷されている。具体的には、「見る」、「行く」、「遊ぶ」、「帰る」がそれぞれ記されたアイコンIC1〜IC4が印刷されている。なお、コマンド欄A1の左隅には、「○○公園」という観光施設名称NMが印刷されている。
地図欄A2には、観光施設内の通路や、内部施設(動物、アトラクション、レストラン、トイレ、休憩所等)を表すシンボルマークMが印刷されている。
なお、本実施例では、上記コマンド欄A1に記された「見る」、「行く」、「遊ぶ」、「帰る」は、前記内部施設を含む箇所についての人が望む行動を示す操作指示に対応したものとした。
コマンド欄A1および地図欄A2における前述した印刷は、赤外線を透過させるインクによるものである。さらに、コマンド欄A1および地図欄A2には、赤外線を吸収するインク(例えば、カーボンインク)によりドットパターンが重ねて印刷されている。前記赤外線を透過させるインクによる印刷は可視のものであり、前記ドットパターンは不可視のものである。なお、ドットパターンは可視であってもよい。また、必ずしもドットによるパターンである必要はなく、情報が表現されているパターンであれば、ライン等によるドット以外のパターンであってもよい。
詳しくは、コマンド欄A1における各アイコンIC1〜IC4の領域には、それぞれ“01”、“02”、“03”、“04”の各数値を意味するドットパターンが印刷されている。情報提供サーバ100には、前記各数値がどういった意味の操作指示に対応するかが記憶されており、各数値から操作指示の種別を判定することができる。
地図欄A2には、地図上の位置に対応したXY座標を意味するドットパターンが印刷されている。ここでは、XY座標は、地図における左上隅を原点、X軸を東西方向、Y軸を南北方向とする座標系における値である。
図1に示すように、カードCDは、携帯端末200に接続された読取ペン300と共に用いられる。すなわち、利用者は、読取ペン300を用いて、カードCDのコマンド欄A1に印刷されている各種アイコンIC1〜IC4、または地図欄A2上の任意の位置やシンボルマークMをタッチ(撮像)する。このように、利用者がカードCD上をタッチすることにより、操作指示(以下、「コマンド」と呼ぶ)と、地図上の任意のポイント(点)とを携帯端末200に対して提供することができる。
なお、図1においては、読取ペン300は携帯端末200に接続されているが、本発明はこれに限らず、パーソナルコンピュータ、PDA(Personal Data Assistant)等の通信機器に接続される構成としてもよい。
図3は、読取ペン300、携帯端末200、および情報提供サーバ100の内部構成を示すブロック図である。図示するように、携帯端末200は、GPS受信機201と、表示パネル202と、音声出力部204と、キー入力部205と、無線通信回路206と、通話制御部207と、外部記憶装置208と、主制御部210とを備えている。さらに、携帯端末200には、通信I/F209を介して読取ペン300が接続されている。
GPS受信機201は、GPS(Global Positioning System/全地球測位システム)を構成する複数の人工衛星S(図1)から送信された電波を受信する装置である。表示パネル202は、液晶ディスプレイとこれを駆動する駆動回路とを備えている。音声出力部204は、スピーカや、これを駆動する回路などから構成される。キー入力部205は、キー群から構成される。携帯端末200の利用者は、これらのキーを用いることで、各種の操作を行うことができる。
無線通信回路206は、基地局BSとの間でデータ通信もしくは音声通信を行うための回路である。無線通信回路206は、基地局BSを介して、情報提供サーバ100にアクセスを行うことができる。通話制御部207は、音声通話のための着信や呼出、音声信号と電気信号の変換などを行う回路である。通話制御部207と無線通信回路206とを備えることにより、携帯端末200は、携帯電話として動作することができる。外部記憶装置208は、ハードディスク、フラッシュメモリ、メモリカードなどで構成され得る。外部記憶装置208は、各種ソフトウェアやデータの格納に用いられる。
携帯端末200の主制御部210は、携帯端末200の上述した各部201〜209を制御するためのコントローラである。主制御部210は、図示しない中央演算回路(CPU)と、ROMやRAMなどの内部記憶装置を含んでいる。携帯端末200が情報出力(表示)端末として機能するとき、主制御部210の内部記憶装置には、情報表示のためのプログラムが格納されている。このプログラムは、例えば、情報提供サーバ100を運用する事業者によりインターネットINTおよび基地局BSを介して配信されても良い。このプログラムは、使用しないときは、外部記憶装置208に格納され、使用時に、外部記憶装置208から読み出されて、主制御部210の内部記憶装置に格納される。主制御部210は、このプログラムを実行することで、後述する様々な処理/機能(例えば正規化部211としての機能)を実現する。
情報提供サーバ100は、通信部102と、制御部104と、記憶部106とを備えている。制御部104は、情報提供サーバ100の上述した通信部102および記憶部106を制御するためのコントローラである。通信部102は、インターネットINTと基地局BSを介して携帯端末200と通信を行うことができる。記憶部106には、経路データベース(DB)107と、施設データベース108と、カード管理データベース(DB)109と、コマンドテーブル110と、原点換算テーブル111とが格納されている。各データベース107、108、109およびテーブル110、111については後述する。
情報提供サーバ100の制御部104は、図示しないCPUと、ROMやRAMなどの内部記憶装置を含んでいる。制御部104の内部記憶装置には、携帯端末200と通信し、携帯端末200の情報表示端末としての機能を支援するためのプログラムが格納されている。制御部104は、これらのプログラムを実行することにより、後述する様々な処理/機能(例えば正規化部121、処理部122としての機能)を実現する。
読取ペン300は、赤色LED301と、IRフィルタ302と、レンズ303と、CMOSセンサ、CCDセンサ等の光学撮像素子304とを備えている。赤色LED301によってカードCDの表面に照射された照射光の反射光を光学撮像素子304で撮像する。ここで媒体面上のドットパターンはカーボンインクで印刷されており、ドットパターン以外の部分はノンカーボンインクで印刷されている。このカーボンインクは赤外光を吸収する特性を有しているため、前記光学撮像素子304での撮像画像では、ドットの部分のみ黒く撮影されることになる。
ここで、照射光については、本実施形態では赤外線を用いてカーボンインク(赤外線を吸収する特性を有するインク)で印刷されたドットパターンを用いた場合で説明したが、照射光とインクの特性については、これに限らず、たとえば紫外線を用いて、紫外線を吸収する特性を有するインクを用いてドットパターンを印刷してもよい。
読取ペン300は、制御部305をさらに備える。制御部305は、上記のようにして読み取ったドットパターンの撮像画像を解析し、ドットパターンを各ドットパターンの意味するコード情報に変換する。コード情報は、携帯端末200に送信される。
A−2.ドットパターンの構成:
次に、本実施例で用いるドットパターンについて図4を用いて説明する。図4は本実施例のドットパターンDPの一例であるグリッドを示す説明図である。図示するように、格子上に極小の格子ドットD1が所定距離a(例えば0.5mm)毎に配置されている。図において、縦横方向の格子線は説明の便宜のために付したものであり実際の印刷面には存在していない。
4つの格子ドットの中心Cから8方向(図中、上、右上、右、右下、下、左下、左、左上)のいずれかに情報ドットD2をずらすことにより、1つの格子に8パターン、すなわち3bitの情報が定義される。4×4個の格子で構成される1ブロックは、4隅の格子ドットを上向きにずらしてキードットDKとし区分される。その1ブロックに含まれる4×4個の格子により、3bit×16=48bitを定義することができる。
なお、ドットパターンDPを構成する上記格子ドットD1、情報ドットD2、およびキードットDKは、赤外光を吸収するカーボンインクで印刷されている。なお、上記ドットパターンDPは、あくまでも一例であり、1ブロックを9個(3×3)とした構成等、様々なパターンに変更することができる。
上記構成のドットパターンDPは、前述したように制御部305によりコード情報に変換される。
図5は、ドットパターンDPを変換することにより得られるコード情報を例示する説明図である。図中の例は、前記1ブロック分のドットパターンDPで得られるコード情報である。
図5中の(a)は、コマンド欄A1についてのコード情報Ccを示すもので、2つの領域Cc1、Cc2により構成される。第1の領域Cc1には、カードCDの種類を特定するためのカード番号が記録されている。第2の領域Cc2には、コマンドの種類を特定するためのコマンド番号が記録されている。コマンド番号は、図2の例では、「見る」に“01”が、「行く」に“02”が、「遊ぶ」に“03”が、「帰る」に“04”が割り当てられている。このコマンド欄A1についてのコード情報Ccを、以下、「コマンドコード情報」と呼ぶ。
図5中の(b)は、地図欄A2についてのコード情報Cmを示すもので、3つの領域Cm1〜Cm3により構成される。第1の領域Cm1には、カードCDの種類を特定するためのカード番号が記録されている。第2の領域Cm2には地図上の位置に対応したX座標が記録され、第3の領域Cm3には地図上の位置に対応したY座標が記録されている。この地図欄A2についてのコード情報を、以下、「位置コード情報」と呼ぶ。
したがって、上記構成の不可視のドットパターンDPが印刷されたカードCDと、読取ペン300とを用いることで、利用者が望む、コマンドの種類を示すコマンド番号と、地図上の任意の位置のXY座標とを、携帯端末200に対して送信することができる。
なお、利用者による地図欄A2に対する読取ペン300の操作としては、これまで説明してきたように任意の位置をタッチする操作に加えて、読取ペン300をカードCDの表面にタッチし、タッチしたまま移動させるドラッグ操作がある。
図6は、ドラッグ操作により指示される領域を例示する説明図である。図中(a)の例示では、利用者は、読取ペン300をカードCD上で線状に移動させるドラッグ操作を行う。これにより、地図欄A2上にライン(線)を指定することができる。図示の例では、「シマウマ」から「キリン」、「ライオン」に至るラインが指定されている。
図6中(b)の例示では、利用者は、カードCD上で円や楕円等の閉曲線状に読取ペン300を移動させるドラッグ操作を行う。これにより、地図欄A2上にポリゴン(面)を指定することができる。図示の例では、「シマウマ」、「キリン」、「フラミンゴ」を含
むエリアが指定されている。
なお、前述したように、読取ペンにより地図欄A2上にラインが指定されたときには、読取ペン300においては、ライン上の各点で指定される全てのドットパターンDPのコード情報が生成されることになる。すなわち、図5(b)に示した位置コード情報Cmが、ラインを構成する各点で指定される全てのドットパターンDPのそれぞれについて生成されることになる。
また、前述したように、読取ペンにより地図欄A2上にポリゴンが指定されたときには、読取ペン300においては、ポリゴンを表す閉曲線上の各点で指定される全てのドットパターンDPについてのコード情報が生成されることになる。すなわち、図5(b)に示した位置コード情報Cmが、ポリゴンを表す閉曲線を構成する各点で指定される全てのドットパターンDPのそれぞれについて生成されることになる。
A−3.携帯端末の動作:
本実施例では、携帯端末200は、読取ペン300から前述したコード情報を順次受け取り、前記コード情報を正規化した上で情報提供サーバ100に通知するペン入力通知処理を実行している。
図7は、携帯端末200の主制御部210により実行されるペン入力通知処理を示すフローチャートである。このペン入力通知処理は、携帯端末200がペン入力モードに移行したときに、開始される。ペン入力モードは、携帯端末200に対して特定の操作がなされたときに移行する。処理が開始されると、主制御部210は、読取ペン300でタッチもしくはドラッグ操作がなされて、読取ペン300からコード情報が送られてきたか否かを判定する(ステップS110)。
ステップS110でコード情報が送られてきたと判定されたときには、主制御部210は、そのコード情報を主制御部210のRAM内の所定エリア(以下、コード情報用エリアと呼ぶ)に記憶する(ステップS120)。なお、この記憶の際には、記憶される順に並べて格納がなされる。次いで、主制御部210は、計時を行うタイマをクリアし(ステップS130)、その後、ステップS110に処理を戻す。
一方、ステップS110で読取ペン300が操作されずにコード情報が送られてきていないと判定されたときには、主制御部210は、タイマの示すタイマ時間Tが所定時間T0を経過したか否かを判定する(ステップS140)。所定時間T0は例えば10秒である。ステップS140でタイマ時間TがT0を経過していないと判定された場合には、ステップS110に処理を戻す。
一方、ステップS140で、タイマ時間Tが所定時間T0を経過したと判定された場合には、主制御部210は、ステップS150に処理を進める。すなわち、ステップS110ないしS140の処理によれば、読取ペン300から送られてくるコード情報をコード情報用エリアに順次、記憶し、送られてくるのが所定時間T0以上、途絶えた後に、ステップS150に処理を進める。
ステップS150では、主制御部210は、ステップS120の処理によりコード情報用エリアに記憶された1または複数のコード情報の中に、コマンド番号が記録されたコード情報、すなわち、図5(b)に示したコマンドコード情報Ccが含まれているか否かを判定する。ここで、コマンドコード情報Ccが含まれていないと判定されたときには、コード情報用エリアの内容をクリアし(ステップS152)、タイマをクリアし(ステップS154)、その後、ステップS110に処理を戻す。
すなわち、ステップS150ないしS154によれば、所定の期間内に、利用者によりコマンド欄A1に対する操作がなされないときには、それまでの地図欄A2に対して行った操作に基づくコード情報は取り消すようにしている。
ステップS150で、コマンドコード情報Ccが含まれていると判定されたときには、主制御部210は、GPS受信機201を用いて、現在地の緯度/経度を取得し(ステップS160)、前記経度をX座標、前記緯度をY座標とした位置コード情報Cmを新たに生成し、コード情報用エリアに記憶する(ステップS170)。すなわち、第1の領域Cm1にヌルが格納され、第2の領域Cm2に現在位置の経度が格納され、第3の領域Cm3に現在地の緯度が格納された新たな位置コード情報Cmが、コード情報用エリアに追加される。このとき、新たな位置コード情報Cmは、コード情報用エリアに記憶されているコード情報の並びの一番後ろに追加される。
なお、本実施例の携帯端末200はGPS機能を搭載するものであるが、搭載しない携帯端末である場合には、地図上の所定点(例えば、入口ゲート)のXY座標を記録した位置コード情報Cmを記録する構成とする。なお、このときのXY座標は経度/緯度ではないので、第1の領域Cm1にはカード番号を記録するようにする。
ステップS170の実行後、主制御部210は、コード情報用エリアに記憶された複数のコード情報の並び順を変更する処理を行う(ステップS180)。具体的には、コマンドコード情報Ccは、位置コード情報Cmよりも前方の位置となるように並び順を変更する。このとき、複数のコマンドコード情報Ccが存在するときは、複数のコマンドコード情報Ccの中では、ステップS120で記憶された順序がそのまま維持される。また、複数の位置コード情報Cmが存在するときは、複数の位置コード情報Cmの中では、ステップS170で追加したコード情報が1番目に並び、2番目以降はステップS120で記憶された順序がそのまま維持される。
図8は、ステップS180の実行後のコード情報用エリアARの記憶内容の一例を示す説明図である。図示するように、コード情報用エリアARは、第1番目にコマンドコード情報Ccが、第2番目にステップS170で追加したコード情報Cm*(すなわち、現在地の経度/緯度が記録されたコード情報)が、第3〜5番目に位置コード情報Cmが、それぞれ記憶される。
ステップS180の実行後、主制御部210は、コード情報用エリアに格納された複数のコード情報を、その並びの順に情報提供サーバ100に送信する処理を行う(ステップS190)。その後、主制御部210は、このペン入力通知処理を終了する。
本実施例では、読取ペン300から送られてくるコード情報を一定のルールに従って変形し、利用しやすくする、いわゆる正規化を、携帯端末200側と、情報提供サーバ100側との2段階で行う。ペン入力通知処理のステップS160ないしS180の処理は、第1段階の正規化処理に相当する。すなわち、ステップS160ないしS180の処理により正規化部211が構成される。
A−4.情報提供サーバの動作:
情報提供サーバ100は、携帯端末200から送られてくるコード情報を順次、受け取り、前記コード情報から定まるアナウンス情報を携帯端末200に提供する表示情報提供処理を実行している。
図9および図10は、情報提供サーバ100の制御部104により実行される表示情報提供処理を示すフローチャートである。この表示情報提供処理は、情報提供サーバ100の制御部104により実行されるもので、携帯端末200のペン入力モードに対応して処理が開始される。処理が開始されると制御部104は、携帯端末200から送られてくる一のコード情報を受け取る(ステップS210)。携帯端末200からはコード情報用エリアの並びの順にコード情報が送られてくることから、ここでは、並びの順が早いコマンドコード情報Ccが受け取られることになる。
次いで、制御部104は、ステップS210で受け取ったコマンドコード情報Ccの備える各領域Cc1、Cc2の値(カード番号とコマンド番号)から、コマンド番号に対応するコマンド種別を求める(ステップS220)。ここでは、情報提供サーバ100の記憶部106に予め用意したコマンドテーブル110(図3)を検索することにより、コマンド種別を求める。「コマンド種別」とは、コマンドの種類のことである。
図11は、コマンドテーブル110の一例を示す説明図である。図示するように、コマンドテーブル110は、「カード番号」、「コマンド番号」、「コマンド種別」、「分類」、「分類内の上下関係」という5つのフィールドfd1〜fd5を備え、各フィールドfd1〜fd5に記憶される各値が対応することを示す。図中の「カード番号」のフィールドfd1における“0001”は、前述した「○○公園」のカードCDに対応するものである。図示の例では、「カード番号」が“0002”である他のカードについてのデータもコマンドテーブル110に記憶されている。
「分類」のフィールドfd4には、コマンドの分類が記憶される。本実施例では、施設検索を必要とするコマンド、すなわち、「見る」、「遊ぶ」のコマンドをA分類に、経路探索を必要とするコマンド、すなわち、「行く」、「帰る」のコマンドをB分類としている。「分類内の上下関係」のフィールドfd5には、同一分類内における上下関係が記憶される。ここでいう「上下関係」とは、上位、下位の関係である。
ステップS220では、制御部104は、ステップS210で受け取ったコマンドコード情報Ccに記録されたカード番号とコマンド番号を検索キーとして、コマンドテーブル110を検索することにより、前記カード番号とコマンド番号に対応するコマンド種別を求める。その後、制御部104は、ステップS220で求めたコマンド種別を、制御部104のRAM内に用意したコマンド種別用エリアに記憶する(ステップS230)。
ステップS230の実行後、制御部104は、携帯端末200から送られてくるコマンドコード情報Ccは最後のものであるか否かを判定し(ステップS240)、最後のものでないと判定されたときには、ステップS210に処理を戻し、次のコマンドコード情報Ccの受け取りを行う。
一方、ステップS240で、コマンドコード情報Ccが最後のものであると判定されたときには、制御部104はステップS250に処理を進める。ここまでの処理で、コマンド種別用エリアには、ステップS210により受け取ったコマンドコード情報Ccと同じ数のコマンド種別のデータが格納されることになる。
ステップS250では、制御部104は、コマンド種別用エリアに格納された1または複数のコマンド種別を正規化する正規化処理を行う。この正規化処理は、コマンド種別が複数存在するときに、複数のコマンド種別の相互間の関係からコマンド種別を間引きするデータ変形を行うものであり、正規化処理により、実行するコマンドが決定される。
詳しくは、コマンド種別の正規化処理では、コマンド種別のそれぞれを前述したコマンドテーブル110(図11)に照らし合わせることで、各コマンド種別に対応した「分類」と「分類内の上下関係」とを求め、求めた「分類」と「分類内の上下関係」とから、実行するコマンド、すなわち残すコマンドを決定する(ステップS250)。具体的には、次の(i)〜(iv)に従って残すコマンドを決定する。
(i)同一分類で上下関係があるコマンドが存在するとき
図11のコマンドテーブル110に示すように、「遊ぶ」は「見る」の下位に当たる。コマンド種別用エリア内に「遊ぶ」のコマンド種別と「見る」のコマンド種別が存在する場合には、より限定した内容の情報だけを表示するために、下位の「遊ぶ」のみを実行するものとし、「見る」のコマンド種別を削除する。
(ii)分類が相違するコマンドが存在するとき
図11のコマンドテーブル110に示すように、例えば「見る」と「行く」は分類が相違する。分類が相違する場合は、それぞれのコマンドを実行するものとして、コマンド種別用エリア内の各コマンドのコマンド種別を残す。例えば、コマンド種別用エリア内に「見る」のコマンド種別と「行く」のコマンド種別が存在する場合には、両方のコマンド種別を残す。
(iii)同一分類で上下関係があるコマンドと、分類が相違するコマンドとが混在するとき 下位に相当するコマンドの種別データと、分類が相違するコマンドの種別データとを残す。例えば、コマンド種別用エリア内に「遊ぶ」、「行く」、「見る」のコマンド種別が存在する場合には、「見る」のコマンド種別を削除し、「遊ぶ」と「行く」の両コマンド種別を残す。
(iv)同一分類で上下関係がないコマンドが存在するとき
図11のコマンドテーブル110に示すように、例えば「行く」と「帰る」は同一分類であるにもかかわらず「分類内の上下関係」のフィールドには「なし」と記憶されている。この関係にある種別データがコマンド種別用エリア内に記憶されている場合には、利用者により矛盾するコマンドの入力操作があったものとして、後に入力されたコマンドのみを実行するものとして、コマンド種別用エリア内の記憶順が先のコマンド種別を削除し、後のコマンド種別を残す。
なお、本実施例では、後のコマンド種別を残す構成としたがこれに換えて、削除することなく両方のコマンド種別を残す構成としてもよい。この構成によれば、両方のコマンドに従う表示を利用者に提供することができ、利用者により所望のものを選択させることができる。
ステップS250の実行後、制御部104は、携帯端末200から送られてくる次のコード情報を受け取る(ステップS260)。携帯端末200からはコマンドコード情報Ccに次いで、位置コード情報Cmが送られてくることから、ステップS260では位置コード情報Cmが受け取られることになる。続いて、制御部104は、ステップS260で取り込んだ位置コード情報Cmの備える各領域Cm1〜Cm3の値(カード番号、X座標、Y座標)から、X座標およびY座標で示される地点(すなわち、利用者により指定された地図上の点)の経度/緯度を求める(ステップS270)。
図12は、原点換算テーブル111の一例を示す説明図である。図示するように、原点換算テーブル111は、「カード番号」、「原点経度」、「原点緯度」、「出口経度」、「出口緯度」という5つのフィールドfd11〜fd15を備え、各フィールドfd11〜fd15に記憶される各値が対応することを示す。「カード番号」のフィールドfd11は、コマンドテーブル110におけるものと同一である。「原点経度」のフィールドfd12には、カードCDに記載された地図の前述した原点についての実際の経度が記憶される。「原点緯度」のフィールドfd13には、前記原点についての実際の緯度が記憶される。「出口経度」のフィールドfd14には、カードCDに記載された地図の帰点(例えば、観光施設出口)についての実際の経度が記憶される。「原点緯度」のフィールドfd13には、前記帰点についての実際の緯度が記憶される。
ステップS270では、詳しくは、原点換算テーブル111を検索することにより、ステップS260で受け取った位置コード情報Cmに記録されたカード番号に対応する原点経度Gxと原点緯度Gyとを求め、原点経度Gxに対して前記位置コード情報Cmに記録されたX座標を加え、原点緯度Gyに対して前記位置コード情報Cmに記録されたY座標を加えることにより、X座標およびY座標で示される地点の経度/緯度を求める。なお、ステップS260で受け取った位置コード情報Cmにおいてカード番号がヌルである場合には、X座標、Y座標に換えて現在地の経度/緯度が格納されていることから、ステップS270の上記経度/緯度への演算処理は行なわない。その後、制御部104は、ステップS270で求めた経度/緯度(あるいは、カード番号がヌルである場合の位置コード情報Cmの経度/緯度)を引数として、制御部104のRAM内に用意した引数用エリアに記憶する(ステップS280)。
ステップS280の実行後、制御部104は、携帯端末200から送られてくる位置コード情報Cmは最後のものであるかを判定し(ステップS290)、最後のものでないと判定されたときには、ステップS260に処理を戻し、次の位置コード情報Cmの受け取りを行う。
一方、ステップS290で、位置コード情報Cmが最後のものであると判定されたときには、制御部104はステップS300に処理を進める。ここまでの処理で、引数用エリアには、ステップS260により受け取った位置コード情報Cmと同じ数のコマンド種別のデータが格納されることになる。
ステップS300では、制御部104は、引数用エリアに格納された1または複数の引数を正規化する正規化処理を行う。この正規化処理は、引数を一定のルールに従って変形し、利用しやすくものである。本実施例では、引数の変形が、コマンド種別用エリアに格納されるコマンド種別と、引数用エリアに格納される引数で表される地図指定種別とに基づいて、異なったものとなるように正規化処理を構成している。すなわち、この正規化処理では、コマンド種別と地図指定種別とに基づいて、引数の変形の形態を切り替えている。
「地図指定種別」とは、読取ペン300を用いた入力操作により指定された地図上の形状の種別を示すものであり、前述したポイント、ライン、ポリゴンのうちのいずれかが該当する。なお、本実施例では、地図欄A2に対して利用者による指定がなされない場合、すなわちコマンドだけが指定された場合も許容していることから、地図指定種別は「なし」となることもある。
引数用エリアに格納される引数が1つであるときには、その引数は現在地の緯度/経度であることから、地図指定種別は「なし」と判定することができる。引数用エリアに格納される引数が2つ、または、3つ以上であっても最初の1つを除いた他の各引数で示される位置が近接していないときには、引数で表される地図指定種別は「ポイント」であると判定することができる。ここでいう「近接」とは、カードCDの地図欄A2において連続する関係にある位置である。
引数用エリアに格納される引数が3つ以上であり、最初の1つを除いた他の各引数で示される位置が連続しているときには、数で表される地図指定種別は「ライン」または「ポリゴン」であると判定することができる。その上で、連続する位置が閉曲線状となっていないときには「ライン」と判定することができ、閉曲線状となっているときには「ポリゴン」であると判定することができる。引数の正規化処理では、コマンド種別とともにこの地図指定種別に基づいて、変形の態様を変えている。以下、「コマンド種別」と「地図指定種別」とで場合分けして、それぞれの場合の変形の態様について、下記の(1)〜(4)に基づいて説明する。
(1)コマンド種別:見る
・地図指定種別:なし
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「見る」であり、かつ、引数用エリアに格納される引数で表される地図指定種別が「なし」であるときには、引数で示される現在地から最も近い内部施設を検索する。上記検索は、内部施設が登録された施設データベース108(図3)を用いて行う。
図13は、施設データベース108の一例を示す説明図である。図示するように、施設データベース108は、「名称」、「経度」、「緯度」、「説明」という4つのフィールドfd21〜fd24を備える。「名称」のフィールドfd21には内部施設の名称が、「経度」のフィールドfd22には内部施設の経度が、「緯度」のフィールドfd23には内部施設の緯度が、「説明」のフィールドfd24には内部施設についての説明文が、それぞれ記憶されている。
引数用エリアに格納される引数で示される現在地の経度と緯度を、フィールドfd22、fd23に記憶される経度と緯度に順に突き合わせることにより、現在地から最も近い内部施設を検索する。その後、引数用エリアに格納される引数を、その検索された内部施設の経度と緯度に置き換える。
・地図指定種別:ポイント
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「見る」であり、かつ、引数用エリアに格納される引数の少なくとも1つで表される地図指定種別が「ポイント」であるときには、引数で示されるポイントの周辺を検索して、その周辺内に含まれる内部施設を求める。上記検索は、前述した施設データベース108を用いて行う。上記「周辺」は、引数で示される位置を中心とする半径が所定距離(例えば5m)の円の内側である。
引数用エリアに格納される引数で示される経度と緯度(以下、「引数経度/緯度」と呼ぶ)を、施設データベース108のフィールドfd22、fd23に記憶される経度と緯度(以下、「内部施設経度/緯度」と呼ぶ)に順に突き合わせ、引数経度/緯度を中心とする例えば半径が所定の距離(例えば5m)の円内に内部施設経度/緯度が含まれるときに、その内部施設経度/緯度を抽出する。その後、引数用エリアに格納される上記ポイントを表す引数を、その抽出した内部施設経度/緯度に置き換える。
上記の結果、図14の(a)に例示するように、引数で示される位置がXであるとき、位置Xを中心とする半径が5mの円の内部(図中、ハッチの部分)に含まれる「シマウマ」Yについての内部施設経度/緯度が引数用エリアに格納されることになる。ここで、内部施設経度/緯度は、内部施設内の予め定められた位置(例えば、内部施設の中心位置)についての経度/緯度である。なお、引数用エリアには、上記内部施設経度/緯度を表す引数のレコードだけが残り、その他の引数のレコード、すなわち、現在地を示す第1番目のレコード等は、この引数の正規化処理で削除される。
・地図指定種別:ライン
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「見る」であり、かつ、引数用エリアに格納される引数の少なくとも一部で表される地図指定種別が「ライン」であるときには、引数で示されるラインによって特定される経路の周辺を検索して、その周辺内に含まれる内部施設を求める。上記検索は、施設データベース108を用いて前述したように内部施設経度/緯度と突き合わせて行う。上記「周辺」は、例えば、引数で示されるラインの両側に所定距離(例えば5m)だけ拡げた領域の内部である。なお、周辺内に含まれる内部施設の地点情報(経度/緯度)を、経路の順番に沿って順序付けされた複数の地点情報に変換してもよい。
上記の結果、図14の(b)に例示するように、引数で示されるラインがLであるとき、ラインLの両側に5mだけ拡げた領域の内部(図中、ハッチの部分)に含まれる「シマウマ」Y1、「キリン」Y2、「ライオン」Y3についての内部施設経度/緯度が引数用エリアに格納されることになる。すなわち、引数用エリアに格納される上記ラインを表す引数が、上記内部施設経度/緯度に置き換えられる。なお、引数用エリアには、上記内部施設経度/緯度を表す引数のレコード、すなわち、「シマウマ」Y1、「キリン」Y2、「ライオン」Y3に対応した3つのレコードだけが残り、その他の引数のレコード、すなわち、現在地を示す第1番目のレコード等は、この引数の正規化処理で削除される。
・地図指定種別:ポリゴン
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「見る」であり、かつ、引数用エリアに格納される引数の少なくとも一部で表される地図指定種別が「ポリゴン」であるときには、引数で示される閉曲線の内側を検索して、その閉曲線の内側に含まれる内部施設を求める。上記検索は、施設データベース108を用いて前述したように内部施設経度/緯度と突き合わせて行う。
上記の結果、図14の(c)に例示するように、引数で示される閉曲線がQであるとき、閉曲線Qの内側(図中、ハッチの部分)に含まれる「シマウマ」Y1、「キリン」Y2、「ライオン」Y3、「フラミンゴ」Y4についての内部施設経度/緯度が引数用エリアに格納されることになる。すなわち、引数用エリアに格納される上記ポリゴンを表す引数が、上記内部施設経度/緯度に置き換えられる。なお、引数用エリアには、上記内部施設経度/緯度を表す引数のレコード、すなわち、「シマウマ」Y1、「キリン」Y2、「ライオン」Y3、「フラミンゴ」Y4に対応した4つのレコードだけが残り、その他の引数のレコード、すなわち、現在地を示す第1番目のレコード等は、この引数の正規化処理で削除される。また、本実施例では、閉曲線Qの内側を検索していたが、これに換えて、閉曲線Qを所定距離(例えば5m)だけ外側に拡張し、その拡張領域の内側を検索する構成としてもよい。
(2)コマンド種別:行く
・地図指定種別:なし
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「行く」であり、かつ、引数用エリアに格納される引数で表される地図指定種別が「なし」であるときには、引数で示される現在地から最も近い内部施設を検索する。上記検索は、前述した(1)コマンド種別:見る、地図指定種別:なしのときと同様に行う。そして、その検索された内部施設の経度と緯度を引数とする新たなレコードを引数用エリアの最後尾に追加する処理を行う。
・地図指定種別:ポイント、ライン
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「行く」であり、かつ、引数用エリアに格納される引数で表される地図指定種別が「ポイント」または「ライン」であるときには、引数用エリアに格納される引数の変形は行なわない。すなわち、地図指定種別が「ポイント」であるときには、引数としての現在地の経度/緯度と、ポイントの経度/緯度とがそのまま引数用エリアに格納される。地図指定種別が「ライン」であるときには、引数としての現在地の経度/緯度、ラインの開始端の経度/緯度、ラインの開始端から終了端までの中途の各点の経度/緯度、ラインの終了端の経度/緯度がそのまま引数用エリアに格納される。
・地図指定種別:ポリゴン
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「行く」であり、かつ、引数用エリアに格納される引数で表される地図指定種別が「ポリゴン」であるときには、引数そのものの内容の変更は行わず、引数用エリアに格納される引数の並びの順を変更する。詳しくは、第1番目の引数で示される現在地と、第2番目以降の引数で示される各位置とを比較して、第2番目以降の引数で示される各位置の中で前記現在地に最も近いものを特定し、その直近の引数を第2番目に変更する(第1番目については、現在地であるからそのまま)。その後、順位変更前において直近の引数よりも並びの順が後ろに位置していた各引数を第3番目以降に順に変更し、さらに順位変更前において直近の引数よりも並びの順が前に位置していた各引数を続く順位に変更する。
上記引数の順位の変更により、引数用エリアには、第1番目に現在地の引数が、第2番目にポリゴンを表す閉曲線上において現在地に最も近い地点の引数が並び、第3番目以降に前記閉曲線の描かれた方向に向かって前記閉曲線上の各点の引数が並ぶ。
(3)コマンド種別:遊ぶ
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「遊ぶ」であるときには、「見る」と同様の引数の変形を行う。ただし、「遊ぶ」は、遊びに特化した内部施設を求める点で、「見る」とは相違する。すなわち、求める内部施設をアトラクションや動物等の遊びに特化したものに限定し、レストラン、トイレ、休憩所等は求める内部施設の対象から外す構成とする。
(4)コマンド種別:帰る
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「帰る」であるときには、「行く」と同様の引数の変形を行い、その後、次の変形を行う。すなわち、ステップS210で受け取ったコマンドコード情報から判るカード番号に基づいて、カードCDで示される観光施設出口の経度/緯度を検索し、その検索した経度/緯度を引数とする新たなレコードを引数用エリアの最後尾に追加する処理を行う。上記検索は、図12で示した原点換算テーブル111を検索することにより行う。
なお、地図指定種別がなしのときには、「行く」の場合、現在地から最も近い内部施設を検索するようにしていたが、この処理は「帰る」の場合には外すようにした。これにより、コマンド種別が「帰る」で、かつ地図指定種別が「なし」の場合には、観光施設出口の経度/緯度を示す引数だけが引数用エリアに格納されることになる。
なお、前述したように分類が相違するコマンドが存在するときには、コマンド種別用エリアには2つの種別が含まれる。この場合には、種別毎に前記(1)〜(4)のうちの対応する処理がなされることになる。このとき、どの種別にどの引数が対応するかが判別可能なように、各引数に種別区分を付加してコマンド種別用エリアへの記憶を行う。
ステップS250によるコマンド種別の正規化処理と、ステップS300による引数の正規化処理とにより、情報出力システム10の第2段階の正規化処理が実現される。すなわち、ステップS210ないしS300の処理により、正規化部121(図3)が構成されることになる。ステップS300の実行後、制御部104は、図10のステップS310に処理を移行する。
図10に示すように、ステップS310では、制御部104は、コマンド種別用エリアから一のコマンド種別を取り込む。次いで、制御部104は、引数用エリアから一の引数を取り込む(ステップS320)。なお、コマンド種別用エリアに複数、本実施例では2つのコマンド種別が記憶されている場合には、ステップS310で取り込んだコマンド種別に対応する引数だけをステップS320では取り込む構成とする。続いて、制御部104は、ステップS310で取り込んだコマンド種別が、「見る」、「遊ぶ」のA分類に該当するか、「行く」、「帰る」のB分類に該当するかを判定する(ステップS330)。
ステップS330でA分類と判定されたときには、制御部104は、ステップS320で読み込んだ引数に従う施設検索処理を実行する(ステップS340)。この施設検索処理は、施設データベース108(図13)を用いて行うもので、詳しくは次の通り行う。コマンド種別がA分類であるとき、引数の正規化処理により、引数用エリアには引数として内部施設経度/緯度が記憶されていることから、この引数を施設データベース108のフィールドfd22、fd23と突き合わせることにより、引数の内部施設経度/緯度に対応する内部施設についての説明文を「説明」のフィールドfd24から読み出す。
ステップS340の実行後、制御部104は、上記読み出した説明文をアナウンス情報として携帯端末200に送信する(ステップS350)。携帯端末200は、そのアナウンス情報を受け取り、表示パネル202に表示する。
図15は、アナウンス情報としての説明文を表示する表示パネル202の一例を示す説明図である。図示は、内部施設として「キリン」が指定されたときのものである。図示するように、携帯端末200の表示パネル202には、アナウンス情報に基づくキリンについての説明文TXが表示される。
図10に戻って、ステップS330でB分類と判定されたときには、制御部104は、ステップS320で読み込んだ引数に従う経路探索処理を実行する(ステップS360)。この経路探索処理は、経路データベース107(図3)を用いて行う。経路データベース107は、観光施設内を含めた経路を蓄積したデータベースであり、地点の経度/緯度を順に取り込んで、地点間の経路を出力することができる。ステップS340では、制御部104は、ステップS320で読み込んだ引数を順に経路データベース107に送り、前記引数で示される地点間の経路を経路データベース107から受け取ることにより、アナウンス情報としての経路を生成する。
ステップS360の実行後、制御部104は、上記読み出した経路をアナウンス情報として携帯端末200に送信する(ステップS370)。携帯端末200は、そのアナウンス情報を受け取り、表示パネル202に表示する。
図10に戻って、ステップS350またはステップS370の実行後、制御部104は、ステップS310で読み込んだコマンド種別に対応する引数の読み込みが全て終了したか否かを判定し(ステップS380)、全て終了していないと判定されたときには、ステップS320に処理を戻し、次の引数の読み込みを行う。
一方、ステップS380で、コマンド種別に対応する引数の読み込みが全て終了したと判定されたときには、制御部104は、ステップS310に処理を戻し、次のコマンド種別の読み込みを行う。また、ステップS390でコマンド種別用エリアに格納されているコマンド種別の読み込みが全て終了したと判定されたときには、制御部104は、この表示情報提供処理を終了する。
図16は、アナウンス情報としての経路を表示する表示パネル202の一例を示す説明図である。ステップS370の処理が引数の数に対応した回数だけ実行されることで、経路が現在地から目的地に向かって延びることになる。この結果、図16に示すように、携帯端末200の表示パネル202には、現在地から目的地に至る経路STが地図と共に表示される。
以上のように構成された表示情報提供処理におけるステップS310ないしS390の処理により、処理部122(図3)が構成される。ステップS310ないしS390の処理の結果、携帯端末200へ送信されるアナウンス情報がどのように変化するかを以下にまとめた。
《1》コマンド種別:見る
・地図上への指定:なし
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「見る」であるときには、引数用エリアに格納される引数で示される内部施設についての説明文がアナウンス情報として送られる。このために、地図上への指定が「なし」であるときには、ステップS300における前記(1)の引数の正規化処理により、最も近い内部施設が引数として引数用エリアに記憶されていることから、その直近の内部施設についての説明文がアナウンス情報として送られる。
・地図上への指定:あり
また、地図指定種別が「ポイント」、「ライン」、または「ポリゴン」であるときには、その指定に基づいて定まる内部施設が前記(1)の引数の正規化処理により検索されていることから、その検索された1または複数の内部施設のそれぞれについての説明文がアナウンス情報として送られる。
《2》コマンド種別:行く
・地図上への指定:なし
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「行く」であるときには、引数用エリアに格納される複数の引数に基づいて求まる経路がアナウンス情報として送られる。このために、地図上への指定が「なし」であるときには、ステップS300における前記(2)の引数の正規化処理により、最も近い内部施設が引数として引数用エリアに追加されていることから、第1番目の引数である現在地から上記最も近い内部施設に至る経路がアナウンス情報として送られる。
・地図上への指定:ポイント
また、地図上への指定が「ポイント」であるときには、前記(2)の引数の正規化処理による変形は行わないことから、第1番目の引数である現在地から第2番目の引数であるポイントされた地点に至る経路がアナウンス情報として送られる。
・地図上への指定:ライン
また、地図上への指定が「ライン」であるときには、前記(2)の引数の正規化処理による変形は行わないことから、第1番目の引数である現在地から、ラインの開始端、ラインの開始端から終了端までの中途の各点、ラインの終了端に至る経路がアナウンス情報として送られる。
・地図上への指定:ポリゴン
また、地図上への指定が「ポリゴン」であるときには、前記(2)の引数の正規化処理による変形により、第1番目の引数である現在地から、ポリゴンを表す閉曲線上において現在地に最も近い地点に至り、続いて、閉曲線の描かれた方向に向かって閉曲線上の各点を移動する経路がアナウンス情報として送られる。
《3》コマンド種別:遊ぶ
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「遊ぶ」であるときには、「見る」と同様である。ただし、求める内部施設をアトラクションや動物等の遊びに特化したものに限定される。
《4》コマンド種別:帰る
コマンド種別用エリアに格納されるコマンド種別の少なくとも1つが「帰る」であるときには、「行く」と同様の経路とともに観光施設出口に至るまでの経路がアナウンス情報として送られる。
A−5.カードの管理:
カードCDは、先に説明したように「○○公園」のカードであるが、「○○公園」のカード以外にも種々のカードが用意(発行)されている。例えば、市街地図、県地図、広域地図、ドライブマップ、歩行者マップ、公共地図(公共事業に役立つ業務用地図)等のカードが用意されている。市街地図、県地図、広域地図は、地図範囲の大きさが異なったものである。ドライブマップ、歩行者マップ、公共地図は、用途が異なったものである。各カードは、多数、印刷され、観光案内所、列車の駅、道の駅、高速道路のサービスエリア、ガソリンスタンド等に置かれ、利用者はこれらの場所から提供を受けることができる。
図17は、北九州市用のカードCD10の一例を示す説明図である。図示するように、地図欄A12には北九州市の市街地図が印刷され、コマンド欄A11には、「北九州市」という名称NM10と、第1実施例と同じアイコンIC11〜IC14が印刷されている。地図欄A12の上辺(横方向の上側の辺)には、上辺を複数に等分する縦線が印刷され、縦線間に「A」〜「G」のアルファベットが印刷されている。地図欄A12の左辺(縦方向の左側の辺)には、左辺を複数に等分する横線が印刷され、横線間に「1」〜「6」の数字が印刷されている。上記縦線と横線とにより地図欄A12は複数のブロックに区分することができ、各ブロックはアルファベットと数字により特定可能である。地図上の任意の位置は、いずれのブロックに含まれるかを判断することで、アルファベットと数字により指示することができる。なお、図中の1点鎖線の矩形、および(x1、y1)〜(x6、y6)、Sa〜Scの各文字は、実際に印刷されたものではない。
○○公園用のカードCDおよび北九州市用のカードCD10を含む種々のカードは、カード管理データベース109で、登録・管理されている。図18は、カード管理データベース109の登録内容を示す説明図である。図示するように、カード管理データベース109は、複数のレコードRCを含み、1レコードRCが1種類のカードに対応している。各レコードRCは、「カード番号」、「タイトル」、「位置」、「用途」、「発行日」という5つのフィールドfd31〜fd35を備える。
「カード番号」のフィールドfd31には、カードの種類を特定するためのカード番号が記憶される。例えば○○公園用のカードCD(図2)の場合、図18中の1行目のレコードRC1に示すように、“0001”が記憶される。「タイトル」のフィールドfd32には、カードの名称が記憶される。例えば○○公園用のカードCD(図2)の場合、図18中のレコードRC1に示すように、“○○公園”が記憶される。
「位置」のフィールドfd33には、カードに印刷された地図の地理的な位置が記憶される。ここでは、1点ではなく、地図に対応する地域(地理的範囲)を示す2点でもって地理的な位置が示されている。具体的には、地図に対応する地域が内接される矩形を想定し、その矩形を特定する2点の緯度/経度でもって、地理的な位置を示すものとした。例えば北九州市用のカードCD10(図17)の場合、図17に示す地図欄A12の左上角(北西方向の角)の地点P1の経度x11、緯度y11と、地図欄A12の右下角(南東方向の角)の地点P2の経度x12、緯度y12とが記憶される(図18中の最下方のレコードRC10を参照)。
「用途」のフィールドfd34には、カードの用途が記憶される。例えば○○公園用のカードCD(図2)の場合、図18中のレコードRC1に示すように、“歩行者−観光−散策”が記憶される。用途については、本実施例には直接関係しないので、ここでは説明を省略する。第2実施例で説明する。
「発行日」のフィールドfd35には、カードの発行日が記憶される。例えば○○公園用のカードCD(図2)の場合、図18中のレコードRC1に示すように、“2008.01.10”が記憶される。これら各フィールドfd32〜fd35に格納される情報が、「カード特定情報」に相当する。
A−6.情報提供サーバの接続時処理:
情報提供サーバ100は、前述したように、携帯端末200から送られてくるコード情報を順次、受け取り、コード情報から定まるアナウンス情報を携帯端末200に提供している。さらに、情報提供サーバ100は、このアナウンス情報を提供するに先立ち、利用しているカードと関連する関連カードについての情報を携帯端末200に提供する前処理を実行している。
図19は、情報提供サーバ100の制御部104により実行される前処理を示すフローチャートである。この前処理は、図9に示した表示情報提供処理においてステップS210を最初に実行した直後に、割り込みにて実行開始される。
図示するように、処理が開始されると、制御部104は、前述したステップS210で受け取ったコマンドコード情報Ccに記憶されるカード番号(図5(a)参照)から、利用しているカードに印刷されている地図の地理的な位置(地理的位置)を求める処理を行う(ステップS510)。ここでは、カード管理データベース109を検索することにより、地図の地理的位置を求める。詳しくは、前記コマンドコード情報Ccに記憶されるカード番号をカード管理データベース109に突き合わせることで、カード番号に対応した「位置」フィールドfd33の内容を読み出す。このステップS510の処理が、「カード特定情報取得部」に相当する。
次いで、制御部104は、ステップS510で求めた地理的位置に対して内包関係にある地図が印刷されたカードを、カード管理データベース109に登録されたカードの中から検索する処理を行う(ステップS520)。詳しくは、カード管理データベース109に登録された全てのカードについての「位置」フィールドfd33の内容を順次、読み出し、読み出した「位置」フィールドfd33の内容とステップS510により得られた「位置」フィールドfd33の内容との間で、地理的な位置関係を求めることにより行う。
図20は、地理的な位置関係の態様を示す説明図である。図示するように、5つの地域S1〜S5を考えたとき、2つの地域の間の地理的な位置関係は、(i)〜(iv)の4つの態様をとり得る。
(i)地域S1に対して、地域S2は内包関係にある。
(ii)地域S1に対して、地域S3は一部が重複する関係にある。
(iii)地域S1に対して、地域S4は接触関係にある。
(iv)地域S1に対して、地域S5は離間関係にある。
ステップS520では、(i)の内包関係にある地域のカードを、検索結果として選択する。図17の例においては、破線で示した3つの地域Sa、Sb、Scの各カードが発行され、これら地域Sa〜Scは、図17に示したカードCD10に印刷される地図の地域に対して内包関係にある。この場合には、制御部104は、図18に例示したカード管理データベース109を検索することで、カード番号が「0001」のカードと、「0002」のカードと、「0003」のカードとを選択する。
なお、本実施例では、(i)の内包関係にある地域のカードが、検索結果として得られる構成としたが、これに換えて、(i)に加えて(ii)の一部が重複する関係にある地域のカードが得られる構成としてもよい。また、(i)に加えて(ii)と(iii)の接触関係にある地域のカードが得られる構成としてもよい。
図19に戻り、ステップS520の実行後、制御部104は、ステップS520の検索の結果、ヒットした(選択された)カードについてのタイトルをカード管理データベース109から読み出す(ステップS530)。詳しくは、「タイトル」フィールドfd32に格納された情報、すなわちタイトルを読み出す。なお、上記ヒットしたカードが、「関連カード」に相当する。
その後、制御部104は、ステップS520でヒットしたカードについての地理的位置をカード管理データベース109から読み出し、その読み出した地理的位置を示す地図上の「アルファベット」および「数字」を算出する(ステップS540)。地図上の「アルファベット」および「数字」は、地図欄A12の上辺と左辺に割り振られた符号であるが、前述したように、地図上の位置を指示することができる。ここでは、読み出した地理的位置の2点で定まる矩形の中心位置を、アルファベットと数字により指示するようにしている。
ステップS540では、詳しくは、次の(1)〜(4)の処理を行う。
(1)ヒットしたカードに対応したレコードRCに含まれる「位置」のフィールドfd33に格納された情報、すなわち矩形の2点の経度/緯度を読み出し、
(2)2点の経度/緯度から矩形の中心位置を求め、
(3)中心位置の横方向成分が、地図欄A12の上辺を等分したいずれの区間に含まれるかを算出して、その区間に対応するアルファベットを特定し、
(4)中心位置の縦方向成分が、地図欄A12の左辺を等分したいずれの区間に含まれるかを算出して、その区間に対応する数字を特定する。
続いて、ステップS530で読み出したタイトルと、ステップS540で求めたアルファベットと数字(以下、まとめて「地図符号」と呼ぶ)とを組にして、携帯端末200に送信する(ステップS550)。図17、図18で示した例の場合では、カード番号が“0001”、“0002”、“0003”の各カードについてのタイトルと地図符号が組となって、携帯端末200に送信されることになる。携帯端末200は、それらタイトルと地図符号を受け取り、表示パネル202に表示する。
図21は、情報提供サーバ100から送られてきたタイトルと地図符号を表示する表示パネル202の一例を示す説明図である。図示するように、携帯端末200の表示パネル202には、タイトルと地図符号を含む説明文TX10が表示される。説明文TX10は、具体的には、[北九州市]マップ(前述した北九州市用のカード)CD10のエリア内に「○○公園」、「△△商店街」、「××駅周辺」というタイトルのカードが含まれること、「○○公園」は地図上の(C−3)の位置に存在すること、「△△商店街」は地図上の(E−4)の位置に存在すること、および「××駅周辺」は地図上の(B−2)の位置に存在することを示す文章となっている。
なお、本実施例では、図示するように、「○○公園(C−3)」、「△△商店街(E−4)」、「××駅周辺(B−2)」の各表示の先頭には、[1]、[2]、[3]の数字が表示される構成としている。各数字は、各タイトルのカードについての詳細な情報を提供するための符号である。利用者は、例えば「○○公園」のカードの詳細を知りたいときには、携帯端末200のキー入力部205に設けられた「1」の数字キーを押すことで、情報提供サーバ100から「○○公園」のカードについての詳細な情報、例えば、その地域のPR情報や、そのカードを何処に行けば手に入れることができるかの情報を受けることができる。図19に戻り、ステップS550の実行後、「リターン」に抜けて、この前処理を終了する。
この前処理におけるS520〜S550が、「関連カード識別情報出力部」に相当する。図9および図10に示した表示情報提供処理が、「出力処理部」に相当する。
A−7.実施例効果:
以上説明した本実施例の情報出力システム10によれば、利用者は、携帯端末200を用いて所定のカードを利用する際に、その所定のカードに印刷された地図地域に含まれる地図地域のカードについてのアナウンスを、携帯端末200の表示パネル202から受けることができる。このために、利用者は、利用中のカードから、そのカードに印刷された地図地域に含まれる地図地域のカードが発行されていることを知ることができることから、利用者は、複数のカードにまたがって縦断的に情報を得ることができる。したがって、情報出力システム10は、利用者の利便性を向上することができる。
また、本実施例の情報出力システム10によれば、所定のカードに印刷された地図地域に含まれる地図地域のカードについてのアナウンスを、タイトルと地図上の位置を示す地図符号とによって受けることができることから、その含まれる地図地域が使用中の地図上のどの位置に該当するかを容易に知ることができる。したがって、利用者の利便性の点でより優れている。
上記情報出力システム10は、さらに次の実施例効果を奏する。情報出力システム10によれば、ステップS310ないしS390の処理を実行する処理部122において、まずコマンド種別を取り込み、次いで引数を取り込むという規則に従って処理が行われる。従来の技術では、利用者は、前記規則に従って、コマンドの入力操作を行い、次いで地図上の地点を指定するという引数の入力操作を行う必要があった。これに対して、本実施例では、GPS情報を引数として追加しコード情報の並び順を変更する携帯端末200側の正規化処理と、コマンド種別の正規化処理および引数の正規化処理からなる情報提供サーバ100側の正規化処理とを、ステップS310〜S390の前処理として行う構成であることから、利用者は、読取ペン300を用いた指示入力の操作を、前記規則に従わずに行うことができる。
本実施例では、カードCDにおいて、例えば以下のa)〜c)のいずれの操作が行われたとしても、入力エラーとなることはない。
a)「シマウマ」のシンボルマークM、「キリン」のシンボルマークM、「ライオン」のシンボルマークM、「見る」のアイコンIC1をこの順にタッチする操作
b)「シマウマ」のシンボルマークM、「見る」のアイコンIC1、「キリン」のシンボルマークM、「ライオン」のシンボルマークMをこの順にタッチする操作
c)「シマウマ」、「キリン」、「ライオン」の各シンボルマークMをラインで指定し(図6(a)の操作)、その後、「見る」のアイコンIC1をタッチする操作。
すなわち、カードCD上において、a)〜c)のいずれの操作が行われたとしても、入力エラーとなることなく、「シマウマ」、「キリン」、「ライオン」の説明文を携帯端末200に表示することができる。したがって、本実施例の情報出力システム10は、ユーザーインターフェースの操作性に優れているという効果も奏する。
A−8.第1実施例の変形例:
前記第1実施例では、所定のカードに印刷された地図地域に含まれる地図地域のカードについてのアナウンスを、タイトルと地図上の位置を示す地図符号との双方によって行っていたが、これに換えて、タイトルだけをアナウンスする構成としてもよい。また、タイトルに換えて、カード番号等の他のカード識別情報とすることもできる。
B.第2実施例:
本発明の第2実施例について説明する。本発明の第2実施例としての情報出力システムは、第1実施例の情報出力システム10と比較して、同一のハードウェア構成を備え、携帯端末200で実行されるペン入力通知処理および情報提供サーバ100で実行される表示情報提供処理についても同一である。相違するのは、情報提供サーバ100で実行される前処理(図19)だけである。なお、以下の説明は、第1実施例と同一のパーツには同一の符号を用いた。
図22は、第2実施例における前処理を示すフローチャートである。この前処理は、情報提供サーバ100の制御部104により、第1実施例の前処理と同一のタイミングで実行される。図示するように、処理が開始されると、制御部104は、前述したステップS210で受け取ったコマンドコード情報Ccに記憶されるカード番号(図5(a)参照)から、利用しているカードについての用途を求める(ステップS610)。ここでは、カード管理データベース109(図18)を検索することにより、用途を求める。詳しくは、前記コマンドコード情報Ccに記憶されるカード番号をカード管理データベース109に突き合わせることで、カード番号に対応した「用途」フィールドfd34の内容を読み出す。
カードは、種々の用途でもって利用される。これら用途は、体系化されている。図23は、用途の体系の一覧を示す説明図である。図示するように、大分類として、「車」、「歩行者」、「公共交通機関」がある。中分類として、大分類の「歩行者」にぶら下がる「観光」、「緊急」等があり、大分類の「車」にぶら下がる「観光」等があり、大分類の「公共交通機関」にぶら下がる「…」等がある。さらに、小分類として、「車」−「観光」にぶら下がる「散策」、「買い物」等があり、「車」−「緊急」にぶら下がる「病院」、「警察」等があり、「歩行者」−「観光」にぶら下がる「散策」、「買い物」、「食べ歩き」等がある。
カード管理データベース109の「用途」フィールドfd34には、前記体系の一覧の中の「大分類」、「中分類」、「小分類」が連結して記憶されている。図22のステップS610では、この記憶内容、例えば、「歩行者−観光−散策」が選択されることになる。
次いで、制御部104は、ステップS610で求めた用途と同じ用途のカードを、カード管理データベース109に登録されたカードの中から検索する処理を行う(ステップS620)。詳しくは、カード管理データベース109に登録された全てのカードについての「用途」フィールドfd34の内容を順次、読み出し、読み出した「用途」フィールドfd34の内容と、ステップS610により得られた「用途」フィールドfd34の内容とを比較することにより行う。
ステップS620で用途が同一であると判定されたカード、すなわち検索によりヒットしたカードについてのタイトルをカード管理データベース109から読み出す(ステップS630)。詳しくは、「タイトル」フィールドfd32に格納された情報、すなわちタイトルを読み出す。例えば、利用中のカードが「○○公園」のカードCD(図2)である場合には、図18から判るように、「○○公園」のカードCDの用途が「歩行者−観光−散策」であることから、カード番号が「0004」、「0005」の各カードのタイトルが読み出されることになる。なお、上記ヒットしたカードが、「関連カード」に相当する。
続いて、ステップS630で読み出したタイトルを、携帯端末200に送信する(ステップS640)。携帯端末200は、それらタイトルを受け取り、表示パネル202に表示する。
図24は、情報提供サーバ100から送られてきたタイトルを表示する表示パネル202の一例を示す説明図である。図示するように、携帯端末200の表示パネル202には、情報提供サーバ100から送られてきたタイトルを含む説明文TX20が表示される。説明文TX20は、例えば、前記「○○公園」のカードCDの場合には、用途が同じカードとして、「□□公園」、「◇◇動物園」というタイトルのカードが含まれることを示す文章となっている。
なお、本実施例では、図示するように、「□□公園」、「◇◇動物園」の各表示の先頭には、[1]、[2]の数字が表示される構成としている。各数字は、各タイトルのカードについての詳細な情報を提供するための符号である。利用者は、例えば「□□公園」のカードの詳細を知りたいときには、携帯端末200のキー入力部205に設けられた「1」の数字キーを押すことで、情報提供サーバ100から「□□公園」のカードについての詳細な情報、例えば、その地域のPR情報や、そのカードを何処に行けば手に入れることができるかの情報を受けることができる。図22に戻り、ステップS640の実行後、「リターン」に抜けて、この前処理を終了する。
以上説明した第2実施例の情報出力システムによれば、利用者は、携帯端末200を用いて所定のカードを利用する際に、その所定のカードと同じ用途のカードとして、どのようなものが発行されているかを知ることができる。このために、利用者は、利用中のカードから、そのカードと同一用途のカードを知ることができることから、利用者は、複数のカードにまたがって縦断的に情報を得ることができる。したがって、第2実施例の情報出力システムは、利用者の利便性を向上することができる。
なお、前記第2実施例では、利用中のカードと同一の用途のカード、すなわち、大分類、中分類、小分類の全てが一致するカードを関連カードとしていたが、これに換えて、類似するカードを含めて関連カードとする構成としてもよい。具体的には、図23に示した用途の体系一覧に照らし合わせて、大分類および中分類(あるいは大分類だけ)が一致する場合に、類似するカードであると判断するようにする。この構成によれば、用途が同一または類似するカードを関連カードとして、携帯端末200に知らせることができる。なお、ここでいう類似とは、用途が関連するものも含む。
また、前記第2実施例では、カード管理データベース109の中から利用中のカードと同一の用途のカードを全て、関連カードとしていたが、これに換えて、第1実施例と同様に、利用中のカードに印刷された地図地域に含まれる地図地域のカードを検索し、その含まれるとした地図地域のカードの中で同一用途のカードを検索することで、関連カードを求める構成としてもよい。この構成によれば、利用中のカードに印刷された地図地域に含まれ、かつ、同一用途のカードが関連カードとして選択されることになる。
C.第3実施例:
本発明の第3実施例について説明する。本発明の第3実施例としての情報出力システムは、第1実施例の情報出力システム10と比較して、情報提供サーバ100に、個人利用履歴データベースを備える点が相違し、その他のハードウェア構成は同一である。ソフトウェアについては、第1実施例と同様に、情報提供サーバ100で表示情報提供処理および前処理を実行するが、これらの処理の内容は第1実施例と相違する。以下、第3実施例の独自の構成である表示情報提供処理と前処理について詳述する。なお、以下の説明は、第1実施例と同一のパーツには同一の符号を用いた。
図25は、第3実施例における表示情報提供処理の後半部分を示すフローチャートである。第3実施例における表示情報提供処理は、第1実施例における表示情報提供処理と比較して、ステップS355とステップS375の処理が追加されていることが相違し、その他のステップは同一である。ステップS340で施設検索処理が実行され、ステップS350でヒットした施設についての説明文の送信が実行されると、情報提供サーバ100の制御部104は、ヒットした施設を、情報提供サーバ100の個人利用履歴データベースへ記録する。一方、ステップS360で経路探索処理が実行され、ステップS370でヒットした経路についての説明文の送信が実行されると、情報提供サーバ100の制御部104は、ヒットした経路を、情報提供サーバ100の個人利用履歴データベースへ記録する。なお、ステップS355およびS375では、併せて、カード番号と利用日時とが記録される。
図26は、個人利用履歴データベース501の内容を示す説明図である。個人利用履歴データベース501には、複数の利用者についての利用者個別情報Pが蓄積されている。利用者1人分である利用者個別情報Pは、予め登録された利用者の個人情報と、利用者へ過去にアナウンスした情報(アナウンス情報)とから構成される。個人情報としては、「氏名」、「性別」、「年齢」、「住所」、「携帯電話番号」などが記憶されている。アナウンス情報としては、前述したステップS355で記録される施設アナウンス情報PJ、前述したステップS375で記録される経路アナウンス情報RJが蓄積されている。
施設アナウンス情報PJは、カード番号と、施設検索により得られた施設の地点情報(経度/緯度)と、施設の名称等の施設情報と、利用日時とを含む。経路アナウンス情報RJは、カード番号と、経路探索により得られた経路を特定する複数の地点情報(経路の順番に沿って順序付けされた複数の地点情報)と、利用日時とを含む。
図27は、第3実施例における前処理を示すフローチャートである。この前処理は、情報提供サーバ100の制御部104により、第1実施例の前処理と同一のタイミングで実行される。図示するように、処理が開始されると、制御部104は、携帯端末200の携帯電話番号を取り込む処理を行う(ステップS710)。携帯端末は、第1実施例と同様のペン入力通知処理を実行するに際し、まず、携帯電話番号を情報提供サーバ100に送信する処理を行っている。ステップS710では、携帯端末200から送られてくる携帯電話番号を取り込む。
次いで、制御部104は、ステップS210(図9)で受け取ったコマンドコード情報Ccに記憶されるカード番号(図5(a)参照)から、利用しているカードに印刷されている地図の地理的位置を求める処理を行う(ステップS720)。この処理は、第1実施例におけるステップS510(図19)の処理と同一である。
その後、制御部104は、個人利用履歴データベース501から、ステップS710で取り込んだ携帯電話番号と携帯電話番号が合致する利用者個別情報Pを検索する(ステップS730)。この処理は、現在の利用者について、個人利用履歴データベース501への記録が残っているかを調べるものである。ステップS730で、合致する携帯電話番号が記録された利用者個別情報Pが見つからなかった場合、すなわち、ヒットしなかった場合には、「リターン」に抜けて、この前処理を終了する。
一方、ステップS730で、合致する携帯電話番号が記録された利用者個別情報Pが見つかった場合、すなわち、ヒットした場合には、制御部104は、合致すると判定された利用者個別情報Pの中から、ステップS720で求めた地図の地理的位置に含まれるアナウンス情報を検索する(ステップS750)。ステップS720で求めた地図の地理的位置は、第1実施例でも説明したように、利用しているカードに印刷されている地図を内接する矩形の地理的位置である。ステップS750では、合致すると判定された利用者個別情報Pに格納されているアナウンス情報(施設アナウンス情報PJ、経路アナウンス情報RJ)を順に読み出して、読み出したアナウンス情報に含まれる地点情報(経度/緯度)が、前記矩形の地理的位置の内側に存在するか否かを判定することにより、上記のアナウンス情報の検索を行う。検索の結果、前記矩形の地理的位置の内側に存在すると判定された地点情報を持つ施設アナウンス情報PJや経路アナウンス情報RJが選択されることになる。なお、経路アナウンス情報RJについては、複数の地点情報のうちの1つでも前記矩形の地理的位置の内側に存在すると判定された場合には、その経路情報は選択される。
続いて、制御部104は、ステップS750の検索により選択された(ヒットした)1または複数のアナウンス情報(施設アナウンス情報PJ、経路アナウンス情報RJ)を携帯端末200に送信する(ステップS760)。携帯端末200は、それらアナウンス情報を受け取り、表示パネル202に表示する。
図28は、情報提供サーバ100から送られてきたアナウンス情報を表示する表示パネル202の一例を示す説明図である。図示するように、携帯端末200の表示パネル202には、情報提供サーバ100から送られてきたアナウンス情報を含む説明文TX30が表示される。説明文TX30は、例えば、次の通りのものである。
・○○さんは、[○○公園]マップを○年○月○日に利用しました。
[1]○時○分に施設情報を取得
[2]○時○分〜○時○分に経路情報を取得
・○○さんは、[××駅周辺]マップを○年○月○日に利用しました。
[3]○時○分に施設情報を取得
前記「・○○さんは、[○○公園]マップを○年○月○日に利用しました。」との表示から、○○さん、すなわち利用者は、現在利用しているカード(例えば、[北九州市]マップCD10)の地図地域において、○年○月○日に関連カード(この地図地域が含まれる地図地域が印刷されているカード)を用いた検索を行ったことを知ることができる。なお、本実施例によれば、関連カードだけではなく、現在利用している同一のカード(例えば、[北九州市]マップCD10)からの検索履歴も知ることができる。
さらに、前記「[1]○時○分に施設情報を取得 [2]○時○分〜○時○分に経路情報を取得」との表示から、利用者は、何時何分に施設検索を行ったのか、あるいは経路探索を行ったのかを知ることができる。
説明文TX30中の[1]、[2]の数字は、施設情報もしくは経路情報についての詳細な情報を提供するための符号である。利用者は、例えば○時○分に取得した施設情報の詳細を知りたいときには、携帯端末200のキー入力部205に設けられた「1」の数字キーを押すことで、その施設の位置や、施設についての詳細な情報を取得することができる。施設の位置については、施設アナウンス情報PJに含まれる地点情報(経度/緯度)を読み出して、その地点を周辺地図と共に表示するようにする。利用者は、例えば○時○分〜○時○分に取得した経路情報の詳細を知りたいときには、携帯端末200のキー入力部205に設けられた「2」の数字キーを押すことで、その経路の位置を取得することができる。経路の位置については、経路アナウンス情報RJに含まれる複数の地点情報(経度/緯度)を読み出して、その地点を繋いだ経路を周辺地図と共に表示するようにする。
図27に戻り、ステップS760の実行後、「リターン」に抜けて、この前処理を終了する。
以上説明した第3実施例の情報出力システムによれば、利用者は、携帯端末200を用いて所定のカードを利用する際に、その所定のカードに印刷された地図地域において過去に施設もしくは経路の案内を受けている場合に、それら過去の施設もしくは経路についてのアナウンス情報を、携帯端末200の表示パネル202から受けることができる。このために、利用者は、過去に訪れた施設や経路のこと、過去に利用した関連カードのことを知ることができることから、利用者は、複数のカードにまたがって縦断的に情報を得ることができる。したがって、第3実施例の情報出力システムは、利用者の利便性を向上することができる。
また、本実施例では、過去の利用履歴を、個人利用履歴データベース501を用いて経度/緯度からなる地点情報で管理する構成としていることから、発行停止になったカードや、同一種類のカードであっても発行日が例えば10年前といった昔に遡るカードを利用している場合にも、その利用履歴を提供することができる。過去のカードの場合には過去の地図から取得した散策ルートを、現在の地図に重畳させるようなことも可能となる。
なお、前記第3実施例では、関連カードを、利用中のカードに印刷された地図地域が含まれる地図地域が印刷されているカードとしたが、これに換えて、利用中のカードと同一または類似の用途のカードを、関連カードとする構成としてもよい。
D.変形例:
・上記第1ないし第3実施例や各変形例では、カードCDが「○○公園」という観光施設のものであったが、カードCDは、種々のものとすることができる。例えば、図29に示すように、デパート、ショッピングセンター等の商業施設のカードCD3を本発明が利用する構成としてもよい。このカードCDの地図欄A22には、商業施設を案内する案内図が描かれている。これにより、案内図に描かれた各店の情報や、各店への経路等を携帯端末で見ることができ、第1および第2実施例と同様に、ユーザーインターフェースの操作性にも優れている。
さらに、図30に示すように、広告チラシのカードCD4を本発明が利用する構成としてもよいし、図31に示すように、各地の天気予報を提供する天気予報カードCD5を本発明が利用する構成としてもよい。
・上記第1実施例では、携帯端末200側で前述した第1段階の正規化処理を行い、情報提供サーバ100側で前述した第2段階の正規化処理を行う構成としたが、これに換えて、携帯端末200と情報提供サーバ100のいずれか一方で、第1段階および第2段階の正規化処理を行う構成としてもよい。また、必ずしも第1段階および第2段階の正規化処理を行う必要はなく、第1段階および第2段階のいずれか一方の正規化処理を、携帯端末200または情報提供サーバ100で行う構成としてもよい。さらに、第2段階の処理は、ステップS250によるコマンド種別の正規化処理と、ステップS300による引数の正規化処理とのいずれか一方を行う構成としてもよい。
さらに、正規化処理は、上記第1段階の正規化処理や第2段階の正規化処理に限定されるものではなく、ドットパターンから得られた複数のコード情報を処理部側の所定の規則に合致するように変形し、利用しやすくするものであればいずれの構成としてもよい。例えば、第1および第2実施例では、引数の正規化処理を、コマンド種別と地図指定種別とに基づいて変形の形態を切り替えていたが、コマンド種別と地図指定種別とのいずれか一方だけに基づいて変形の形態を切り替える構成としてもよい。また、第1および第2実施例で示した正規化処理にとらわれる必要もなく、まったく別の形の正規化処理であってもよい。
・上記第1ないし第3実施例では、GPSを利用して利用者の現在位置を求めていたが、これに換えて、GLONASS(Global Navigation Satellite System)、GalileoなどのGPS以外の他の衛星測位システム(Satellite Navigation System)、言い換えれば、世界的航法衛星システム(GNSS:Global Navigation System)によって現在位置を求める構成としてもよい。なお、GPSを搭載しない携帯端末である場合にも、本発明はもちろん採用することができる。
・上記各実施例は、情報提供サーバ100と携帯端末200が分離した携帯型の情報出力システム10であるが、本発明は経路データベース107、施設データベース108などの情報提供サーバ100が有する構成と、表示パネル202、キー入力部205などの携帯端末200が有する構成とが一体になった施設案内システム等にも適用可能である。さらに、上記各実施例では、読取ペン300と携帯端末200とが分離した構成となっているが、これに換えて、携帯端末200を、読取ペン300の機能を内蔵する構成としてもよい。
・上記実施例および各変形例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしても良い。
なお、前述した実施例および各変形例における構成要素の中の、独立請求項で記載された要素以外の要素は、付加的な要素であり、適宜省略可能である。また、本発明はこれらの実施例および各変形例になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々の態様での実施が可能である。