以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
本実施形態では、一例として、本開示に係るコンピュータシステムを経路検索システム1に適用する。実施形態に係る経路検索システム1は、ユーザにより指定された出発地から目的地までの移動経路を検索してユーザにその移動経路を提供するコンピュータシステムである。ユーザとは、経路検索システム1などのような、本開示に係るコンピュータシステムを利用して情報を入手する人をいう。出発地とは、移動経路を検索するための始点として設定される場所のことをいい、目的地とはその検索のための終点として設定される場所をいう。出発地および目的地はいずれも経路検索の基準点である。移動経路とは、或る地点から別の地点までの移動に関する情報をいう。一例では、移動経路は、出発地から目的地までの経路だけでなく、その経路の属性(以下では「経路属性」という)も示すことができる。経路属性とは、経路の性質、特徴、または状況を表す任意の情報である。例えば、経路属性は、交通機関などの移動手段と、経路を移動するための所要時間または費用と、経路の状況(例えば交通情報)と、経路に関連する地物(すなわち地物情報)と、経路に関連する事業者(すなわち事業者情報)と、経路に関連するサービス情報(例えば広告情報、クーポン情報など)とのうちの少なくとも一つを含んでもよい。
地物とは、地上に存在する任意の有体物または無体物である。地物は自然物でも人工物でもよい。例えば、地物は、山地、農地、住宅地、更地、河川、湖、海、観光地、道路、鉄道、建物、公園、塔、信号機、踏切、横断歩道、歩道橋、浮標などを含み得る。無体物である地物の例として、任意の目的で設定された区域(例えば、撮影禁止区域、一時的な進入禁止区域など)、イベントが開催される区域、集合場所、撮影スポットなどが挙げられる。当然ながら、地物の種類はこれらに限定されない。
一例では、経路検索システム1は様々な交通機関または交通手段を含む選択肢から適切な1以上の移動経路を検索してその移動経路をユーザに提供する。この経路検索において、経路検索システム1は移動手段の変更に関する検索を実行し得る。移動手段とは、移動するための方法をいう。移動手段は移動体に限定されず、移動体を用いない方法も含む概念である。移動手段は公共交通機関でもよいし、ユーザが自分で操作する移動体でもよい。移動手段は、地上または地下の移動体でもよいし、空中の移動体でもよいし、水上または水中の移動体でもよい。移動手段の例として徒歩、自転車、バイク、自家用車、バス、タクシー、在来線、高速鉄道、航空機、およびフェリーが挙げられるが、当然ながら移動手段はこれらに限定されるものではない。「移動手段の変更」とは或る移動手段から別の移動手段に変えることをいう。移動手段が限定されないことに対応して、移動手段の変更も限定されない。或る移動手段から別の移動手段への乗換は、移動手段の変更の一例である。移動手段の変更の例として、タクシーから在来線への乗換、或る路線(鉄道路線、バス路線など)から別の路線(鉄道路線、バス路線など)への乗換、自家用車から徒歩への変更、徒歩から在来線への変更、が挙げられる。「移動手段の変更に関する検索」とは、移動手段の変更に関係する情報を探し出す処理をいう。乗換方法の検索は移動手段の変更に関する検索の一例である。
移動手段の変更に関連して、経路検索システム1は交通結節点に関する処理を実行する。交通結節点とは移動手段の変更が実施される場所(要するに、移動手段が変わる場所)をいう。より具体的には、交通結節点は、複数の同種あるいは異種の移動手段の接続が行われる場所をいう。交通結節点は少なくとも二つの構成施設と関連付けられる。構成施設とは、移動手段を変更するためにユーザに利用される施設をいう。構成施設は、交通結節点を構成する要素として経路検索システム1により処理される。構成施設の例として、駅、バス停、タクシー乗り場、港、空港、駐車場、および駐輪場が挙げられるが、構成施設はこれらに限定されない。一つの構成施設が複数の交通結節点に属してもよい。したがって、交通結節点および構成施設は多対多の関係(言い換えるとM:Nの関係)にある。
図1は交通結節点の一例を示す図である。この例では、地下鉄210、在来線220、道路ネットワーク230、および道路ネットワーク240を含む地図200を模式的に示す。地図200において、白丸は構成施設を表し、破線は交通結節点を表す。図1では4個の交通結節点を例示するが、地図200内においてさらなる交通結節点が存在し得ることに留意されたい。
この例において、交通結節点251は地下鉄のA駅と、在来線のA駅と、駐車場Paとにより構成される。人々は交通結節点251で、地下鉄と在来線との間で乗換をしたり、車を駐車場に置いて地下鉄または在来線に乗ったり、地下鉄を降りて徒歩で移動するなどの様々な方法で移動手段を変更することができる。交通結節点252は在来線のB駅と、駐車場Pbとにより構成される。人々は交通結節点252で、在来線から降りて駐車場から自分の車に乗ったり、駅まで歩いて来て在来線に乗ったりするなどの様々な方法で移動手段を変更することができる。交通結節点253は在来線のC駅により構成される。人々は交通結節点253で、在来線から降りて徒歩で移動したり、駅まで車で送ってもらって在来線に乗ったりすることができる。交通結節点254は駐車場Pc,Pd,Peにより構成される。人々は車で交通結節点254に来ていずれかの駐車場にその車を置き、その駐車場から徒歩で移動することができる。
[システムの構成]
図2は経路検索システム1の一例を示す図である。経路検索システム1は、移動経路をユーザに提供するコンピュータであるサーバ10を備える。一例では、サーバ10は通信ネットワークを介して地図データベース20、および1以上のユーザ端末30と接続する。
サーバ10は経路検索システム1の主要な機能を実行するコンピュータである。サーバ10はユーザ端末30からの要求に基づいて経路検索を実行し、検索された移動経路をユーザ端末30に提供する。この経路検索において、サーバ10は移動手段の変更に関する検索を実行する。
図2はサーバ10の機能構成の一例も示す。サーバ10は機能モジュールとして通信部11および検索部12を備える。通信部11はユーザ端末30との間でデータを送受信する機能モジュールである。具体的には、通信部11は経路検索の要求をユーザ端末30から受信し、検索された移動経路を検索結果としてそのユーザ端末30に送信する。検索部12は移動経路を検索する機能モジュールである。
サーバ10として機能するコンピュータは限定されない。一例では、サーバ10は業務用サーバなどの大型のコンピュータによって構成される。図3は、サーバ10のハードウェア構成の一例を示す。例えば、サーバ10は制御回路100を有する。一例では、制御回路100は、一つまたは複数のプロセッサ101と、メモリ102と、ストレージ103と、通信ポート104と、入出力ポート105とを有する。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ103はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体(例えば、磁気ディスク、光ディスクなど)の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ102は、ストレージ103からロードされたプログラム、またはプロセッサ101による演算結果を一時的に記憶する。一例では、プロセッサ101は、メモリ102と協働してプログラムを実行することで、サーバ10の各機能モジュールとして機能する。通信ポート104は、プロセッサ101からの指令に従って、通信ネットワークNWを介して他の装置との間でデータ通信を行う。入出力ポート105は、プロセッサ101からの指令に従って、キーボード、マウス、モニタなどの入出力装置(ユーザインタフェース)との間で電気信号の入出力を実行する。
ストレージ103は、コンピュータをサーバ10として機能させるためのプログラム120を記憶する。プログラム120は、コンピュータを通信部11および検索部12として機能させるためのプログラムコードを含む。プログラム120は、CD−ROM、DVD−ROM、半導体メモリなどの非一時的な記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラム120は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
サーバ10は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ10が構成される。
地図データベース20は、経路検索に必要な地図データ21を永続的に記憶する非一時的な記憶媒体または記憶装置である。地図データベース20は経路検索システム1の一部として構築されてもよいし、経路検索システム1とは別のコンピュータシステムに設けられてもよい。
地図データ21は、地図を構成する地図要素を示す。地図要素の種類および表現方法は限定されず、任意の方針で設計されてよい。地図要素の例としてノードおよびリンクが挙げられる。ノードとは、経路を特徴づける位置をいい、より具体的には、移動体の移動方法(例えば方向、速度など)を変えることができる位置、または該移動方法が変わる位置をいう(例えば、駅、バス停、駐車場等の乗り換え地点、交差点など)。交通結節点に属する構成施設はノードの一種であり得る。リンクとは、経路を示すために設定される仮想的な線のことをいい、隣接するノード間を結ぶ。リンクの形状は直線でも曲線でもよく、あるいは、直線と曲線との組合せでもよい。地上においては、リンクの形状は道路の形状に依存し得る。ノードおよびリンクが設定される位置は限定されず、例えば、ノードおよびリンクは地上、地下、空中、水上、または水中に設定され得る。
ユーザ端末30はユーザによって操作されるコンピュータ(クライアント端末)である。ユーザ端末30は固定端末でもよいし携帯端末でもよい。ユーザ端末30の例として、携帯電話機、スマートフォン、タブレット端末、ウェアラブル端末、またはパーソナルコンピュータが挙げられるが、端末の種類はこれらに限定されない。図2では一つのユーザ端末30のみを示すが、経路検索システム1にアクセスするユーザ端末30の台数は限定されない。
[地図データ]
地図データ21は経路検索のために用いられ、一例では、移動手段の変更を含む経路を検索するために用いられる。地図データ21は、交通結節点と、該交通結節点を構成する少なくとも一つの構成施設との関連付けを表現する。交通結節点と構成施設との関係を定義するための具体的なデータ構造は限定されず、任意の手法で実装されてよい。図4〜図7を参照しながら、地図データ21のデータ構造の様々な例を説明する。図4〜図7はいずれも、地図データ21のデータ構造の一例を示す図であり、より具体的には、交通結節点および構成施設に関するデータ構造を示す。これらの例はいずれも一つの交通結節点についての情報を示すが、当然ながら交通結節点は複数存在し、これに伴って、地図データ21は複数の交通結節点についての情報を示すことに留意されたい。
図4に示す地図データ21Aは、交通結節点テーブル23、構成施設テーブル24、および乗換テーブル25を含む。交通結節点テーブル23は、交通結節点に関する情報を示す交通結節点データを記憶するデータテーブルである。一例では、交通結節点データの各レコードは、個々の交通結節点を一意に特定する交通結節点IDと、交通結節点の名称(交通結節点名)とを含む。構成施設テーブル24は、構成施設に関する情報を示す構成施設データを記憶するデータテーブルである。一例では、構成施設データの各レコードは、個々の構成施設を一意に特定する構成施設IDと、その構成施設に対応する交通結節点IDと、構成施設の名称(施設名)と、代表フラグとを含む。代表フラグは、その構成施設が一つの交通結節点における2以上の構成施設を代表するか否かを示す情報であり、二値で示される。一例では、代表フラグは、構成施設が代表であることを示す「1」、および、構成施設が代表でないことを示す「0」のいずれかである。乗換テーブル25は、交通結節点での乗換に関する情報を示す乗換データを記憶するデータテーブルである。一例では、乗換データの各レコードは、個々の乗換方法を一意に特定する乗換IDと、乗換に用いられる二つの構成施設のID(第1構成施設IDおよび第2構成施設ID)とを含む。
構成施設テーブル24は交通結節点IDによって交通結節点テーブル23と関連付けられ、この関係によって、交通結節点に属する構成施設を特定することができる。乗換テーブル25は二つの構成施設IDによって構成施設テーブル24と関連付けられ、この関係によって、交通結節点で可能な乗換方法を特定することができる。
図4の例は、交通結節点「ハブHa」が「駅Sa」および「駐車場Px」という二つの構成施設によって構成され、駅Saと駐車場Pxとの間で移動手段の変更が可能であることを示す。この例では、構成施設テーブル24は、駅Saが代表である場合の情報セット24aと、駐車場Pxが代表である場合の情報セット24bとを含む。このように、構成施設に関する情報は、或る構成施設が代表である場合の情報と、別の構成施設が代表である場合の情報とを含んでよい。図4に示すような情報セットの個数は2に限定されず、1でもよいし3以上でもよい。情報セットが複数である場合に、経路検索においてどの情報セットを用いるかは任意に設計されてよい。
地図データは次のような構成であってもよい。或る交通結節点が「駅S1」、「バス停B1」、「駐車場P1」、および「駐車場P2」という四つの構成施設で構成され、駅S1が代表であるとする。また、別の交通結節点が「駅S1」、「バス停B1」、「駐車場P2」、および「駐車場P3」という四つの構成施設で構成され、バス停B1が代表であるとする。駐車場P1は駅S1には近いがバス停B1からは比較的遠い。駐車場P2は駅S1とバス停B1の双方に近い。駐車場P3は駅S1から比較的遠いがバス停B1には近い。このような構成施設間の距離が考慮された当該地図データを利用することにより、検索部12は、電車とバスを乗り継ぐ経路として、駅S1およびバス停B1を経由する経路を検索できる。また、検索部12は車と電車を乗り継ぐ経路として、駐車場P1および駅S1を経由する経路を検索できる。さらに、検索部12は車とバスを乗り継ぐ経路として、駐車場P3およびバス停B1を経由する経路を検索できる。
図5に示す地図データ21Bは、交通結節点テーブル23、目的テーブル26、および構成施設テーブル24を含む。目的テーブル26は、交通結節点での目的に関する情報を示す目的データを記憶するデータテーブルである。交通結節点での目的とは、人が交通結節点に向かう目的をいう。一例では、目的データは、交通結節点および目的の組合せを一意に特定する目的IDと、交通結節点IDと、目的の名称(目的名)とを含む。目的名の表現方法は限定されず、例えば、目的名は、移動の理由、目指す場所などの任意の意味を持つ語句で表現されてよい。地図データ21Bでは、構成施設データの各レコードが目的IDをさらに含む。
目的テーブル26は交通結節点IDによって交通結節点テーブル23と関連付けられ、この関係によって、交通結節点での目的を特定することができる。構成施設テーブル24は目的IDと交通結節点IDとの組合せによって目的テーブル26と関連付けられ、この関係によって、交通結節点での目的に対応する構成施設を特定することができる。
図5の例は、交通結節点「エリアHb」が「駐車場Pf」、「駐車場Pg」、「駐車場Ph」、および「駐車場Pi」という四つの構成施設によって構成されることを示す。このエリアHbについて、「キャンプ場」、「公園」、および「自然観察センタ」という三つの目的が設定されている。駐車場Pf,Pgは「キャンプ場」という目的に、駐車場Phは「公園」という目的に、駐車場Piは「自然観察センタ」という目的に、それぞれ対応する。目的と構成施設とのこのような対応関係は、例えば、駐車場Pf,Pgがキャンプ場に近く、駐車場Phが公園に近く、駐車場Piが自然観察センタに近いことを示す。したがって、その対応関係によって、目的に応じた便利な構成施設を特定することができる。
地図データ21Aは交通結節点に構成施設を直接に関連付けたデータ構造を持つので、地図データ21Aでは交通結節点と構成施設との関係が2層の構造によって表現される。一方、地図データ21Bは、交通結節点に目的を関連付け、その目的に構成施設を関連付けたデータ構造を持つので、地図データ21Bでは交通結節点と構成施設との関係が3層の構造によって表現される。交通結節点と構成施設との対応関係は様々なデータ構造によって表現することが可能であり、例えば、4以上の層の構造によって表現されてもよい。
図6に示す地図データ21Cは、交通結節点テーブル23、構成施設テーブル24、乗換テーブル25、および期間テーブル27を含む。期間テーブル27は、構成施設の有効期間を示す期間データを記憶するデータテーブルである。構成施設の有効期間とは、人が構成施設を利用することができる期間をいう。本開示では、有効期間が設定された構成施設を「時限施設」ともいう。一例では、期間データの各レコードは、レコードを一意に特定する期間IDと、構成施設IDと、有効期間の始期である開始日時と、有効期間の終期である終了日時とを含む。期間データと関連付けられた構成施設データは、開始日時に有効になり、終了日時に無効になる。このような有効化は構成施設テーブルにレコードを追加することで実現され、無効化は構成施設テーブル24からレコードを削除することで実現されてもよい。このようなレコード操作は自動で実行されてもよいし、オペレータの操作に従って実行されてもよい。また、そのレコード操作は経路検索システム1において実行されてもよいし、他のコンピュータシステムにより実行されてもよい。
交通結節点テーブル23、構成施設テーブル24、および乗換テーブル25の関係は地図データ21Aと同じである。期間テーブル27は構成施設IDによって構成施設テーブル24と関連付けられ、この関係によって、構成施設の有効期間を特定することができる。
図6の例は、交通結節点「ハブHc」が「駅Sb」、「バス停Ba」、および「臨時バス停Bb」という三つの構成施設によって構成され、駅Sb、バス停Ba、および臨時バス停Bbとの間で移動手段の変更が可能であることを示す。ただし、臨時バス停Bbは2020年3月1日10:00から2020年3月15日18:00までに限って有効である時限施設である。これは、臨時バス停Bbのデータがその有効期間に限ってサーバ10により抽出され得ることを意味する。
図6の例では、有効期間が開始日時および終了日時の双方によって規定されるが、有効期間は開始日時および終了日時の一方のみによって規定されてもよい。例えば、新規に設けられる常設の構成施設の有効期間が開始日時のみによって規定されてもよく、廃止される予定の構成施設の有効期間が終了日時のみによって規定されてもよい。
図7に示す地図データ21Dは、交通結節点テーブル23、構成施設テーブル24、乗換テーブル25、および利用属性テーブル28を含む。利用属性テーブルは、構成施設の利用属性を示す利用属性データを記憶するデータテーブルである。構成施設の利用属性とは、構成施設の利用に関する特徴または性質をいう。本開示では、利用属性が設定された構成施設を「属性限定施設」ともいう。一例では、利用属性データの各レコードは、レコードを一意に特定する利用属性IDと、構成施設IDと、利用属性の種別と、対象施設と、ユーザ属性と、ユーザリストとを含む。利用属性の種別とは、レコードの中で参照可能な利用属性の1以上の種類をいう。対象施設、ユーザ属性、およびユーザリストにはいずれも、経路検索において構成施設が候補として抽出されるための条件を示す値が設定される。種別には「対象施設」、「ユーザ属性」、および「ユーザリスト」のうちの少なくとも一つの値が設定される。種別に「対象施設」が設定される場合には、データ項目「対象施設」には、検索条件として指定され得る施設の名称が設定される。種別に「ユーザ属性」が設定される場合には、データ項目「ユーザ属性」には、検索条件として指定され得るユーザ属性が設定される。ユーザ属性とは、ユーザの性質、特徴、または状況を表す任意の情報である。種別に「ユーザリスト」が設定される場合には、データ項目「ユーザリスト」には、検索条件として指定され得る1以上のユーザIDが設定される。ユーザIDは個々のユーザを一意に特定する識別子である。
交通結節点テーブル23、構成施設テーブル24、および乗換テーブル25の関係は地図データ21Aと同じである。利用属性テーブル28は構成施設IDによって構成施設テーブル24と関連付けられ、この関係によって、構成施設の利用属性を特定することができる。
図7の例は、交通結節点「ハブHd」が「駅Sc」、「バス停Bc」、および「バス停Bd」という三つの構成施設によって構成され、駅Sc、バス停Bc、およびバス停Bdとの間で移動手段の変更が可能であることを示す。ただし、バス停Bdは、検索条件に含まれるユーザ属性が利用属性データのユーザ属性と対応する場合に限って有効である属性限定施設である。これは、検索条件がバス停Bdのユーザリストに対応する場合に限ってバス停Bdのデータが抽出され得ることを意味する。
上述したように地図データ21のデータ構造は図4〜図7の例に限定されない。例えば、ある一つの構成施設について期間データおよび利用属性データの双方が関連付けられてもよい。期間テーブル27および利用属性テーブル28は、目的テーブル26を有する地図データ21に適用されてもよい。期間データおよび利用属性データの少なくとも一方は交通結節点データに関連付けられてもよい。すなわち、特定の期間に限って経路検索の検索結果に現れ得る交通結節点が存在してもよく、本開示ではこのような交通結節点を「時限の交通結節点」ともいう。特定の利用属性に対応する場合に限って経路検索の検索結果に現れ得る交通結節点が存在してもよく、本開示ではこのような交通結節点を「属性限定の交通結節点」ともいう。個々のデータテーブルの構造も限定されず、任意の方針でデータ構造が設計されてよい。例えば、上述した各種データテーブルの少なくとも一つが任意の方針で正規化または非正規化されて一または複数のデータテーブル上に記憶されてもよい。
個々のデータの個々のデータ項目は静的に設定されてもよいし動的に設定されてもよい。「静的に設定される」とは、値が予め設定され、人手の介入がない限りはその設定が変更されないことをいう。一方、「動的に設定される」とは、値が任意の事象に応じて人手の介入無しに変更され得ることをいう。動的な設定は、所与のデータ項目を制御するプログラムが所定のコンピュータ上で実行されることで実現される。動的な設定は経路検索システム1により実行されてもよいし、別のコンピュータシステムにより実行されてもよい。
[システムでの処理手順]
図8を参照しながら、経路検索システム1の動作を説明するとともに本実施形態に係る経路検索方法を説明する。図8は経路検索システム1の動作の一例を示すフローチャートであり、より具体的には、経路検索の全体の流れを処理フローS1として示す。
ステップS11では、通信部11がユーザ端末30から検索要求を受信する。検索要求は移動経路の検索条件を示すデータ信号である。ユーザはユーザ端末30を操作して、経路検索に必要な情報を入力し、その情報の送信を指示する。ユーザ端末30はその操作に応答して検索条件を生成し、この検索条件を示す検索要求をサーバ10に向けて送信する。通信部11はその検索要求を受信する。検索条件は、ユーザにより指定された出発地および目的地を少なくとも示す。検索条件は出発日時および到着日時のうちの少なくとも一つ、少なくとも一つの経由地などの、他のデータ項目をさらに含んでもよい。検索条件は目的に関するデータ項目をさらに含んでもよい。目的の表現方法は限定されず、例えば、目的は移動の理由、目指す場所などの任意の意味を示してよい。検索条件はユーザに関するデータ項目を含んでもよく、例えば、ユーザIDを含んでもよいし、ユーザ属性に関する少なくとも一つのデータ項目をさらに含んでもよい。
ステップS12では、検索部12が、経路検索に必要なデータを地図データベース20から取得する。一例では、検索部12は検索条件に対応する1以上の移動経路が存在する地理的範囲を算出し、その地理的範囲内に位置する交通結節点および構成施設を抽出し、その抽出された交通結節点および構成施設に関するデータを地図データベース20から取得する。地理的範囲の算出方法は限定されず、検索部12は任意のアルゴリズムを用いてその計算を実行してよい。この処理で抽出される交通結節点および構成施設は、検索条件に合致する移動経路を構成する可能性がある交通結節点および構成施設である。
或る構成施設に目的が設定されている場合には、検索部12は、その目的が検索条件に対応する場合にその構成施設を抽出する。例えば、検索部12は、目的データで示される目的名が検索条件の目的に対応する場合に、その目的名に対応する構成施設を抽出する。その目的名が検索条件の目的に対応しない場合には、検索部12はその目的名に対応する構成施設を抽出しない。
時限施設が設定されている場合には、検索部12は、検索条件から特定される検索日時において有効である時限施設を抽出する。検索日時の種類は限定されないが、例えば、検索日時は出発日時から到着日時の間の任意の日時でもよい。以下では、その任意の日時を「移動日時」ともいう。一例では、検索部12は出発日時および到着日時の少なくとも一つから移動日時を特定する、そして検索部12は、その移動日時が時限施設の期間データの開始日時および終了日時の間に含まれる場合(すなわち、移動日時が有効期間内である場合)にその時限施設を抽出する。その移動日時が有効期間外であれば、検索部12はその時限施設を抽出しない。時限の交通結節点が設定されている場合には、検索部12は、検索条件から特定される移動日時において有効である、時限の交通結節点を抽出する。時限の交通結節点の具体的な抽出方法は、時限施設の抽出方法と同様である。
属性限定施設が設定されている場合には、検索部12は、利用属性が検索条件に対応する属性限定施設を抽出する。例えば、検索部12は、属性限定施設の利用属性データで示される対象施設が検索条件の出発地、目的地、または経由地に対応する場合に、その属性限定施設を抽出する。その対象施設がその出発地、目的地、および経由地のいずれにも対応しない場合には、検索部12はその属性限定施設を抽出しない。別の例として、検索部12は、属性限定施設の利用属性データで示されるユーザ属性が検索条件のユーザ属性に対応する場合に、その属性構成施設を抽出する。利用属性データのユーザ属性が検索条件のユーザ属性に対応しない場合には、検索部12はその属性限定施設を抽出しない。さらに別の例として、検索部12は、属性限定施設の利用属性データで示されるユーザリストが検索条件のユーザIDを含む場合に、その属性限定施設を抽出する。利用属性データのユーザリストが検索条件のユーザIDを含まない場合には、検索部12はその属性構成施設を抽出しない。属性限定の交通結節点が設定されている場合には、検索部12は、その利用属性が検索条件に対応する場合にその交通結節点を抽出する。属性限定の交通結節点の具体的な抽出方法は、属性限定施設の抽出方法と同様である。
或る一つの構成施設について、目的、有効期間、および利用属性(対象施設、ユーザ属性、およびユーザリストのうちの少なくとも一つ)のうちの任意の二つの要素が設定される場合があり得る。この場合には、検索部12は、その2以上の要素のいずれも検索条件に合致する場合に限ってその構成施設を抽出する。同様に、或る一つの交通結節点について、有効期間および利用属性(対象施設、ユーザ属性、およびユーザリストのうちの少なくとも一つ)の両方が設定される場合があり得る。この場合には、検索部12は、その両方の要素のいずれも検索条件に合致する場合に限ってその交通結節点を抽出する。
このように、検索部12は様々な手法を用いて交通結節点および構成施設を抽出することができる。いずれにしても、検索部12は抽出された交通結節点および構成施設に関するデータを地図データベース20から取得する。
ステップS13では、検索部12が、抽出されたデータを参照して、検索条件を満たす1以上の移動経路を検索する。検索部12は複数の移動経路を検索してもよく、例えば、道筋が互いに異なる複数の移動経路、道筋は同じだが交通手段または移動日時が互いに異なる複数の移動経路、あるいはこれらの移動経路の双方を検索してもよい。個々の移動経路の具体的な検索方法は限定されず、検索部12は任意のアルゴリズムを用いて移動経路を検索してよい。この検索処理の中で、検索部12は移動手段の変更に関する検索を実行し得る。例えば、検索部12は乗換方法の検索を実行する。乗換手段の変更に関する処理の例については、後で図12を参照しながら処理フローS2として説明する。
ステップS12,S13の実行順序は限定されない。例えば、検索部12は移動経路の検索の中で適宜、地図データベース20から必要なデータを取得してもよい。すなわち、検索部12はステップS13の中でステップS12を実行してもよい。
ステップS14では、通信部11が検索結果をユーザ端末30に向けて送信する。検索結果は、検索された1以上の移動経路を示すデータ信号である。一例では、ユーザ端末30はその検索結果を受信および表示し、これによりユーザはその検索結果を確認することができる。ユーザ端末30は検索結果を音声によって出力してもよい。移動経路が移動手段の変更を含む場合には、ユーザはどこでその変更をすればよいか(例えば、どこで乗り換えればよいか)を知ることができる。
図9〜図11を参照しながら、処理フローS1に基づく経路検索の具体例を説明する。図9〜図11はいずれも経路検索の一例を示す図である。
図9に示す例は地図データ21Bに対応する。この例では、ユーザがエリアHb内の公園に車で行くための検索を行ったとする。この場合、検索部12はステップS12において、交通結節点が「エリアHb」であり且つ目的名が「公園」であるデータを取得する。一例では、取得されるデータは、交通結節点ID「H00020」を含む交通結節点データ、目的ID「V10002」を含む目的データ、および構成施設ID「F10023」を含む構成施設データである。検索部12はこれらのデータの参照を含む経路検索により。駐車場Phまで車で行く経路301と、そこから歩いて公園に向かう経路302を含む移動経路を得る。検索部12はこの経路検索において、車から徒歩への変更に関する検索を実行する。
地図データ21Bを用いることで、サーバ10は検索条件で示される目的に合う構成施設を正確に抽出することができる。例えば、ユーザは、到着地周辺の土地勘に乏しい場合にも、目的を含む検索条件を入力することで、その目的に合った駐車場を検索結果として得ることができる。図9の例に基づけば、公園に行きたいユーザは検索条件においてその公園を目的として設定することで、その公園に近い駐車場Phを目的地とする移動経路を知ることができる。
図10に示す例は地図データ21Cに対応する。この例では、ユーザが駅Sbを経由してスタジアムXに行くための検索条件を指定したとする。また、バス停BaからスタジアムXまでの定期バスが存在し、時期によっては臨時バス停BbからスタジアムXまでの臨時バスが存在するものとする。図10の例(a)は、臨時バス停Bbが利用できない場合、すなわち、移動日時が臨時バス停Bbの有効期間外である場合を示す。この場合、地図データ21Cでは臨時バス停Bbが無効なので、検索部12はステップS12において、バス停Baのデータは抽出するが臨時バス停Bbのデータを抽出しない。したがって、検索部12はバス停BaからスタジアムXまでのバス移動311を含む移動経路のみを検索する。一方、図10の例(b)は、臨時バス停Bbが利用できる場合、すなわち、移動日時が臨時バス停Bbの有効期間内である場合を示す。この場合、地図データ21Cでは臨時バス停Bbが有効なので、検索部12はステップS12において、バス停Baおよび臨時バス停Bbの双方のデータを抽出する。したがって、検索部12はバス移動311を含む移動経路に加えて、臨時バス停BbからスタジアムXまでのバス移動312を含む別の移動経路も検索することができる。
臨時バス停Bbのように、現実世界では、特定の期間においてのみ設けられる構成施設が存在する。地図データ21Cを用いることで、サーバ10はそのような現実の場面に即した柔軟な検索を実行することができる。図10の例に基づけば、ユーザは臨時バス停Bbの開設を知らなくても、その臨時バス停Bbを経由する移動経路を得ることができる。
図11に示す例は地図データ21Dに対応する。この例では、ユーザが駅Scを経由して教習所Cに行くための検索条件を指定したとする。このユーザが教習所Cの生徒であれば、検索部12はステップS12においてバス停Bcのデータだけでなくバス停Bdのデータも取得する。したがって、検索部12はバス停Bdから教習所Cまでのバス移動321を含む移動経路を検索することができる。そのユーザが教習所Cの生徒でない場合には、検索部12はステップS12においてバス停Bcのデータは取得するがバス停Bdのデータは取得しない。したがって、検索部12は例えば、バス停Bcから、教習所Cに近いバス停Bxまでのバス移動322と、バス停Bxから教習所Cまでの徒歩経路323とを含む移動経路を検索する。もし、地図データ21Dの利用属性データにおいて、利用属性ID「A00010」に対応して対象施設「教習所C」が設定されているのであれば、検索部12はバス移動321を含む移動経路を、ユーザが誰かにかかわらず検索し得る。
教習所Cのように、現実世界では、主に特定の人に限って利用される場所が存在する。地図データ21Dを用いることで、サーバ10はそのような現実の場面に即した柔軟な検索を実行することができる。図11の例に基づけば、教習所Cの生徒はその場所への直接の移動経路を知ることができる。利用属性ID「A00010」に対応して対象施設「教習所C」が設定された場合には、教習所Cにこれから入校しようとする人もその場所への直接の移動経路を知ることができる。利用属性の設定方法によっては、特定の人向けの交通機関(例えば、女性専用タクシー、女性専用の夜行バスなど)を含む移動経路の提供も可能である。
図12を参照しながら、移動手段の変更に関する処理について説明する。図12はその処理の一例を示すフローチャートであり、より具体的には、或る交通結節点における第1移動手段から第2移動手段への変更に関する検索の一例を処理フローS2として示す。処理フローS2はステップS13において少なくとも一回実行され得る。
ステップS21では、検索部12が、第1移動手段の終点である構成施設を第1構成施設として特定する。上述したように移動経路の検索方法は限定されないので、検索部12は任意のアルゴリズムを用いて第1構成施設を特定してよい。
ステップS22では、検索部12がその第1構成施設に対応する交通結節点、すなわち、その第1構成施設が属する交通結節点を特定する。一例では、検索部12はまず第1構成施設の構成施設データを参照して交通結節点IDを特定する。構成施設テーブル24が複数の情報セットを記憶する場合には、検索部12は、第1構成施設が代表として設定されている情報セットを参照し、その情報セットに存在する第1構成施設の構成施設データを参照して交通結節点IDを特定してもよい。上述したように、一つの構成施設が複数の交通結節点に属する場合がある。この場合には、検索部12は次の第2移動手段を任意のアルゴリズムによって決定し、その第2移動手段に対応する第1構成施設の構成施設データを参照して交通結節点IDを特定する。続いて、検索部12はその交通結節点IDを有する交通結節点データを参照する。このように、一例では検索部12は、第1構成施設の構成施設データに対応する交通結節点データを参照することで交通結節点を特定する。
ステップS23では、検索部12が、特定された交通結節点と第2移動手段との双方に対応する構成施設を第2構成施設として特定する。一例では、検索部12は、特定された交通結節点IDを有し、且つ第2移動手段に対応する構成施設を示す構成施設データを参照し、これにより第2構成施設を特定する。この第2構成施設は第2移動手段の始点である。
ステップS24では、検索部12が第2移動手段による経路を検索する。上述したように、検索部12は任意のアルゴリズムを用いてその経路を検索してよい。
処理フローS2の具体例として、地図データ21Aを前提とする、鉄道から車への変更に関する検索を説明する。ステップS21では、検索部12は第1移動手段の終点である駅Saを第1構成施設として特定する。ステップS22では、検索部12は駅Saが代表として設定されている情報セット24aに存在する駅Saの構成施設データを参照して交通結節点ID「H00001」を特定する。そして、検索部12はその交通結節点IDを有する交通結節点データ、すなわちハブHaの交通結節点データを参照する。ステップS23では、検索部12は交通結節点ID「H00001」を有し、且つ第2移動手段に対応する駐車場Pxの構成施設データを参照することで、その駐車場Pxを第2構成施設として特定する。ステップS24では、検索部12が第2移動手段による、駐車場Pxから目的地または経由地(第2移動手段から別の移動手段への乗換地点)までの経路を検索する。
地図データ21B〜21Dのいずれにおいても、地図データ21Aと同様に交通結節点と構成施設との対応が定義されている。したがって当然ながら、サーバ10は地図データ21B〜21Dのいずれに基づいても処理フローS2を実行することができる。地図データ21が交通結節点と構成施設との関係を示すので、サーバ10はその交通結節点における移動手段の変更を柔軟に検索することができる。
[効果]
以上説明したように、本開示の一側面に係るコンピュータシステムはプロセッサを備える。プロセッサは、交通結節点を構成する複数の構成施設を示し、且つ複数の構成施設のうちの一つの構成施設が交通結節点を代表する施設であることを識別可能とした地図データに基づいて、交通結節点での移動手段の変更に関する検索を実行する。
本開示の一側面に係るデータ構造は、交通結節点を構成する複数の構成施設を示し、且つ前記複数の構成施設のうちの一つの構成施設が前記交通結節点を代表する施設であることを識別可能とした地図データのデータ構造である。
このような側面においては、地図データが交通結節点と構成施設との関係、および代表施設を示すので、その交通結節点における移動手段の変更を柔軟に検索することができる。
他の側面に係るコンピュータシステムでは、地図データが、交通結節点における目的を示す目的データと、該目的と構成施設との対応を示す構成施設データとを含んでもよい。プロセッサは検索において、交通結節点を構成し、且つ検索条件で示される目的に対応する構成施設を抽出してもよい。一般に、ユーザは何らかの目的を持って特定の場所に向かう。地図データが構成施設の目的を示すことで、検索条件で示される目的に合う構成施設を正確に抽出することができる。
他の側面に係るコンピュータシステムでは、地図データが、複数の構成施設のうち時限施設についての有効期間を示す期間データを含んでもよい。プロセッサは、検索条件から特定される検索日時が有効期間内である場合には、検索において時限施設を抽出し、検索日時が有効期間外である場合には、検索において時限施設を抽出しなくてもよい。現実世界では実際に、交通結節点を構成する施設の中に、利用期間が限られるものが存在する。そのような時限付きの構成施設を地図データ上で管理することで、現実の場面に即した柔軟な検索を実行することが可能になる。
他の側面に係るコンピュータシステムでは、地図データが、複数の構成施設のうち属性限定施設についての利用属性を示す利用属性データを含んでもよい。プロセッサは、利用属性が検索条件に対応する場合には、検索において属性限定施設を抽出し、利用属性が検索条件に対応しない場合は、検索において属性限定施設を抽出しなくてもよい。現実世界では実際に、主に特定の人に限って利用される場所が存在する。そのような場所に関連する構成施設を地図データ上で管理することで、現実の場面に即した柔軟な検索を実行することが可能になる。
他の側面に係るコンピュータシステムでは、利用属性が、施設名と、ユーザ属性と、1以上のユーザIDを含むユーザリストとのうちの少なくとも一つにより表されてもよい。この場合には、特定の場所、特定のユーザ属性、または特定のユーザに応じた柔軟な検索を実行することができる。
[変形例]
以上、本開示をその実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
上述したように地図データのデータ構造は限定されない。図13は4層を有する交通結節点の一例を示す図である。図14は、図13に対応する地図データの一例を地図データ21Eとして示す図である。図13は空港Hに対応する交通結節点の層構造を示す。第1層は空港Hであり、第2層に国際線ターミナルおよび国内線ターミナルが位置する。国内線ターミナルについては第3層に第1ターミナルおよび第2ターミナルが位置する。第1ターミナルについては第4層に第1駐車場および第2駐車場が位置し、第2ターミナルについては第4層に第3駐車場および第4駐車場が位置する。
これらの施設のそれぞれは、交通結節点を代表する施設(代表施設)になり得る。地図データ21Eのデータテーブル211は、それぞれの構成施設が代表施設になる場合の交通結節点の構成を示す。データテーブル211の各レコードは、代表施設およびその交通結節点IDと、残りの構成施設とを示す。データテーブル212の各レコードは、交通結節点IDおよび交通結節点名を示す。データテーブル213は施設間の親子関係を示す。データテーブル213の各レコードは、施設の親子関係を一意に特定する親子関係IDと、下位の層に位置する施設の交通結節点IDである子IDと、上位の層に位置する施設の交通結節点IDである親IDとを含む。これらのデータテーブル211〜213を含む地図データ21Eによって、図13に示す4層構造が表現される。
上記実施形態では本開示に係るコンピュータシステムをクライアントサーバシステムに適用するが、本開示に係るコンピュータシステムはスタンドアロンのコンピュータに適用されてもよい。
本開示に係るコンピュータシステム、方法、およびプログラムは経路検索以外の用途に適用されてもよく、例えば、乗換場所での乗換方法をユーザに提供する技術に適用されてもよい。
本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。
コンピュータシステム内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」の二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
以上の実施形態の全部または一部に記載された態様は、適切な移動手段の変更、適切な経路検索、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび/またはプログラムの容量の削減、装置および/またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および/またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および/またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。