(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された経路探索装置では、定期区間全体に重み付けがなされているため、運行コスト上は定期区間内の途中停車駅で下車したり、他の駅へ乗り換えた方がより適切である場合であっても、当該定期区間全体が選ばれてしまい、乗換経路が探索されにくくなる。つまり、定期区間の一部の駅での乗り降りが考慮されていないという問題がある。上述した「定期券利用時の運賃計算」機能も、部分的に定期区間を利用できる途中区間がある場合であっても、その途中区間を確実に選ぶことができない。
また、従来は、交通手段ネットワークの一部を何度も乗り降り可能な区間を定めたフリーパス区間を考慮した経路探索は行われていない。このようなフリーパス区間を考慮した経路探索を行うことで、より運行コストの小さい経路を探索できる期待がある。
【0006】
本発明は、上記の問題を解決し、交通手段ネットワークにおける通勤定期区間、通学定期区間又はフリーパス区間のような運賃支払済区間において、利用開始駅と利用終了駅とを個別に特定することができる経路探索技術を提供することを主たる課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明は、経路探索方法、経路探索サーバ、コンピュータプログラムを提供する。
本発明の経路探索方法は、情報端末との間で通信を行い、交通手段ネットワークに存在する出発駅と目的駅との経路探索を行う装置が実行する方法であって、前記交通手段ネットワークにおける通勤定期区間、通学定期区間又はフリーパス区間のような運賃支払済区間のすべての駅からの運行コストがゼロとな
り、前記運賃支払済区間の各駅に接続される仮想ノードを当該交通手段ネットワークに追加し、前記情報端末から前記出発駅及び前記目的駅を取得して、当該出発駅から前記仮想ノードに至る第1の経路探索と前記仮想ノードから当該目的駅に至る第2の経路探索との少なくとも一方を実行することにより、前記出発駅と前記目的駅とを結ぶ経路のうち、運行コストがより小さくなる前記運賃支払済区間の利用開始駅と利用終了駅との少なくとも一方を特定し、前記情報端末に、特定した前記利用開始駅と前記利用終了駅との少なくとも一方と、前記出発駅及び前記目的駅とを含む経路探索結果の画面を表示させる、交通機関の経路探索方法である。
【0008】
仮想ノードは、運賃支払済区間の各駅(実ノード)としか交通手段ネットワークにつながっていない。そのため、出発駅から仮想ノードまでの第1の経路探索により得られた経路は、仮想ノードの1つ前が必ず実ノードのいずれかとなる。仮想ノードから目的駅までの探索も同様であり、仮想ノードの次に到着するのは実ノードのいずれかとなる。仮想ノードと1つ前の実ノードとの間の運行コストはゼロであり、仮想ノードとその次に到着する実ノードとの間の運行コストもゼロなので、出発駅から仮想ノードに至る第1の経路探索と、仮想ノードから目的駅に至る第2の経路探索との少なくとも一方を実行することにより、運行コストがより小さくなる運賃支払済区間の利用開始駅と利用終了駅とを特定することができる。これにより、運賃支払済区間のどの駅(実ノード)からも交通手段ネットワークの他の駅に繋げることができるので、定期区間の一部の駅での乗り降りが可能な途中区間を確実に選ぶことができるなど、経路候補のバリエーションを拡げることができる。
【0009】
本発明の経路探索方法において、前記装置は、例えば、前記出発駅と前記目的駅の双方が前記運賃支払済区間外の駅である場合、前記情報端末に、前記利用開始駅と前記利用終了駅との間が前記運賃支払済区間であることを表示させる。
あるいは、前記装置は、前記出発駅が前記運賃支払済区間内の駅であるが前記目的駅が前記運賃支払済区間外の駅である場合、前記情報端末に、前記出発駅と前記利用終了駅との間が前記運賃支払済区間であることを表示させる。
あるいは、前記装置は、前記目的駅が前記運賃支払済区間内の駅であるが前記出発駅が前記運賃支払済区間外の駅である場合、前記情報端末に、前記利用開始駅と前記目的駅との間が前記運賃支払済区間であることを表示させる。
【0010】
本発明が提供する経路探索サーバは、交通機関の路線、駅を含む交通手段ネットワークのデータにアクセスするデータアクセス手段と、交通手段ネットワークにおける通勤定期区間、通学定期区間又はフリーパス区間のような運賃支払済区間
のすべての駅からの運行コストがゼロとな
り、前記運賃支払済区間の各駅に接続される仮想ノード
を当該交通手段ネットワークに追加する仮想ノード登録手段と、所定の情報端末から、出発駅及び目的駅を含む探索条件の入力を受け付ける探索条件受付手段と、前記探索条件の入力を契機に前記交通手段ネットワークのデータ及び仮想ノードを参照し、前記出発駅から前記仮想ノードに至る第1の経路探索と前記仮想ノードから前記目的駅に至る第2の経路探索との少なくとも一方を実行することにより、前記出発駅と前記目的駅とを結ぶ経路のうち、運行コストがより小さくなる前記運賃支払済区間の利用開始駅と利用終了駅とを特定する経路探索手段と、特定した前記利用開始駅と前記利用終了駅との少なくとも一方と、前記出発駅及び前記目的駅とを含む経路探索結果の画面を、前記情報端末に提供する提供手段とを備えたものである。
この経路探索サーバは、上述した経路探索方法を実施する装置として動作させることができる。
【0011】
本発明が提供するコンピュータプログラムは、コンピュータを経路探索サーバとして動作させるためのコンピュータプログラムであって、前記コンピュータを、交通機関の路線、駅を含む交通手段ネットワークのデータにアクセスするデータアクセス手段、交通手段ネットワークにおける通勤定期区間、通学定期区間又はフリーパス区間のような運賃支払済区間
のすべての駅からの運行コストがゼロとな
り、前記運賃支払済区間の各駅に接続される仮想ノード
を当該交通手段ネットワークに追加する仮想ノード登録手段、所定の情報端末から、出発駅及び目的駅を含む探索条件の入力を受け付ける探索条件受付手段、前記探索条件の入力を契機に前記交通手段ネットワークのデータ及び仮想ノードを参照し、前記出発駅から前記仮想ノードに至る第1の経路探索と前記仮想ノードから前記目的駅に至る第2の経路探索との少なくとも一方を実行することにより、前記出発駅と前記目的駅とを結ぶ経路のうち、運行コストがより小さくなる前記運賃支払済区間の利用開始駅と利用終了駅とを特定する経路探索手段、特定した前記利用開始駅と前記利用終了駅との少なくとも一方と、前記出発駅及び前記目的駅とを含む経路探索結果の画面を、前記情報端末に提供する提供手段、として機能させるコンピュータプログラムである。
【発明の効果】
【0012】
本発明によれば、定期区間やフリーパス区間のような運賃支払済区間のすべての駅からの運行コストがゼロとなる仮想ノードを交通手段ネットワークに追加し、出発駅から仮想ノードに至る第1の経路探索と仮想ノードから目的駅に至る第2の経路探索との少なくとも一方を実行することにより、出発駅と目的駅とを結ぶ経路のうち、運行コストがより小さくなる運賃支払済区間の利用開始駅と利用終了駅とを特定可能にしたので、定期区間の一部の駅での乗り降りが可能な途中区間を確実に選ぶことができるなど、経路候補のバリエーションを拡げることができる。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態例を、図面を参照して詳細に説明する。
<全体構成>
図1は、この実施形態の経路探索システムの全体構成例を示す図であり、特徴的な部分を掲示してある。この経路探索システム1は、インターネット等のデジタルネットワークNに接続される経路探索サーバ10を主たる構成要素として含む。
デジタルネットワークNには、情報端末の一例となるパーソナルコンピュータ(PC)70も接続可能になっている。情報端末の他の例となる携帯端末50は、データ通信及びデータ処理機能を有するスマートフォン等である。
【0015】
<経路探索サーバ>
経路探索サーバ10は、記憶装置を備えたサーバ本体を有し、このサーバ本体と本発明のコンピュータプログラムとの協働により実現される。すなわち、サーバ本体が、コンピュータプログラムを読み込んで実行することにより、記憶装置に運行情報DB(DBはデータベースの略、以下同じ)130及び仮想ノードDB140を構築するとともに、そのサーバ本体を、データ通信用インターフェイス100、仮想ノード登録部110、及び経路探察ツール120として機能させる。
【0016】
運行情報DB130には、交通機関(鉄道、バス、船舶、航空機等)の路線やダイヤ情報、運賃情報、駅リストを含む、交通手段ネットワークの構成情報が蓄積される。この構成情報は随時更新される。
【0017】
仮想ノードDB140には、交通手段ネットワークにおける通勤定期区間、通学定期区間又はフリーパス区間のような運賃支払済区間のすべての駅からの運行コストがゼロとなる仮想ノードが、運賃支払済区間中のすべての駅、路線の情報と関連付けて蓄積される。
【0018】
データ通信用インターフェイス100は、内部処理としては仮想ノード登録部110,経路探索ツール120,運行情報DB130,仮想ノードDB140へのアクセスを可能にするとともに、対外部処理として、携帯端末50やPC70との両方向通信を可能にする。携帯端末50やPC70へは、閲覧可能な階層ページ画面を提供する。この階層ページ画面は、経路探索のWebサービスを行うためのもので、経路探索条件の精緻な指定をシステム側とユーザとの間でインタラクティブに行うことにより、ユーザが満足する経路探索を行う環境をも提供する。経路探索の結果情報の表示もこのページ画面で行うことができる。
【0019】
仮想ノード登録部110は、定期区間又はフリーパス区間を、当該区間のすべての駅からの運行コストがゼロとなる仮想ノードとして仮想ノードDB140に登録する。「運行コストがゼロ」とは、運行コストを時間と見る場合には0秒、運行コストを運賃と見る場合は0円いうことである。
【0020】
図2は、仮想ノードの説明図である。
図2中、N1〜N6は、定期区間又はフリーパス区間である運賃支払済区間のすべての停車駅を表す実ノードである。実ノードN1〜N6に対して仮想ノードを1つ追加する。SPは経路探索時の出発駅であり、EPは経路探索時の目的駅である。
仮想ノードは、実ノードN1〜N6としか接続されておらず、出発駅SPから仮想ノードまでを探索して得られた経路は、仮想ノードに到着する1つ前のノードが、実ノードN1〜N6のいずれかになる。同様に、仮想ノードから目的駅EPまでを探索して得られた経路は、仮想ノードの次に到着するノードが実ノードN1〜N6のいずれかになる。そのために、出発駅SPから目的駅EPに仮想ノードを経由して至る経路は、
図3に示すようになる。
【0021】
図3には、出発駅SPからある経路を経由して実ノードN2、仮想ノード、実ノードN5、及び他の経路を経由して目的駅EPへ至る経路が示されている。
仮想ノードに到着する1つ前のノードが実ノードN2であり、仮想ノードの次に到着するノードが実ノードN5である。本明細書では、実ノードN2のような仮想ノードに到着する1つ前のノードを「利用開始駅」、実ノードN5のような仮想ノードの次に到着するノードを「利用終了駅」という。
【0022】
経路探索ツール120は、「検索エンジン」とも呼ばれるもので、出発駅と目的駅とを含む探索条件を受け付けたときに、運行情報DB130及び仮想ノードDB140の記録情報をもとに、出発駅から目的駅に向かう経路候補を動的に探索する。その際、定期区間やフリーパス区間である運賃支払済区間も考慮する。「動的に探索」とは、出発駅を起点として経路の運行コストが最も小さくなる次の区間、すなわち次の駅や停留所(以下の説明では、停留所も駅に含まれるものとする)の探索を、例えば水面に石を投げたときの波紋のように連鎖的に繰り返すことをいい、探索途中で現実的でない経路となることが判明した場合は、その経路についての次の駅以降の探索を止める。このような手法は、出発駅から目的駅までの一以上の経路を特定した後に当該一以上の経路から最適な運行コストの経路を探索する手法とは異なるものである。探索時に考慮する運行コストは、通常は時間を対象とする。すなわち、次の区間(駅間、徒歩区間)が最短時間となる経路候補を探索していく。
但し、時間以外にも、距離、運賃、あるいは、これらの組み合わせを運行コストとしても良い。
経路探索ツール120は、また、運行コストをもとに探索した複数の経路の各々について、当該経路の総運行コスト、例えば総所要時間を算出し、算出された総所要時間の小さい順に、複数の経路をソートすることもできる。
【0023】
<仮想ノード登録>
経路探索サーバ10は、ユーザがシステムに与える定期券情報(出発駅、路線名、乗換駅、到着駅)から仮想ノードDB140を構築する。
仮想ノードDB140に情報を蓄積する場合には、携帯端末50やPC70から定期券情報を取得する必要がある。そのために、経路探索サーバ10は、携帯端末50やPC70に
図4のような入力画面を表示させる。
図4の例では、定期券の出発地(出発駅)と到着地(到着駅)が入力可能である。出発駅及び到着駅が入力された後に「定期経路の探索」ボタンがクリックされることで、入力画面により経路探索サーバ10に出発駅から到着駅への経路探索が依頼され、経路探索サーバ10は、経路探索ツール120により経路探索を行う。
図4では、「聖蹟桜ヶ丘」駅から「渋谷」駅までの経路が探索される。
【0024】
経路探索の結果は、例えば
図5のような結果画面として、携帯端末50やPC70に表示される。携帯端末50やPC70のユーザは、この結果画面から実際に利用している定期券、すなわち運賃支払済区間を選択して、「定期券を追加」ボタンをクリックする。これにより仮想ノード登録部110は、仮想ノードDB140に情報を登録する。
【0025】
図6は、仮想ノードDB140に登録される情報の例示図である。
図6は、
図5のような結果として登録される例であり、「聖蹟桜ヶ丘」駅から「渋谷」駅までの利用路線名及び停車駅名が仮想ノードに接続される駅として登録される。この場合、「聖蹟桜ヶ丘」駅から「渋谷」駅までの各停車駅が運賃支払済区間になる。
【0026】
図4〜
図6では、定期券による乗車区間を運賃支払済区間としたときの仮想ノードの登録例を示したが、フリーパスであっても、同様に仮想ノードを登録することができる。この場合、出発駅及び到着駅の代わりに、例えば「○○パス」のようなフリーパス名や、フリー区間、路線名を入力することで登録することになる。
【0027】
<経路探索>
図7、
図9、
図12、
図15、及び
図18は、この実施形態にかかる経路探索の処理手順を示している。
経路探索サーバ10では、出発地及び目的地と運賃支払済区間との関係から、出発地(出発駅)が運賃支払済区間内且つ目的地(目的駅)が運賃支払済区間外、出発地(出発駅)が運賃支払済区間外且つ目的地(目的駅)が運賃支払済区間内、出発地(出発駅)及び目的地(目的駅)の双方が運賃支払済区間外、及び出発地(出発駅)及び目的地(目的駅)の双方が運賃支払済区間内、の4パタンの経路探索処理がある。
【0028】
経路探索サーバ10は、まず、データ通信用インターフェイス100により携帯端末50やPC70から出発駅名及び目的駅名を取得する(ステップS10)。
出発駅名及び目的駅名の取得の際には、携帯端末50又はPC70に
図8のような設定画面を表示させる。
図8の画面から、ユーザが、出発地に出発駅名を入力し、目的地に目的駅名を入力することで、経路探索サーバ10に出発駅名及び目的駅名が入力される。
【0029】
経路探索サーバ10は、経路探索ツール120により、取得した出発駅名が仮想ノードDB140に記録した運賃支払済区間内にあるかを確認する(ステップS20)。その後、経路探索ツール120は、取得した目的駅名が仮想ノードDB140に記録した運賃支払済区間内にあるかを確認する(ステップS30、S40)。
出発駅名が運賃支払済区間内にあり、目的駅名が運賃支払済区間内にあれば、処理4に移る(ステップS20:Y、ステップS30:Y)。出発駅名が運賃支払済区間内にあり、目的駅名が運賃支払済区間外にあれば、処理1に移る(ステップS20:Y、ステップS30:N)。出発駅名が運賃支払済区間外にあり、目的駅名が運賃支払済区間内にあれば、処理2に移る(ステップS20:N、ステップS40:Y)。出発駅名が運賃支払済区間外にあり、目的駅名が運賃支払済区間外にあれば、処理3に移る(ステップS20:N、ステップS40:N)。
【0030】
図9は、処理1の処理手順を示している。
処理1の場合には、例えば、
図10のように出発駅名及び目的駅名が入力される。この例では、出発駅名が「分倍河原」であり、目的駅名が「九段下」である。
図6の仮想ノードDB140の内容からわかるように、「分倍河原」は運賃支払済区間内にあり、「九段下」は運賃支払済区間外である。
【0031】
処理1では、経路探索ツール120は、まず、出発駅「分倍河原」を利用開始駅として(ステップS101)、出発駅から目的駅までの経路探索を行い、運賃支払済区間分の運賃を控除する(ステップS102)。経路探索の結果、ステップS102で運賃が最小になる経路を決める(ステップS103)。
次いで、経路探索ツール120は、仮想ノードから目的駅までの経路路探索を行い(ステップS104)、運賃が最小になる利用終了駅を決める(S105)。
【0032】
経路探索ツール120は、ステップS105で決めた利用終了駅による運賃と、ステップS103で決めた経路の運賃とを比較して、ステップS105の運賃がステップS103の運賃よりも小さい場合には、ステップS101の利用開始駅からステップS105で決めた利用終了駅までの経路を仮想ノードDB140から読み出して経路を決定する(ステップS106:Y、ステップS107)。ステップS105の運賃がステップS103の運賃よりも大きい場合には、ステップS102の経路探索結果を経路として決定する(ステップS106:N)。
このような経路探索の結果、携帯端末50又はPC70に、
図11のような経路探索結果画面を表示させる。
【0033】
図12は、処理2の処理手順を示している。
処理2の場合には、例えば、
図13のように出発駅名及び目的駅名が入力される。この例では、出発駅名が「立川」であり、目的駅名が「渋谷」である。
図6の仮想ノードDB140の内容からわかるように、「立川」は運賃支払済区間外にあり、「渋谷」は運賃支払済区間内である。
【0034】
処理2では、経路探索ツール120は、まず、目的駅「渋谷」を利用終了駅として(ステップS201)、出発駅から目的駅までの経路探索を行い、運賃支払済区間分の運賃を控除する(ステップS202)。経路探索の結果、ステップS202で運賃が最小になる経路を決める(ステップS203)。
次いで、経路探索ツール120は、出発駅から仮想ノードまで経路探索を行い(ステップS204)、運賃が最小になる利用開始駅を決める(ステップS205)。
【0035】
経路探索ツール120は、ステップS205で決めた利用開始駅による運賃と、ステップS203で決めた経路の運賃とを比較して、ステップS205の運賃がステップS203の運賃よりも小さい場合には、ステップS205で決めた利用開始駅からステップS201の利用終了駅までの経路を仮想ノードDB140から読み出して経路を決定する(ステップS206:Y、ステップS207)。ステップS205の運賃がステップS203の運賃よりも大きい場合には、ステップS202の経路探索結果を経路として決定する(ステップS206:N)。
このような経路探索の結果、携帯端末50又はPC70に、
図14のような経路探索結果画面を表示させる。
【0036】
図15は、処理3の処理手順を示している。
処理3の場合には、例えば、
図16のように出発駅名及び目的駅名が入力される。この例では、出発駅名が「立川」であり、目的駅名が「九段下」である。
図6の仮想ノードDB140の内容からわかるように、「立川」及び「九段下」はともに運賃支払済区間外である。
【0037】
処理3では、経路探索ツール120は、まず、出発駅から目的駅までの経路探索を行って、運賃支払済区間分の運賃を控除し(ステップS301)、運賃が最小になる経路を決める(ステップS302)。
次いで、経路探索ツール120は、出発駅から仮想ノードまでの経路探索を行い(ステップS303)、運賃が最小になる利用開始駅を決める(ステップS304)。
【0038】
経路探索ツール120は、出発駅からステップS304で決めた利用開始駅までの運賃と、ステップS302で決めた経路の運賃とを比較して、ステップS304の運賃がステップS302の運賃よりも小さい場合には、仮想ノードから目的駅まで経路探索を行い、運賃が最小になる利用終了駅を決める(ステップS305:Y、ステップS306、S307)。次いで、経路探索ツール120は、ステップS304の運賃とステップS307で決めた利用終了駅から目的駅までの運賃の合計を、ステップS302で決めた経路の運賃と比較して、ステップS304の運賃とステップS307の運賃の合計がステップS302の運賃よりも小さい場合には、利用開始駅から利用終了駅までの経路を仮想ノードDB140から読み出して経路を決定する(ステップS308:Y、ステップS309)。
【0039】
経路探索ツール120は、ステップS305でステップS304の運賃がステップS302の運賃よりも大きい場合には、ステップS301の経路探索結果を経路として決定する(ステップS305:N)。経路探索ツール120は、ステップS308でステップS304の運賃とステップS307の運賃の合計がステップS302の運賃よりも大きい場合にも、ステップS301の経路探索結果を経路として決定する(ステップS308:N)。
このような経路探索の結果、携帯端末50又はPC70に、
図17のような経路探索結果画面を表示させる。
【0040】
図18は、処理4の処理手順を示している。
処理4の場合には、例えば、
図19のように出発駅名及び目的駅名が入力される。この例では、出発駅名が「分倍河原」であり、目的駅名が「渋谷」である。
図6の仮想ノードDB140の内容からわかるように、「分倍河原」及び「渋谷」は運賃支払済区間内である。
【0041】
処理4では、経路探索ツール120は、利用開始駅から利用終了駅までの経路を仮想ノードDB140から読み出して経路を決定する(ステップS407)。
このような経路探索の結果、携帯端末50又はPC70に、
図20のような経路探索結果画面を表示させる。
【0042】
図21は、フリーパスを可能な限り利用した場合の経路探索に関する説明図である。
図21では、フリーパスで乗降可能な駅を斜線付きの丸、乗車可能な路線を実線で表し、それ以外の駅を点線の丸、路線を点線で表す。出発駅及び目的駅は、黒丸で表す。
【0043】
出発駅から目的駅までの経路探索を行うと、通常は、最短且つ最安値の経路1が選択される。しかし、フリーパスによる運賃支払済区間を考慮して、本実施形態の経路探索サーバ10により経路探索を行うと、運賃支払済区間内で移動する経路である経路2が選択される。
【0044】
以上のような処理により、ユーザが携帯端末50又はPC70に表示される
図8の画面から、出発駅名及び目的駅名を入力するだけで、定期券やフリーパスの利用による運賃支払済区間を考慮して最安値の経路の探索が可能になる。