走行路モデルデータの生成プログラム、これを含む交通流シミュレーションプログラム、このプログラムを実行する交通流シミュレーション装置
【課題】 コストをあまりかけずに、広範囲の道路を表示できるように、道路をモデル化する。
【解決手段】 道路上の点を示す複数のノードのうち、表示領域91内の最大X座標値を示すノード(nd10)61を、道路モデルの分割地点でとなる分割ノードとして抽出し、分割ノード61で分けられる複数の道路分割モデル60b,60cがモデル表示領域61内で並列表示されるよう、複数の道路分割モデル60b,60cの各ノードの座標データを変換し、変換後の座標データを用いて、複数の道路分割モデル60b,60cを表示する。
【解決手段】 道路上の点を示す複数のノードのうち、表示領域91内の最大X座標値を示すノード(nd10)61を、道路モデルの分割地点でとなる分割ノードとして抽出し、分割ノード61で分けられる複数の道路分割モデル60b,60cがモデル表示領域61内で並列表示されるよう、複数の道路分割モデル60b,60cの各ノードの座標データを変換し、変換後の座標データを用いて、複数の道路分割モデル60b,60cを表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラム、これを含む交通流シミュレーションプログラム、このプログラムを実行する交通流シミュレーション装置、並びに走行路モデルの表示方法に関する。
【背景技術】
【0002】
実際の道路上で起こる渋滞現象を計算機上で再現し、信号機や道路構造の変更により渋滞改善策を立案するために使用されるものとして、交通流シミュレータがある。この交通流シミュレータは、対象地域の道路線形、車線数、行先などの道路構造データ、及び交通量や信号変化タイミングなどの交通流パラメータを外部から受け付け、道路構造データを用いて道路モデルを作成して、この道路モデルをディスプレイに表示させると共に、車両1台毎の挙動をディスプレイ上にアニメーション表示させるほかに、渋滞長、通過時間などの結果を表示するものが一般的である。
【0003】
このような交通流シミュレータとしては、以下の特許文献1や非特許文献1に記載されているものがある。
【0004】
特許文献1に記載の交通流シミュレータは、道路モデルが表示されるディスプレイで紹介されているように、交通量などの入力を、道路モデルが表示されるディスプレイ上で容易に行うことができるものである。また、この交通流シミュレータでは、所定ルートの道路を直線上にモデル化し、これをディスプレイ上に表示することで、シミュレート結果を見やすくしている。
【0005】
また、非特許文献1に記載の交通流シミュレータは、比較的広範囲な道路のモデルを表示するために、複数のディスプレイを並べて配置し、複数のディスプレイの全体で道路モデルを表示させている。
【0006】
【特許文献1】特許第3462589号公報
【非特許文献1】情報処理学会研究報告(社団法人情報処理学会 2001年11月15日発行)P15〜P22
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の技術では、比較的広範囲な道路のモデル中で、シミュレーション結果を見たい箇所に関しては、その箇所がディスプレイ上に現れるように、道路モデルをスクロールする必要があり、広範囲のシミュレーション結果を一度に見ることができないという問題点がある。そこで、道路モデルを縮小してディスプレイ上に表示することが考えられるが、この方法では、道路モデル内の車1台毎の挙動を確認することが困難である。
【0008】
また、非特許文献1に記載の技術では、特許文献1に記載の技術での問題点を生じないものの、複数のディスプレイが必要でコストが嵩むという上に、車両の挙動を表示するにあたり、複数のディスプレイ相互間で同期をとる必要があるため、その制御も難しいという問題点がある。
【0009】
本発明は、このような従来技術の問題点に着目し、コストの増加を抑えつつ、広範囲の走行路を縮小することなく走行路モデルとして表示することができる走行路モデルデータの生成プログラム、これを含む交通流シミュレーションプログラム、及びこのプログラムを実行する交通流シミュレーション装置、並びに走行路モデルの表示方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
前記問題点を解決するための走行路モデルデータの生成プログラムに係る発明は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする。
【0011】
また、前記問題点を解決するための走行路モデルデータの生成プログラムに係る他の発明は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
前記所定の走行路が所定の大きさで直線状に前記表示領域でモデル表示させるよう、複数の前記ノードの位置データを変換する初期ノードデータ変換ステップと、
前記初期ノードデータ変換ステップで位置データが変換された複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする。
【0012】
ここで、以上の各生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになるノードを、前記分割ノードとして抽出してもよい。
【0013】
また、以上の各生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになる1以上のノードを分割候補ノードとして抽出し、抽出した前記1以上の分割候補ノードのうち、他の走行路との交差点にならないノードに関しては前記分割ノードとし、他の走行路との交差点になるノードに関しては前記分割ノードにせず、該ノードに対して、前記所定の走行路の始点側に隣接するノードを前記分割ノードとしてもよい。
【0014】
また、前記問題点を解決するための交通流シミュレーションプログラムは、
以上の生成プログラムのうちのいずれかの生成プログラムを含み、
交通量を含む交通流パラメータを受け付ける交通流パラメータ受付ステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データ、及び前記交通流パラメータ受付ステップで受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーションステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーションステップでのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示ステップと、
をコンピュータに実行させることを特徴とする。
【0015】
また、前記問題点を解決するための交通流シミュレーション装置は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データと、交通量を含む交通流パラメータとに基づいて、車両の挙動をシミュレートする交通流シミュレーション装置において、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出し、複数の該分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換する走行路モデル生成手段と、
前記交通流を受け付ける交通流パラメータ受付手段と、
前記走行路モデル生成手段で変換された各ノードの位置データ、及び前記交通流パラメータ受付手段で受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーション手段と、
前記走行路モデル生成手段で変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーション手段でのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示制御手段と、
を備えていることを特徴とする。
【0016】
また、前記問題点を解決するための走行路モデルの表示方法に係る発明は、
所定の走行路上での車両の挙動をシミュレートし、その結果を表示するときの走行路モデルの表示方法において、
前記所定の走行路における走行路条件が変化する複数地点の各ノードに関する少なくとも位置データを受け付けるデータ受付工程と、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出工程と、
複数の前記分割走行路モデルが、表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換工程と、
前記ノードデータ変換工程で変換された各ノードの位置データに基づいて、前記表示領域内に複数の分割走行路モデルを並列表示する表示工程と、
を含むことを特徴とする。
【発明の効果】
【0017】
本発明によれば、所定の走行路のモデルを分割した複数の分割走行路モデルが表示領域内に並列表示されるので、従来技術のように、複数の表示装置を用いることによるコスト増加を抑えつつ、広範囲の道路を表示させることができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明に係る一実施形態としての交通流シミュレーション装置について、図面を用いて説明する。
【0019】
本実施形態の交通流シミュレーション装置は、図2に示すように、コンピュータで、コンピュータ本体1と、キーボードやマウス等の入力装置8と、表示装置9とを備えている。コンピュータ本体1は、各種演算を実行するCPU2と、交通流シミュレーションプログラム等のプログラムが格納されているプログラムメモリ3と、ワークメモリ4と、ハードディスクドライブ5と、通信網Nと接続されるNインタフェース6と、入力装置8や表示装置9と接続されるI/Oインタフェース7とを有している。
【0020】
コンピュータ本体1の機能構成は、図1に示すように、各種データの入力を受け付けると共に各種データを編集する入力データ編集部10と、道路モデルを生成するための道路線形や車線数等の道路構造データが格納される道路構造データベース20と、交通量や信号変化タイミング等が格納される交通流パラメータ25と、所定の道路の道路分割モデルを生成する道路分割モデル生成部30と、道路内の車両の挙動のシミュレーションを行う交通量シミュレーション部40と、道路分割モデルを表示装置9にプレビュー表示させるプレビュー表示制御部50と、交通量シミュレーション部40がシミュレーションした結果を表示装置9に表示させるシミュレート結果表示制御部51と、を有している。
【0021】
道路分割モデル生成部30は、表示装置9上に道路分割モデルを表示するためのモデル構造データを生成するモデル構造データ生成部31と、道路分割モデルに対するシミュレーション条件を設定するシミュレーション条件設定部36と、を有している。モデル構造データ生成部31は、道路構造データベース20や入力データ編集部10からデータを受け取ると共に道路構造データベース20に道路モデルの構造データ等を格納する入出力処理部32と、道路中で道路構造条件が変化する各地点を示す各ノードのうちから道路を分割すべき地点のノードを抽出する分割ノード抽出部33と、表示装置9の表示領域内で道路モデルを適切に表示するためのノード座標変換部34とを有している。このノード座標変換部34は、交差点を重複表示するために座標変換処理を行う交差点重複表示処理部35が設けられている。また、シミュレーション条件設定部36は、所定の道路が分割された道路分割モデルの相互の連続性が無いものとしてシミュレーションするための条件を設定する単独条件設定部38と、複数の道路分割モデルの相互の連続性があるものとしてシミュレーションするための条件を設定する連続条件設定部37と、を有している。
【0022】
なお、入力データ編集部10は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3と、I/Oインタフェース7とを有して構成され、道路構造データベース20及び交通流パラメータデータベースは、ハードディスクドライブ5を有して構成され、プレビュー表示制御部50及びシミュレート結果表示制御部51は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3と、I/Oインタフェース7とを有して構成されている。また、道路分割モデル生成部30及び交通流シミュレーション部40は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3とを有して構成されている。
【0023】
次に、図3〜図9に示すフローチャートに従って、本実施形態における交通流シミュレーション装置の動作について説明する。
【0024】
図3のフローチャートに示すように、まず、入力データ編集部10が、所定の道路中の複数ノードの座標データやノード相互関係等の道路構造データを受け付けて(S100)、これを編集し、図10に示すノードデータ220や図11に示すリンクデータ230を作成して、道路構造データベース20に登録する(S200)。
【0025】
ここで、ノードとは、道路中で、車線幅や車線数の変化がある地点や、他の道路との交差している地点等、道路構造条件の変化している地点のことである。また、リンクとは、隣り合うノード相互で定められる線分のことである。入力データ編集部10は、所定の道路の複数ノードの座標データを受け付けると、所定の道路が直線状に表示され、且つノード相互間距離が予め定められた縮尺又はユーザからの指定縮尺になるように、複数のノードの座標を定め(初期ノードデータ変換ステップ)、各ノードのデータを所望の道路の始点側のノードデータから順に、道路構造データベース20に格納すると共に、以上のノードデータから定められるリンクのリンクデータを所望の道路の始点側のリンクデータから順に、道路構造データベース20に格納する。
【0026】
ノードデータ210としては、図10に示すように、格納順に付けられるノード番号211と、ノードのX座標値212と、ノードのY座標値213と、当該ノードとリンクを形成するノードの数、つまり接続数214と、当該ノードとリンクを形成する隣接ノードの番号215と、所望の道路を分割した各道路分割モデルで交差点を重複表示するか否かを示す重複フラグ216とがある。重複フラグ216は、交差点を重複表示を行う場合に「1」が設定され、重複表示を行わない場合に「0」が設定される。この重複フラグ216は、初期状態では「0」である。リンクデータ220としては、図11に示すように、格納順に付けられるリンク番号221と、当該リンクの始点ノードの番号222と、当該リンクの終点ノードの番号223と、当該リンクの車両進行方向で当該リンクに接続するリンク(行先リンク)の番号224と、車両の発生地点であるか否かを示す発生フラグ225とがある。行先リンク224は、当該リンクの車両進行方向に当該リンクに接続するリンクがない場合には「0」が設定される。また、発生フラグ225は、車両の発生地点である場合には「1」が設定され、車両の発生地点でない場合には「0」が設定される。
【0027】
図12は、以上の図10に示すノードデータ210及び図11に示すリンクデータ220で表される道路分割前モデル60である。同図では、モデル表示領域91で、左上隅を原点(0,0)とし、原点から右方向を+X方向、原点から下方向を+Y方向とし、所定の道路は、入力データ編集部10による編集処理(S200)により、+X方向に直線状に伸びる道路分割前モデル60として表されている。また、この道路分割前モデル60には、所定の道路に交差する道路の一部もモデル化されて接続されている。なお、モデル表示領域91は、図1に示すように、表示装置9の表示画面中の表示領域90の一部であり、この表示画面中の表示領域90よりも狭いことは言うまでもない。
【0028】
ここで、図10に示すノードデータ210の接続数214について簡単に説明する。例えば、ノードnd3は、ノードデータ210では接続数が4で、図12から理解できるように、4差路の交差点である。同様に、接続数が3の場合は、3差路の交差点となる。このように、接続数が3以上の場合、そのノードは交差点であることを示している。
【0029】
次に、図11に示すリンクデータ220の行先リンク224及び発生フラグ225について簡単に説明する。リンクlk1は、その車両進行方向のリンクとして、リンクlk3が存在する。このため、このリンクlk1の行先リンク224は、リンクlk3となる。また、このリンクlk1に対して車両進行方向が逆のリンクlk2は、その車両進行方向にリンクが存在しない。このため、行先リンク224は、「0」となる。また、リンクlk3は、その終点ノードnk3が4差路の交差点であることから、このリンクlk3の行先リンクは、左折先のlk5と、右折先のlk8と、直進先のlk9となる。リンクlk1、リンクlk6、リンクlk7の各始点ノードnd1,nd4,nd5には、車両の進行方向の逆方向側にリンクが存在しない。このような始点ノードを有するリンクは、全て車両の発生地点であるとして、発生フラグが「1」となる。
【0030】
道路構造データの編集及び道路構造データベース20への登録が終了すると(S200)、入力データ編集部10は、ユーザに対して所望の道路のモデルを分割表示するか否かの入力を促し(S300)、分割表示希望を受け付けると、その旨が道路分割モデル生成部30に送られ、そこで道路分割モデルが生成される(S400)。また、分割表示を希望しない旨を受け付けると、道路分割前モデルを用いたシミュレーションを行うため、交通量等の交通流パラメータの受付が行われる(S700)。
【0031】
道路分割モデル生成部30は、図4のフローチャートに示すように、道路分割モデルの構造データの生成処理を行った後(S401)、この道路分割モデルに対するシミュレーション条件を設定する(S407)。
【0032】
モデル構造データの生成処理(S401)では、図5のフローチャートに示すように、モデル構造データ生成部31の入出力処理部32が、まず、入力データ編集部10から表示装置9でモデルを表示する領域データを取得する(S410)。そして、モデル構造データ生成部31のノード座標変換部34が、分割前処理(S420)として、表示領域の適正な位置に道路分割前モデルを表示するために各ノードの座標を変換する。
【0033】
この分割前処理(S420)では、ノード座標変換部34が、まず、全ノードのX座標値のうちの最小値、及び全ノードのY座標値のうちの最小値をそれぞれ取得し(S421)、最小X座標値Xmin、最小Y座標値Yminのそれぞれを0にする(S422)。つまり、(Xmin,Ymin)をモデル表示領域の原点(0,0)に移す。具体的には、図12に示すように、全ノードのX座標値のうちの最小値はノードnd1の50であり、全ノードのY座標値のうちの最小値はノードnd4の50であるから、これらの値で定まる座標値(50,50)をモデル表示領域91の原点(0,0)に変換する。続いて、(Xmin(=50),Ymin(=50))→(0,0)の変換における同変化量分だけ、全てのノードの座標値を変え、図13に示すように、分割前モデル60aを平行移動させる(S423)。以上で、分割前処理(S420)が終了する。
【0034】
次に、モデル構造データ生成部31の分割ノード抽出部33が、全ノードのうちから、道路分割前モデル中で分割に適切な地点のノードを抽出する(S430)。
【0035】
この分割ノード抽出処理(S430)では、まず、分割ノード抽出部33がモデル表示領域91内で最大X座標値のノードを分割候補ノードとして抽出する(S431)。具体的には、図13に示すように、モデル表示領域91内で、道路分割前モデル60aを構成する各ノードうちから、最大X座標値のノードであるノードnd10を分割候補ノード61として抽出する。次に、図11に示すリンクデータ220を参照して、この分割候補ノードを終点ノードとするリンクに行先リンク224が存在するか否かを判断する(S432)。仮に、この分割候補ノードを終点ノードとするリンクに行先リンクが存在しない(「0」)場合、この分割候補ノードは所定の道路の終点であることから、分割処理できないため、図6のステップ461に進む。一方、この分割候補ノードを終点ノードとするリンクに行先リンクが存在する場合、この分割候補ノードは、所定の道路の途中の地点であるから、この分割候補ノードが分割ノードとして適切か否かをさらに判断するために、ステップ433に進む。
【0036】
ステップ433では、この分割候補ノードは、交差点であるか否かを判断する。この判断は、図10に示すノードデータ210を参照し、この分割候補ノードの接続数214が3以上であるか否かで行われる。仮に、この分割候補ノードの接続数が3以上、つまり、この分割候補ノードが交差点である場合、この分割候補ノードで分割前モデルを分割すると、交差点内で道路が分断されてしまい、極めて不自然な形態になる。そこで、分割候補ノードが交差点である場合、図10に示すノードデータ210を参照して、この分割候補ノードの隣接ノード215のうちから、分割候補ノードのX座標値よりもX座標値の小さいノードを新たな分割候補ノードとして抽出し(S434)、再び、ステップ433の処理を実行する。ステップ433で分割候補ノードが交差点でないと判断したときには、この分割候補ノードを、道路分割前モデルを実際に分割する地点としての分割ノードとして(S435)、分割ノード抽出処理(S430)を終了する。
【0037】
分割ノード抽出処理(S430)が終了すると、ノード座標変換部34が、図4及び図6のフローチャートに示すノード座標データ変換処理(S440)を実行する。
【0038】
このノード座標変換処理(S440)では、まず、ノード座標変換部34の交差点重複表示処理部35が、図10に示すノードデータ210を参照して、この分割ノードの隣接ノード215のうちから、分割ノードのX座標値よりもX座標値の小さいノード、つまり分割ノードの一つ手前のノードを抽出し、このノードが交差点であるか否かを判断する(S441)。分割ノードの一つ手前のノードが交差点でない場合には、分割ノードデータをコピーし、コピーしたノードデータを分割道路始点ノードのデータとする(S442)。また、分割ノードの手前のノードが交差点である場合には、ステップ443に進む。なお、このステップ443、その後に実行されるステップ444については後述する。
【0039】
ノード座標変換部34は、次に、分割道路始点ノードのX座標値を0に設定した後(S445)、分割ノードより前のノードで最大のY座標値を取得すると共に(S446)、分割始点ノードより後のノードで最小のY座標値を取得し(S447)、これらのY座標値から分割道路始点ノードのY座標値を定める(S448)。そして、分割道路始点ノードに対して、これよりも後の全ノードの相対位置関係が変わらぬよう、これらの座標値を変換する(S449)。
【0040】
ここで、以上のステップ445〜ステップ449までの処理について、図14を用いて具体的に説明する。
【0041】
まず、ステップ445では、第二段目の分割道路モデル60cの始点が左端によるように、分割ノード(nd10)61のノードデータがコピーされた分割道路始点ノード(nd10’)61aのX座標値を0にする。ステップ446で、分割ノード61より前のノードで最大のY座標値(Ymax)を取得する。図14に示す場合、ノードnd5,9のY座標値を取得する。さらに、ステップ447で、分割道路始点ノード(nd10’)61aより後のノードで最小のY座標値(Ymin)を取得する。同図の場合、ノードnd12のY座標値を取得する。そして、この最小のY座標値(Ymin)と分割道路始点(nd10’)ノード61aのY座標値との差ΔYを求め、一段目の分割道路モデル60bの最下端のノード(nd5,9)62と、二段目の道路分割モデル60cの最上段のノード(nd12)63とのY座標差が10になるように、一段目の分割道路モデル60bの最下端のノード(nd5,9)62のY座標値(Ymax)にΔYを加えた値を、分割道路始点ノード(nd10’)61aのY座標値(=Ymax+ΔY)とする。最後に、ステップ449で、分割ノード(nd10)61のX,Y座標値と分割始点ノード(nd10’)61aのX,Y座標値との偏差分だけ、分割道路始点ノード(nd10’)61aよりも後のノードの座標値を変えて、二段目の分割道路モデル60cの構造データを完成させる。
【0042】
次に、ステップ441で、分割ノードの一つ手前のノードが交差点であると判断した場合の処理について説明する。
【0043】
この場合、ノード座標変換部34の交差点重複表示処理部35は、入力データ編集部10を介して、ユーザに対して交差点を重複表示するか否かの入力を促し、交差点の重複表示を希望しない旨を受け付けると、前述のステップ442に進む。また、交差点の重複表示を希望する旨を受け付けると、この交差点ノード及びその全隣接ノードに関する重複フラグ216を「1(重複表示する)」に設定し、これらのノードデータをコピーする。さらに、交差点ノードの一つ手前のノードを分割道路始点ノードに設定する(S444)。
【0044】
ここで、このステップ444の処理について、図15を用いて具体的に説明する。
【0045】
分割ノード61の真近に交差点64がある場合、この交差点64を一段目の分割道路モデル中に含めると共に、二段目の分割道路モデルにも含めると、一段目の道路分割モデルと二段目の道路分割モデルとの関係が理解しやすい場合がある。そこで、本実施形態では、交差点64を重複表示するか否かをユーザに訊ね、ユーザが重複表示を希望した場合には、交差点64を重複表示する。
【0046】
具体的には、交差点を重複表示する場合、交差点ノード64のみを重複表示しても、ユーザは、これが交差点であることを理解できない。このため、交差点重複表示処理部35は、図10に示すノードデータを参照して、交差点ノード64と、この交差点ノード64の隣接ノード215を含む部分、つまり、交差点ノード64を中心として、一つ手前のノード65、一つ後のノードである分割ノード61、一つ上のノード66、一つ下のノード67を含む部分を重複表示領域Wとし、この重複表示領域W内の全てのノードのノードデータをコピーする。そして、交差点ノード64の一つ手前のノード64を分割道路始点ノード65aにした後、ノード座標変換部34は、前述のステップ445〜ステップ449の処理を実行し、二段目の分割道路モデルの構造データを完成させる。
【0047】
以上のノード座標データ変換処理(S440)が終了すると、入出力処理部32が分割数の受付処理(S450)を実行する。
【0048】
この分割数の受付処理(S450)では、入出力処理部32が、まず、前述のステップ100で、道路の分割数を受け付けたか否かを入力データ編集部10に確認する(S451)。さらに、道路の分割数を受け付けた場合には、現時点で、道路分割前モデルに対する分割数が受け付けた分割数になっているか否かを確認する(S452)。そして、ステップ451で道路の分割数を受け付けていないと判断した場合、及び、ステップ452で道路分割前モデルに対する分割数が受け付けた分割数に至っていないと判断した場合には、さらにモデルを分割するために、図5のステップ431に戻る。
【0049】
ステップ452で道路分割前モデルに対する分割数が受け付けた分割数になっていると判断した場合、及び図5のステップ432で分割候補ノードを終点ノードとするリンクに行先リンクが存在しない、つまり分割候補ノードは所定の道路の終点のノードであると判断した場合には、入出力処理部32が分割後処理(S460)を実行する。
【0050】
この分割後処理(S460)では、入出力処理部32が、まず、以上のステップ420,430,440で設定した各ノードの座標データを道路構造データベース20に登録する(S461)。この座標データの登録の際、実際の道路上では分割ノードと分割道路始点ノードとは同じ地点であるが、表示装置9に表示されるモデル上では異なるノードであるので、図11に示すノードデータ210の分割ノード(nd10)の欄の後に、新たに分割道路始点ノード(nd10’)の欄を設け、この欄の座標値212,213のところに、ステップ445で求めたX座標値、ステップ448で求めたY座標値を設定する。さらに、分割道路始点ノード以降の各ノードの座標値212,213のところに、ステップ449で求めて座標値を設定する。
【0051】
次に、入出力処理部32が、ノードデータの変更に伴うリンクデータの変更を実行し、リンクデータの変更結果も道路構造データベース20に登録する(S462)。具体的には、ノードデータとして、新たに分割道路始点ノードのデータが加わったことにより、この分割道路始点ノードを始点ノード又は終点ノードとするリンクのデータを変える。例えば、分割ノードがnd10で分割道路始点ノードがnd10’の場合、nd10を始点ノードとするリンクlk18,lk19のうち、そのリンクの終点ノードのX座標値がnd10のX座標値よりも大きいlk19の始点ノードをnd10’に変更する。さらに、nd10を終点ノードとするリンクlk17,lk20のうち、そのリンクの始点ノードのX座標値がnd10のX座標値よりも大きいlk20の終点ノードをnd10’に変更する。
【0052】
以上の分割後処理(S460)の終了で、図4に示すモデル構造データの生成処理(S401)が終了する。
【0053】
モデル構造データの生成処理(S401)が終了すると、シミュレーション条件設定部36がシミュレーション条件設定処理(S407)を実行する。
【0054】
このシミュレーション条件設定処理(S407)では、シミュレーション条件設定部36が、まず、分割した各道路分割モデルのそれぞれが独立し、連続性がないものとして、各道路分割モデル毎に単独シミュレーションを行うか、分割した各道路モデルに連続性があるものとして連続シミュレーションを行うかに関して、入力データ編集部10を介して、ユーザに入力を促す(S470)。そして、単独シミュレーションを希望する旨を受け付けると、単独条件設定部38により、単独条件が設定され(S480)、連続シミュレーションを希望する旨を受け付けると、連続条件設定部37により、連続条件が設定される(S490)。
【0055】
単独条件設定処理(S480)では、図7のフローチャートに示すように、単独条件設定部38が、道路構造データベース20のノードデータを参照して、分割ノードと分割道路始点ノードとを取得する(S481)。次に、道路構造データベース20のリンクデータを参照して、分割ノードと分割道路始点ノードとのいずれかのノードを始点ノードか終点ノードにしているリンクを抽出する(S482)。次に、終点ノードを分割ノードか分割道路始点ノードにしているリンクの行先リンクを「0」に設定すると共に(S483)、始点ノードを分割ノードか分割道路始点ノードにしているリンクの発生フラグを「1」に設定する(S484)。
交差点の重複表示を希望しない旨を受け付けると、前述のステップ442に進む。
【0056】
具体的には、図14の場合、終点ノードを分割ノード(nd10)61にしているリンクlk17、及び終点ノードを分割道路始点ノード(nd10’)61aにしているリンクlk20に関して、図12に示す行先リンク224を「0」に設定する。さらに、始点ノードを分割ノード(nd10)61にしているリンクlk18、及び始点ノードを分割道路始点ノード(nd10’)61aにしているリンクlk19に関して、図12に示す発生フラグ225を「1(車両の発生地点)」に設定する。
【0057】
以上の処理により、実際の道路上では、分割ノード(nd10)61と分割道路始点ノード(nd10’)61aとが同一地点であるが、シミュレーション時には、ノード相互間の関係が無いものとして扱われ、シミュレーション時に、第一段目の道路分割モデルと第二段目の道路分割モデルとの連続性が絶たれる。
【0058】
このため、後述のシミュレーション結果表示(S900)では、図16に示すように、第一段目の道路分割モデル60bの終点である分割ノード61から、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aへ車両の移動は行われない。なお、第一段目の道路分割モデル60bと第二段目の道路分割モデル60cとのシミュレーション関係として、単独条件を設定した場合、同図に示すように、分割ノード61と道路分割始点ノード61aとが実際には同一地点であることを示すために、分割ノード61と道路分割始点ノード61aとを結ぶ矢印68を表示すると共に、モデル60b,60Cのシミュレーション関係が単独設定であることを理解しやすくするために、矢印68上に、例えば、×印69を表示するようにしてもよい。また、矢印68や×印69を表示しないようにしてもよい。
【0059】
連続条件設定処理(S490)では、図8のフローチャートに示すように、連続条件設定部37が、道路構造データベース20のノードデータを参照して、重複フラグ「1」が設定されているノードがあるか否か、つまり交差点の重複表示を行うか否かを判断し(S491)、重複フラグ「1」が設定されているノードがある場合には、これら全てを取得する(S492)。続いて、道路データベース20のリンクデータを参照して、重複フラグ「1」が設定されている全ノードのうちのいずれかのノードが始点ノードに設定され、全ノードのうちの他のいずれかのノードが終点ノードに設定されている全リンクを重複表示リンクとして取得する(S493)。次に、重複表示リンクに関しては、シミュレーション時に車両を重複表示する旨のコマンドを設定する(S494)。このコマンドは、例えば、図11に示すリンクデータ220の一部として、道路構造データベース20に登録する。ステップ491で交差点の重複表示を行わないと判断した場合や、ステップ494が実行されると、分割ノードと分割道路ノードとが連続していることを表示させるコマンドを設定する。このコマンドは、例えば、図10に示すノードデータ210の一部として、道路構造データベース20に登録する。以上で、連続条件設定処理(S490)が終了する。このように、連続条件設定処理(S490)では、交差点の重複表示を行わない場合には、分割ノードと分割道路ノードとが連続していることを表示させるコマンドを設定する(S494)以外、基本的、何も行わない。これは、分割前モデルの状態で既に、ノード間の連続性が確保されているからである。
【0060】
以上の連続条件設定処理(S490)により、後述のシミュレーション結果表示(S900)では、図17に示すように、第一段目の道路分割モデル60bの終点である分割ノード61と、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aとを結ぶ矢印69が表示される。また、第一段目の道路分割モデル60bの終点である分割ノード61から、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aへ車両の移動が行われる。
【0061】
なお、図16及び図17の例は、いずれの、道路分割モデルを二段表示する例であるが、図18に示すように、3段以上の道路分割モデルを表示する場合、全道路分割モデル60b,60c,60d,60e相互のシミュレーション関係として、全て、連続条件又は単独条件を設定してもよいが、一部を連続条件に設定し、他の一部を単独条件に設定できるようにしてもよい。同図の例では、第一段目の道路分割モデル60bと第二段目の道路分割モデル60cのシミュレーション関係、及び第三段目の道路分割モデル60dと第四段目の道路分割モデル60eのシミュレーション関係を、いずれも連続条件に設定し、第二段目の道路分割モデル60cと第三段目の道路分割モデル60dとのシミュレーション関係を単独条件に設定している。
【0062】
シミュレーション条件設定(S407)が終了すると、図4のフローチャートに示すように、道路分割モデル生成処理(S400)が終了し、続いて、道路分割モデルのプレビュー表示が行われる(S500)。
【0063】
このプレビュー表示(S500)について、図9のフローチャートに従って説明する。
【0064】
プレビュー表示制御部50は、図19に示すように、まず、表示画面の表示領域90のサイズ及びプレビュー画面95のサイズを取得する(S501)。なお、表示画面の表示領域90のサイズは、本実施形態の交通流シミュレーション装置を構成するコンピュータのOSのグラフィック処理部から取得し、プレビュー画面95のサイズは、プレビュー表示制御部50が管理しており、この管理下にある記憶領域から取得する。次に、表示画面の表示領域90のサイズとプレビュー画面95のサイズとの比率を求め(S502)、全ノードの座標値にこの比率を掛けて、全ノードのプレビュー表示用の座標値を求める(S503)。次に、全ノードのプレビュー表示コマンド、及び、隣接ノード間を結ぶ線分プレビュー表示コマンドを作成する(S504)。そして、以上のコマンドに従って、表示画面上にプレビュー画面を表示させる(S505)。
【0065】
プレビュー表示されると(S500)、入力データ編集部10は、図3のフローチャートに示すように、ユーザに対して、分割表示結果が好ましいか否かの入力を促し(S600)、分割表示結果が好ましくない旨を受け付けると、ステップ400の道路分割モデル生成処理に戻る。また、分割表示結果が好ましい旨を受け付けると、入力データ編集部700は、ユーザに対して、交通量等の交通流パラメータの入力を促し、これを受け付け、交通流パラメータデータベース25に格納する(S700)。なお、交通流パラメータの入力は、図2における入力装置8を用いてもよいが、通信網Nを介して入力してもよい。
【0066】
交通流パラメータがデータベース25に格納されると、又は格納された後にユーザからシミュレーション実行の指示を受け付けると、交通流シミュレーション部40は、道路構造データベース20及び交通流パラメータデータベース25から各種データを取得し、所定の道路上での車両の挙動を模擬する(S800)。そして、交通流シミュレーション部40は、このシミュレーション結果に基づく車両の挙動データ及び道路モデルのデータをシミュレーション結果表示制御部51に渡し、このシミュレーション結果表示制御部51に、図16〜図18に示すように、道路モデルを表示画面上に表示させると共に、この道路モデル上に、車両一台ずつをアニメーション表示させる(S900)。
【0067】
以上のように、本実施形態では、所定の道路を分割した道路モデルとして表示するので、従来技術のように、複数の表示装置を用いることによるコスト増加を抑えつつ、広範囲の道路を表示させることができる。また、複数の道路分割モデル相互間で、シミュレート時の連続性を確保する連続条件と、シミュレート時の独立性を確保する単独条件とのいずれかを設定できるので、各種態様でシミュレーションを行うことができる。
【0068】
なお、以上の実施形態は、自動車が走行する道路をモデル化するのであるが、本発明はこれに限定されるものではなく、他の車両、例えば、列車が走行する線路をモデル化する場合に本発明を適用してもよい。
【図面の簡単な説明】
【0069】
【図1】本発明に係る一実施形態における交通流シミュレーション装置の機能ブロック図である。
【図2】本発明に係る一実施形態における交通流シミュレーション装置のハード構成図である。
【図3】本発明に係る一実施形態における交通流シミュレーション装置の動作を示すフローチャートである。
【図4】図3における道路分割モデル生成処理(S400)の詳細を示すフローチャートである。
【図5】図4における道路分割モデルの構造データ生成処理(S401)の詳細を示すフローチャート(その1)である。
【図6】図4における道路分割モデルの構造データ生成処理(S401)の詳細を示すフローチャート(その2)である。
【図7】図4における単独条件設定処理(S480)の詳細を示すフローチャートである。
【図8】図4における連続条件設定処理(S490)の詳細を示すフローチャートである。
【図9】図3におけるプレビュー表示処理(S500)の詳細を示すフローチャートである。
【図10】本発明に係る一実施形態におけるノードデータの構造を示す説明図である。
【図11】本発明に係る一実施形態におけるリンクデータの構造を示す説明図である。
【図12】本発明に係る一実施形態における、ノード座標変換前の道路分割前モデルとモデル表示領域との位置関係を示す説明図である。
【図13】本発明に係る一実施形態における、ノード座標変換後の道路分割前モデルとモデル表示領域との位置関係を示す説明図である。
【図14】本発明に係る一実施形態における道路分割モデル(交差点の重複表示無し)の表示例を示す説明図である。
【図15】本発明に係る一実施形態における道路分割モデル(交差点の重複表示有り)の表示例を示す説明図である。
【図16】本発明に係る一実施形態における単独条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図17】本発明に係る一実施形態における連続条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図18】本発明に係る一実施形態における単独条件及び連続条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図19】本発明に係る一実施形態における道路分割モデルのプレビュー表示例を示す説明図である。
【符号の説明】
【0070】
1:コンピュータ、2:CPU、3:プログラムメモリ、4:ワークメモリ、5:ハードディスクドライブ、8:入力装置、9:表示装置、10:入力データ編集部、20:道路構造データベース、25:交通流パラメータデータベース、30:道路分割モデル生成部、31:道路分割モデルの構造データ生成部、32:入出力処理部、33:分割ノード抽出部、34:ノード座標変換部、35:交差点重複表示処理部、36:シミュレーション条件設定部、37:連続条件設定部、38:単独条件設定部、40:交通流シミュレーション部、50:プレビュー表示制御部、51:シミュレート結果表示制御部、60,60a:道路分割前モデル、60b,60c,60d,60e:道路分割モデル、61:分割ノード、61a:分割道路始点ノード、90:表示画面の表示領域、91:モデル表示領域、95:プレビュー画面
【技術分野】
【0001】
本発明は、所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラム、これを含む交通流シミュレーションプログラム、このプログラムを実行する交通流シミュレーション装置、並びに走行路モデルの表示方法に関する。
【背景技術】
【0002】
実際の道路上で起こる渋滞現象を計算機上で再現し、信号機や道路構造の変更により渋滞改善策を立案するために使用されるものとして、交通流シミュレータがある。この交通流シミュレータは、対象地域の道路線形、車線数、行先などの道路構造データ、及び交通量や信号変化タイミングなどの交通流パラメータを外部から受け付け、道路構造データを用いて道路モデルを作成して、この道路モデルをディスプレイに表示させると共に、車両1台毎の挙動をディスプレイ上にアニメーション表示させるほかに、渋滞長、通過時間などの結果を表示するものが一般的である。
【0003】
このような交通流シミュレータとしては、以下の特許文献1や非特許文献1に記載されているものがある。
【0004】
特許文献1に記載の交通流シミュレータは、道路モデルが表示されるディスプレイで紹介されているように、交通量などの入力を、道路モデルが表示されるディスプレイ上で容易に行うことができるものである。また、この交通流シミュレータでは、所定ルートの道路を直線上にモデル化し、これをディスプレイ上に表示することで、シミュレート結果を見やすくしている。
【0005】
また、非特許文献1に記載の交通流シミュレータは、比較的広範囲な道路のモデルを表示するために、複数のディスプレイを並べて配置し、複数のディスプレイの全体で道路モデルを表示させている。
【0006】
【特許文献1】特許第3462589号公報
【非特許文献1】情報処理学会研究報告(社団法人情報処理学会 2001年11月15日発行)P15〜P22
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の技術では、比較的広範囲な道路のモデル中で、シミュレーション結果を見たい箇所に関しては、その箇所がディスプレイ上に現れるように、道路モデルをスクロールする必要があり、広範囲のシミュレーション結果を一度に見ることができないという問題点がある。そこで、道路モデルを縮小してディスプレイ上に表示することが考えられるが、この方法では、道路モデル内の車1台毎の挙動を確認することが困難である。
【0008】
また、非特許文献1に記載の技術では、特許文献1に記載の技術での問題点を生じないものの、複数のディスプレイが必要でコストが嵩むという上に、車両の挙動を表示するにあたり、複数のディスプレイ相互間で同期をとる必要があるため、その制御も難しいという問題点がある。
【0009】
本発明は、このような従来技術の問題点に着目し、コストの増加を抑えつつ、広範囲の走行路を縮小することなく走行路モデルとして表示することができる走行路モデルデータの生成プログラム、これを含む交通流シミュレーションプログラム、及びこのプログラムを実行する交通流シミュレーション装置、並びに走行路モデルの表示方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
前記問題点を解決するための走行路モデルデータの生成プログラムに係る発明は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする。
【0011】
また、前記問題点を解決するための走行路モデルデータの生成プログラムに係る他の発明は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
前記所定の走行路が所定の大きさで直線状に前記表示領域でモデル表示させるよう、複数の前記ノードの位置データを変換する初期ノードデータ変換ステップと、
前記初期ノードデータ変換ステップで位置データが変換された複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする。
【0012】
ここで、以上の各生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになるノードを、前記分割ノードとして抽出してもよい。
【0013】
また、以上の各生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになる1以上のノードを分割候補ノードとして抽出し、抽出した前記1以上の分割候補ノードのうち、他の走行路との交差点にならないノードに関しては前記分割ノードとし、他の走行路との交差点になるノードに関しては前記分割ノードにせず、該ノードに対して、前記所定の走行路の始点側に隣接するノードを前記分割ノードとしてもよい。
【0014】
また、前記問題点を解決するための交通流シミュレーションプログラムは、
以上の生成プログラムのうちのいずれかの生成プログラムを含み、
交通量を含む交通流パラメータを受け付ける交通流パラメータ受付ステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データ、及び前記交通流パラメータ受付ステップで受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーションステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーションステップでのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示ステップと、
をコンピュータに実行させることを特徴とする。
【0015】
また、前記問題点を解決するための交通流シミュレーション装置は、
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データと、交通量を含む交通流パラメータとに基づいて、車両の挙動をシミュレートする交通流シミュレーション装置において、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出し、複数の該分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換する走行路モデル生成手段と、
前記交通流を受け付ける交通流パラメータ受付手段と、
前記走行路モデル生成手段で変換された各ノードの位置データ、及び前記交通流パラメータ受付手段で受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーション手段と、
前記走行路モデル生成手段で変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーション手段でのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示制御手段と、
を備えていることを特徴とする。
【0016】
また、前記問題点を解決するための走行路モデルの表示方法に係る発明は、
所定の走行路上での車両の挙動をシミュレートし、その結果を表示するときの走行路モデルの表示方法において、
前記所定の走行路における走行路条件が変化する複数地点の各ノードに関する少なくとも位置データを受け付けるデータ受付工程と、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出工程と、
複数の前記分割走行路モデルが、表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換工程と、
前記ノードデータ変換工程で変換された各ノードの位置データに基づいて、前記表示領域内に複数の分割走行路モデルを並列表示する表示工程と、
を含むことを特徴とする。
【発明の効果】
【0017】
本発明によれば、所定の走行路のモデルを分割した複数の分割走行路モデルが表示領域内に並列表示されるので、従来技術のように、複数の表示装置を用いることによるコスト増加を抑えつつ、広範囲の道路を表示させることができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明に係る一実施形態としての交通流シミュレーション装置について、図面を用いて説明する。
【0019】
本実施形態の交通流シミュレーション装置は、図2に示すように、コンピュータで、コンピュータ本体1と、キーボードやマウス等の入力装置8と、表示装置9とを備えている。コンピュータ本体1は、各種演算を実行するCPU2と、交通流シミュレーションプログラム等のプログラムが格納されているプログラムメモリ3と、ワークメモリ4と、ハードディスクドライブ5と、通信網Nと接続されるNインタフェース6と、入力装置8や表示装置9と接続されるI/Oインタフェース7とを有している。
【0020】
コンピュータ本体1の機能構成は、図1に示すように、各種データの入力を受け付けると共に各種データを編集する入力データ編集部10と、道路モデルを生成するための道路線形や車線数等の道路構造データが格納される道路構造データベース20と、交通量や信号変化タイミング等が格納される交通流パラメータ25と、所定の道路の道路分割モデルを生成する道路分割モデル生成部30と、道路内の車両の挙動のシミュレーションを行う交通量シミュレーション部40と、道路分割モデルを表示装置9にプレビュー表示させるプレビュー表示制御部50と、交通量シミュレーション部40がシミュレーションした結果を表示装置9に表示させるシミュレート結果表示制御部51と、を有している。
【0021】
道路分割モデル生成部30は、表示装置9上に道路分割モデルを表示するためのモデル構造データを生成するモデル構造データ生成部31と、道路分割モデルに対するシミュレーション条件を設定するシミュレーション条件設定部36と、を有している。モデル構造データ生成部31は、道路構造データベース20や入力データ編集部10からデータを受け取ると共に道路構造データベース20に道路モデルの構造データ等を格納する入出力処理部32と、道路中で道路構造条件が変化する各地点を示す各ノードのうちから道路を分割すべき地点のノードを抽出する分割ノード抽出部33と、表示装置9の表示領域内で道路モデルを適切に表示するためのノード座標変換部34とを有している。このノード座標変換部34は、交差点を重複表示するために座標変換処理を行う交差点重複表示処理部35が設けられている。また、シミュレーション条件設定部36は、所定の道路が分割された道路分割モデルの相互の連続性が無いものとしてシミュレーションするための条件を設定する単独条件設定部38と、複数の道路分割モデルの相互の連続性があるものとしてシミュレーションするための条件を設定する連続条件設定部37と、を有している。
【0022】
なお、入力データ編集部10は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3と、I/Oインタフェース7とを有して構成され、道路構造データベース20及び交通流パラメータデータベースは、ハードディスクドライブ5を有して構成され、プレビュー表示制御部50及びシミュレート結果表示制御部51は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3と、I/Oインタフェース7とを有して構成されている。また、道路分割モデル生成部30及び交通流シミュレーション部40は、CPU2と、この動作プログラムが記憶されているプログラムメモリ3とを有して構成されている。
【0023】
次に、図3〜図9に示すフローチャートに従って、本実施形態における交通流シミュレーション装置の動作について説明する。
【0024】
図3のフローチャートに示すように、まず、入力データ編集部10が、所定の道路中の複数ノードの座標データやノード相互関係等の道路構造データを受け付けて(S100)、これを編集し、図10に示すノードデータ220や図11に示すリンクデータ230を作成して、道路構造データベース20に登録する(S200)。
【0025】
ここで、ノードとは、道路中で、車線幅や車線数の変化がある地点や、他の道路との交差している地点等、道路構造条件の変化している地点のことである。また、リンクとは、隣り合うノード相互で定められる線分のことである。入力データ編集部10は、所定の道路の複数ノードの座標データを受け付けると、所定の道路が直線状に表示され、且つノード相互間距離が予め定められた縮尺又はユーザからの指定縮尺になるように、複数のノードの座標を定め(初期ノードデータ変換ステップ)、各ノードのデータを所望の道路の始点側のノードデータから順に、道路構造データベース20に格納すると共に、以上のノードデータから定められるリンクのリンクデータを所望の道路の始点側のリンクデータから順に、道路構造データベース20に格納する。
【0026】
ノードデータ210としては、図10に示すように、格納順に付けられるノード番号211と、ノードのX座標値212と、ノードのY座標値213と、当該ノードとリンクを形成するノードの数、つまり接続数214と、当該ノードとリンクを形成する隣接ノードの番号215と、所望の道路を分割した各道路分割モデルで交差点を重複表示するか否かを示す重複フラグ216とがある。重複フラグ216は、交差点を重複表示を行う場合に「1」が設定され、重複表示を行わない場合に「0」が設定される。この重複フラグ216は、初期状態では「0」である。リンクデータ220としては、図11に示すように、格納順に付けられるリンク番号221と、当該リンクの始点ノードの番号222と、当該リンクの終点ノードの番号223と、当該リンクの車両進行方向で当該リンクに接続するリンク(行先リンク)の番号224と、車両の発生地点であるか否かを示す発生フラグ225とがある。行先リンク224は、当該リンクの車両進行方向に当該リンクに接続するリンクがない場合には「0」が設定される。また、発生フラグ225は、車両の発生地点である場合には「1」が設定され、車両の発生地点でない場合には「0」が設定される。
【0027】
図12は、以上の図10に示すノードデータ210及び図11に示すリンクデータ220で表される道路分割前モデル60である。同図では、モデル表示領域91で、左上隅を原点(0,0)とし、原点から右方向を+X方向、原点から下方向を+Y方向とし、所定の道路は、入力データ編集部10による編集処理(S200)により、+X方向に直線状に伸びる道路分割前モデル60として表されている。また、この道路分割前モデル60には、所定の道路に交差する道路の一部もモデル化されて接続されている。なお、モデル表示領域91は、図1に示すように、表示装置9の表示画面中の表示領域90の一部であり、この表示画面中の表示領域90よりも狭いことは言うまでもない。
【0028】
ここで、図10に示すノードデータ210の接続数214について簡単に説明する。例えば、ノードnd3は、ノードデータ210では接続数が4で、図12から理解できるように、4差路の交差点である。同様に、接続数が3の場合は、3差路の交差点となる。このように、接続数が3以上の場合、そのノードは交差点であることを示している。
【0029】
次に、図11に示すリンクデータ220の行先リンク224及び発生フラグ225について簡単に説明する。リンクlk1は、その車両進行方向のリンクとして、リンクlk3が存在する。このため、このリンクlk1の行先リンク224は、リンクlk3となる。また、このリンクlk1に対して車両進行方向が逆のリンクlk2は、その車両進行方向にリンクが存在しない。このため、行先リンク224は、「0」となる。また、リンクlk3は、その終点ノードnk3が4差路の交差点であることから、このリンクlk3の行先リンクは、左折先のlk5と、右折先のlk8と、直進先のlk9となる。リンクlk1、リンクlk6、リンクlk7の各始点ノードnd1,nd4,nd5には、車両の進行方向の逆方向側にリンクが存在しない。このような始点ノードを有するリンクは、全て車両の発生地点であるとして、発生フラグが「1」となる。
【0030】
道路構造データの編集及び道路構造データベース20への登録が終了すると(S200)、入力データ編集部10は、ユーザに対して所望の道路のモデルを分割表示するか否かの入力を促し(S300)、分割表示希望を受け付けると、その旨が道路分割モデル生成部30に送られ、そこで道路分割モデルが生成される(S400)。また、分割表示を希望しない旨を受け付けると、道路分割前モデルを用いたシミュレーションを行うため、交通量等の交通流パラメータの受付が行われる(S700)。
【0031】
道路分割モデル生成部30は、図4のフローチャートに示すように、道路分割モデルの構造データの生成処理を行った後(S401)、この道路分割モデルに対するシミュレーション条件を設定する(S407)。
【0032】
モデル構造データの生成処理(S401)では、図5のフローチャートに示すように、モデル構造データ生成部31の入出力処理部32が、まず、入力データ編集部10から表示装置9でモデルを表示する領域データを取得する(S410)。そして、モデル構造データ生成部31のノード座標変換部34が、分割前処理(S420)として、表示領域の適正な位置に道路分割前モデルを表示するために各ノードの座標を変換する。
【0033】
この分割前処理(S420)では、ノード座標変換部34が、まず、全ノードのX座標値のうちの最小値、及び全ノードのY座標値のうちの最小値をそれぞれ取得し(S421)、最小X座標値Xmin、最小Y座標値Yminのそれぞれを0にする(S422)。つまり、(Xmin,Ymin)をモデル表示領域の原点(0,0)に移す。具体的には、図12に示すように、全ノードのX座標値のうちの最小値はノードnd1の50であり、全ノードのY座標値のうちの最小値はノードnd4の50であるから、これらの値で定まる座標値(50,50)をモデル表示領域91の原点(0,0)に変換する。続いて、(Xmin(=50),Ymin(=50))→(0,0)の変換における同変化量分だけ、全てのノードの座標値を変え、図13に示すように、分割前モデル60aを平行移動させる(S423)。以上で、分割前処理(S420)が終了する。
【0034】
次に、モデル構造データ生成部31の分割ノード抽出部33が、全ノードのうちから、道路分割前モデル中で分割に適切な地点のノードを抽出する(S430)。
【0035】
この分割ノード抽出処理(S430)では、まず、分割ノード抽出部33がモデル表示領域91内で最大X座標値のノードを分割候補ノードとして抽出する(S431)。具体的には、図13に示すように、モデル表示領域91内で、道路分割前モデル60aを構成する各ノードうちから、最大X座標値のノードであるノードnd10を分割候補ノード61として抽出する。次に、図11に示すリンクデータ220を参照して、この分割候補ノードを終点ノードとするリンクに行先リンク224が存在するか否かを判断する(S432)。仮に、この分割候補ノードを終点ノードとするリンクに行先リンクが存在しない(「0」)場合、この分割候補ノードは所定の道路の終点であることから、分割処理できないため、図6のステップ461に進む。一方、この分割候補ノードを終点ノードとするリンクに行先リンクが存在する場合、この分割候補ノードは、所定の道路の途中の地点であるから、この分割候補ノードが分割ノードとして適切か否かをさらに判断するために、ステップ433に進む。
【0036】
ステップ433では、この分割候補ノードは、交差点であるか否かを判断する。この判断は、図10に示すノードデータ210を参照し、この分割候補ノードの接続数214が3以上であるか否かで行われる。仮に、この分割候補ノードの接続数が3以上、つまり、この分割候補ノードが交差点である場合、この分割候補ノードで分割前モデルを分割すると、交差点内で道路が分断されてしまい、極めて不自然な形態になる。そこで、分割候補ノードが交差点である場合、図10に示すノードデータ210を参照して、この分割候補ノードの隣接ノード215のうちから、分割候補ノードのX座標値よりもX座標値の小さいノードを新たな分割候補ノードとして抽出し(S434)、再び、ステップ433の処理を実行する。ステップ433で分割候補ノードが交差点でないと判断したときには、この分割候補ノードを、道路分割前モデルを実際に分割する地点としての分割ノードとして(S435)、分割ノード抽出処理(S430)を終了する。
【0037】
分割ノード抽出処理(S430)が終了すると、ノード座標変換部34が、図4及び図6のフローチャートに示すノード座標データ変換処理(S440)を実行する。
【0038】
このノード座標変換処理(S440)では、まず、ノード座標変換部34の交差点重複表示処理部35が、図10に示すノードデータ210を参照して、この分割ノードの隣接ノード215のうちから、分割ノードのX座標値よりもX座標値の小さいノード、つまり分割ノードの一つ手前のノードを抽出し、このノードが交差点であるか否かを判断する(S441)。分割ノードの一つ手前のノードが交差点でない場合には、分割ノードデータをコピーし、コピーしたノードデータを分割道路始点ノードのデータとする(S442)。また、分割ノードの手前のノードが交差点である場合には、ステップ443に進む。なお、このステップ443、その後に実行されるステップ444については後述する。
【0039】
ノード座標変換部34は、次に、分割道路始点ノードのX座標値を0に設定した後(S445)、分割ノードより前のノードで最大のY座標値を取得すると共に(S446)、分割始点ノードより後のノードで最小のY座標値を取得し(S447)、これらのY座標値から分割道路始点ノードのY座標値を定める(S448)。そして、分割道路始点ノードに対して、これよりも後の全ノードの相対位置関係が変わらぬよう、これらの座標値を変換する(S449)。
【0040】
ここで、以上のステップ445〜ステップ449までの処理について、図14を用いて具体的に説明する。
【0041】
まず、ステップ445では、第二段目の分割道路モデル60cの始点が左端によるように、分割ノード(nd10)61のノードデータがコピーされた分割道路始点ノード(nd10’)61aのX座標値を0にする。ステップ446で、分割ノード61より前のノードで最大のY座標値(Ymax)を取得する。図14に示す場合、ノードnd5,9のY座標値を取得する。さらに、ステップ447で、分割道路始点ノード(nd10’)61aより後のノードで最小のY座標値(Ymin)を取得する。同図の場合、ノードnd12のY座標値を取得する。そして、この最小のY座標値(Ymin)と分割道路始点(nd10’)ノード61aのY座標値との差ΔYを求め、一段目の分割道路モデル60bの最下端のノード(nd5,9)62と、二段目の道路分割モデル60cの最上段のノード(nd12)63とのY座標差が10になるように、一段目の分割道路モデル60bの最下端のノード(nd5,9)62のY座標値(Ymax)にΔYを加えた値を、分割道路始点ノード(nd10’)61aのY座標値(=Ymax+ΔY)とする。最後に、ステップ449で、分割ノード(nd10)61のX,Y座標値と分割始点ノード(nd10’)61aのX,Y座標値との偏差分だけ、分割道路始点ノード(nd10’)61aよりも後のノードの座標値を変えて、二段目の分割道路モデル60cの構造データを完成させる。
【0042】
次に、ステップ441で、分割ノードの一つ手前のノードが交差点であると判断した場合の処理について説明する。
【0043】
この場合、ノード座標変換部34の交差点重複表示処理部35は、入力データ編集部10を介して、ユーザに対して交差点を重複表示するか否かの入力を促し、交差点の重複表示を希望しない旨を受け付けると、前述のステップ442に進む。また、交差点の重複表示を希望する旨を受け付けると、この交差点ノード及びその全隣接ノードに関する重複フラグ216を「1(重複表示する)」に設定し、これらのノードデータをコピーする。さらに、交差点ノードの一つ手前のノードを分割道路始点ノードに設定する(S444)。
【0044】
ここで、このステップ444の処理について、図15を用いて具体的に説明する。
【0045】
分割ノード61の真近に交差点64がある場合、この交差点64を一段目の分割道路モデル中に含めると共に、二段目の分割道路モデルにも含めると、一段目の道路分割モデルと二段目の道路分割モデルとの関係が理解しやすい場合がある。そこで、本実施形態では、交差点64を重複表示するか否かをユーザに訊ね、ユーザが重複表示を希望した場合には、交差点64を重複表示する。
【0046】
具体的には、交差点を重複表示する場合、交差点ノード64のみを重複表示しても、ユーザは、これが交差点であることを理解できない。このため、交差点重複表示処理部35は、図10に示すノードデータを参照して、交差点ノード64と、この交差点ノード64の隣接ノード215を含む部分、つまり、交差点ノード64を中心として、一つ手前のノード65、一つ後のノードである分割ノード61、一つ上のノード66、一つ下のノード67を含む部分を重複表示領域Wとし、この重複表示領域W内の全てのノードのノードデータをコピーする。そして、交差点ノード64の一つ手前のノード64を分割道路始点ノード65aにした後、ノード座標変換部34は、前述のステップ445〜ステップ449の処理を実行し、二段目の分割道路モデルの構造データを完成させる。
【0047】
以上のノード座標データ変換処理(S440)が終了すると、入出力処理部32が分割数の受付処理(S450)を実行する。
【0048】
この分割数の受付処理(S450)では、入出力処理部32が、まず、前述のステップ100で、道路の分割数を受け付けたか否かを入力データ編集部10に確認する(S451)。さらに、道路の分割数を受け付けた場合には、現時点で、道路分割前モデルに対する分割数が受け付けた分割数になっているか否かを確認する(S452)。そして、ステップ451で道路の分割数を受け付けていないと判断した場合、及び、ステップ452で道路分割前モデルに対する分割数が受け付けた分割数に至っていないと判断した場合には、さらにモデルを分割するために、図5のステップ431に戻る。
【0049】
ステップ452で道路分割前モデルに対する分割数が受け付けた分割数になっていると判断した場合、及び図5のステップ432で分割候補ノードを終点ノードとするリンクに行先リンクが存在しない、つまり分割候補ノードは所定の道路の終点のノードであると判断した場合には、入出力処理部32が分割後処理(S460)を実行する。
【0050】
この分割後処理(S460)では、入出力処理部32が、まず、以上のステップ420,430,440で設定した各ノードの座標データを道路構造データベース20に登録する(S461)。この座標データの登録の際、実際の道路上では分割ノードと分割道路始点ノードとは同じ地点であるが、表示装置9に表示されるモデル上では異なるノードであるので、図11に示すノードデータ210の分割ノード(nd10)の欄の後に、新たに分割道路始点ノード(nd10’)の欄を設け、この欄の座標値212,213のところに、ステップ445で求めたX座標値、ステップ448で求めたY座標値を設定する。さらに、分割道路始点ノード以降の各ノードの座標値212,213のところに、ステップ449で求めて座標値を設定する。
【0051】
次に、入出力処理部32が、ノードデータの変更に伴うリンクデータの変更を実行し、リンクデータの変更結果も道路構造データベース20に登録する(S462)。具体的には、ノードデータとして、新たに分割道路始点ノードのデータが加わったことにより、この分割道路始点ノードを始点ノード又は終点ノードとするリンクのデータを変える。例えば、分割ノードがnd10で分割道路始点ノードがnd10’の場合、nd10を始点ノードとするリンクlk18,lk19のうち、そのリンクの終点ノードのX座標値がnd10のX座標値よりも大きいlk19の始点ノードをnd10’に変更する。さらに、nd10を終点ノードとするリンクlk17,lk20のうち、そのリンクの始点ノードのX座標値がnd10のX座標値よりも大きいlk20の終点ノードをnd10’に変更する。
【0052】
以上の分割後処理(S460)の終了で、図4に示すモデル構造データの生成処理(S401)が終了する。
【0053】
モデル構造データの生成処理(S401)が終了すると、シミュレーション条件設定部36がシミュレーション条件設定処理(S407)を実行する。
【0054】
このシミュレーション条件設定処理(S407)では、シミュレーション条件設定部36が、まず、分割した各道路分割モデルのそれぞれが独立し、連続性がないものとして、各道路分割モデル毎に単独シミュレーションを行うか、分割した各道路モデルに連続性があるものとして連続シミュレーションを行うかに関して、入力データ編集部10を介して、ユーザに入力を促す(S470)。そして、単独シミュレーションを希望する旨を受け付けると、単独条件設定部38により、単独条件が設定され(S480)、連続シミュレーションを希望する旨を受け付けると、連続条件設定部37により、連続条件が設定される(S490)。
【0055】
単独条件設定処理(S480)では、図7のフローチャートに示すように、単独条件設定部38が、道路構造データベース20のノードデータを参照して、分割ノードと分割道路始点ノードとを取得する(S481)。次に、道路構造データベース20のリンクデータを参照して、分割ノードと分割道路始点ノードとのいずれかのノードを始点ノードか終点ノードにしているリンクを抽出する(S482)。次に、終点ノードを分割ノードか分割道路始点ノードにしているリンクの行先リンクを「0」に設定すると共に(S483)、始点ノードを分割ノードか分割道路始点ノードにしているリンクの発生フラグを「1」に設定する(S484)。
交差点の重複表示を希望しない旨を受け付けると、前述のステップ442に進む。
【0056】
具体的には、図14の場合、終点ノードを分割ノード(nd10)61にしているリンクlk17、及び終点ノードを分割道路始点ノード(nd10’)61aにしているリンクlk20に関して、図12に示す行先リンク224を「0」に設定する。さらに、始点ノードを分割ノード(nd10)61にしているリンクlk18、及び始点ノードを分割道路始点ノード(nd10’)61aにしているリンクlk19に関して、図12に示す発生フラグ225を「1(車両の発生地点)」に設定する。
【0057】
以上の処理により、実際の道路上では、分割ノード(nd10)61と分割道路始点ノード(nd10’)61aとが同一地点であるが、シミュレーション時には、ノード相互間の関係が無いものとして扱われ、シミュレーション時に、第一段目の道路分割モデルと第二段目の道路分割モデルとの連続性が絶たれる。
【0058】
このため、後述のシミュレーション結果表示(S900)では、図16に示すように、第一段目の道路分割モデル60bの終点である分割ノード61から、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aへ車両の移動は行われない。なお、第一段目の道路分割モデル60bと第二段目の道路分割モデル60cとのシミュレーション関係として、単独条件を設定した場合、同図に示すように、分割ノード61と道路分割始点ノード61aとが実際には同一地点であることを示すために、分割ノード61と道路分割始点ノード61aとを結ぶ矢印68を表示すると共に、モデル60b,60Cのシミュレーション関係が単独設定であることを理解しやすくするために、矢印68上に、例えば、×印69を表示するようにしてもよい。また、矢印68や×印69を表示しないようにしてもよい。
【0059】
連続条件設定処理(S490)では、図8のフローチャートに示すように、連続条件設定部37が、道路構造データベース20のノードデータを参照して、重複フラグ「1」が設定されているノードがあるか否か、つまり交差点の重複表示を行うか否かを判断し(S491)、重複フラグ「1」が設定されているノードがある場合には、これら全てを取得する(S492)。続いて、道路データベース20のリンクデータを参照して、重複フラグ「1」が設定されている全ノードのうちのいずれかのノードが始点ノードに設定され、全ノードのうちの他のいずれかのノードが終点ノードに設定されている全リンクを重複表示リンクとして取得する(S493)。次に、重複表示リンクに関しては、シミュレーション時に車両を重複表示する旨のコマンドを設定する(S494)。このコマンドは、例えば、図11に示すリンクデータ220の一部として、道路構造データベース20に登録する。ステップ491で交差点の重複表示を行わないと判断した場合や、ステップ494が実行されると、分割ノードと分割道路ノードとが連続していることを表示させるコマンドを設定する。このコマンドは、例えば、図10に示すノードデータ210の一部として、道路構造データベース20に登録する。以上で、連続条件設定処理(S490)が終了する。このように、連続条件設定処理(S490)では、交差点の重複表示を行わない場合には、分割ノードと分割道路ノードとが連続していることを表示させるコマンドを設定する(S494)以外、基本的、何も行わない。これは、分割前モデルの状態で既に、ノード間の連続性が確保されているからである。
【0060】
以上の連続条件設定処理(S490)により、後述のシミュレーション結果表示(S900)では、図17に示すように、第一段目の道路分割モデル60bの終点である分割ノード61と、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aとを結ぶ矢印69が表示される。また、第一段目の道路分割モデル60bの終点である分割ノード61から、第二段目の道路分割モデル60cの始点である分割道路始点ノード61aへ車両の移動が行われる。
【0061】
なお、図16及び図17の例は、いずれの、道路分割モデルを二段表示する例であるが、図18に示すように、3段以上の道路分割モデルを表示する場合、全道路分割モデル60b,60c,60d,60e相互のシミュレーション関係として、全て、連続条件又は単独条件を設定してもよいが、一部を連続条件に設定し、他の一部を単独条件に設定できるようにしてもよい。同図の例では、第一段目の道路分割モデル60bと第二段目の道路分割モデル60cのシミュレーション関係、及び第三段目の道路分割モデル60dと第四段目の道路分割モデル60eのシミュレーション関係を、いずれも連続条件に設定し、第二段目の道路分割モデル60cと第三段目の道路分割モデル60dとのシミュレーション関係を単独条件に設定している。
【0062】
シミュレーション条件設定(S407)が終了すると、図4のフローチャートに示すように、道路分割モデル生成処理(S400)が終了し、続いて、道路分割モデルのプレビュー表示が行われる(S500)。
【0063】
このプレビュー表示(S500)について、図9のフローチャートに従って説明する。
【0064】
プレビュー表示制御部50は、図19に示すように、まず、表示画面の表示領域90のサイズ及びプレビュー画面95のサイズを取得する(S501)。なお、表示画面の表示領域90のサイズは、本実施形態の交通流シミュレーション装置を構成するコンピュータのOSのグラフィック処理部から取得し、プレビュー画面95のサイズは、プレビュー表示制御部50が管理しており、この管理下にある記憶領域から取得する。次に、表示画面の表示領域90のサイズとプレビュー画面95のサイズとの比率を求め(S502)、全ノードの座標値にこの比率を掛けて、全ノードのプレビュー表示用の座標値を求める(S503)。次に、全ノードのプレビュー表示コマンド、及び、隣接ノード間を結ぶ線分プレビュー表示コマンドを作成する(S504)。そして、以上のコマンドに従って、表示画面上にプレビュー画面を表示させる(S505)。
【0065】
プレビュー表示されると(S500)、入力データ編集部10は、図3のフローチャートに示すように、ユーザに対して、分割表示結果が好ましいか否かの入力を促し(S600)、分割表示結果が好ましくない旨を受け付けると、ステップ400の道路分割モデル生成処理に戻る。また、分割表示結果が好ましい旨を受け付けると、入力データ編集部700は、ユーザに対して、交通量等の交通流パラメータの入力を促し、これを受け付け、交通流パラメータデータベース25に格納する(S700)。なお、交通流パラメータの入力は、図2における入力装置8を用いてもよいが、通信網Nを介して入力してもよい。
【0066】
交通流パラメータがデータベース25に格納されると、又は格納された後にユーザからシミュレーション実行の指示を受け付けると、交通流シミュレーション部40は、道路構造データベース20及び交通流パラメータデータベース25から各種データを取得し、所定の道路上での車両の挙動を模擬する(S800)。そして、交通流シミュレーション部40は、このシミュレーション結果に基づく車両の挙動データ及び道路モデルのデータをシミュレーション結果表示制御部51に渡し、このシミュレーション結果表示制御部51に、図16〜図18に示すように、道路モデルを表示画面上に表示させると共に、この道路モデル上に、車両一台ずつをアニメーション表示させる(S900)。
【0067】
以上のように、本実施形態では、所定の道路を分割した道路モデルとして表示するので、従来技術のように、複数の表示装置を用いることによるコスト増加を抑えつつ、広範囲の道路を表示させることができる。また、複数の道路分割モデル相互間で、シミュレート時の連続性を確保する連続条件と、シミュレート時の独立性を確保する単独条件とのいずれかを設定できるので、各種態様でシミュレーションを行うことができる。
【0068】
なお、以上の実施形態は、自動車が走行する道路をモデル化するのであるが、本発明はこれに限定されるものではなく、他の車両、例えば、列車が走行する線路をモデル化する場合に本発明を適用してもよい。
【図面の簡単な説明】
【0069】
【図1】本発明に係る一実施形態における交通流シミュレーション装置の機能ブロック図である。
【図2】本発明に係る一実施形態における交通流シミュレーション装置のハード構成図である。
【図3】本発明に係る一実施形態における交通流シミュレーション装置の動作を示すフローチャートである。
【図4】図3における道路分割モデル生成処理(S400)の詳細を示すフローチャートである。
【図5】図4における道路分割モデルの構造データ生成処理(S401)の詳細を示すフローチャート(その1)である。
【図6】図4における道路分割モデルの構造データ生成処理(S401)の詳細を示すフローチャート(その2)である。
【図7】図4における単独条件設定処理(S480)の詳細を示すフローチャートである。
【図8】図4における連続条件設定処理(S490)の詳細を示すフローチャートである。
【図9】図3におけるプレビュー表示処理(S500)の詳細を示すフローチャートである。
【図10】本発明に係る一実施形態におけるノードデータの構造を示す説明図である。
【図11】本発明に係る一実施形態におけるリンクデータの構造を示す説明図である。
【図12】本発明に係る一実施形態における、ノード座標変換前の道路分割前モデルとモデル表示領域との位置関係を示す説明図である。
【図13】本発明に係る一実施形態における、ノード座標変換後の道路分割前モデルとモデル表示領域との位置関係を示す説明図である。
【図14】本発明に係る一実施形態における道路分割モデル(交差点の重複表示無し)の表示例を示す説明図である。
【図15】本発明に係る一実施形態における道路分割モデル(交差点の重複表示有り)の表示例を示す説明図である。
【図16】本発明に係る一実施形態における単独条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図17】本発明に係る一実施形態における連続条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図18】本発明に係る一実施形態における単独条件及び連続条件を設定した際のシミュレーション結果の表示例を示す説明図である。
【図19】本発明に係る一実施形態における道路分割モデルのプレビュー表示例を示す説明図である。
【符号の説明】
【0070】
1:コンピュータ、2:CPU、3:プログラムメモリ、4:ワークメモリ、5:ハードディスクドライブ、8:入力装置、9:表示装置、10:入力データ編集部、20:道路構造データベース、25:交通流パラメータデータベース、30:道路分割モデル生成部、31:道路分割モデルの構造データ生成部、32:入出力処理部、33:分割ノード抽出部、34:ノード座標変換部、35:交差点重複表示処理部、36:シミュレーション条件設定部、37:連続条件設定部、38:単独条件設定部、40:交通流シミュレーション部、50:プレビュー表示制御部、51:シミュレート結果表示制御部、60,60a:道路分割前モデル、60b,60c,60d,60e:道路分割モデル、61:分割ノード、61a:分割道路始点ノード、90:表示画面の表示領域、91:モデル表示領域、95:プレビュー画面
【特許請求の範囲】
【請求項1】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項2】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
前記所定の走行路が所定の大きさで直線状に前記表示領域でモデル表示させるよう、複数の前記ノードの位置データを変換する初期ノードデータ変換ステップと、
前記初期ノードデータ変換ステップで位置データが変換された複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項3】
請求項1及び2のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになるノードを、前記分割ノードとして抽出する、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項4】
請求項1及び2のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記分割ノード抽出ステップでは、
複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになる1以上のノードを分割候補ノードとして抽出し、
抽出した前記1以上の分割候補ノードのうち、他の走行路との交差点にならないノードに関しては前記分割ノードとし、他の走行路との交差点になるノードに関しては前記分割ノードにせず、該ノードに対して、前記所定の走行路の始点側に隣接するノードを前記分割ノードとする、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項5】
請求項1から4のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
複数の前記分割走行路モデルで、交差点を重複表示するか否かを受け付ける受付ステップを前記コンピュータに実行させ、
前記ノード変換ステップでは、前記分割ノードを基準にして、前記所定の走行路の始点側に交差点が存在する場合、該分割ノードを基準にして該始点側の分割走行路モデルと、前記所定の走行路の終点側の分割走行路モデルの両方に、該交差点を有するよう、前記所定の走行路のモデルの各ノードの位置データを変換する、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項6】
請求項1から5のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
車両を前記所定の走行路上で走行させた場合の挙動を模擬するシミュレートを実行する際に、複数の前記分割走行路モデル相互間でシミュレートの連続性を確保するか、複数の前記分割走行路モデル相互間でのシミュレートの独立性を確保するかを受け付けるシミュレート条件受付ステップと、
前記シミュレーション条件受付ステップで、複数の前記分割走行路モデル相互間でシミュレートの連続性を確保する旨を受け付けると、複数の該分割走行路モデル相互が連続しているとする連続条件を設定し、複数の前記分割走行路モデル相互間でシミュレートの独立性を確保する旨を受け付けると、複数の該分割走行路モデル相互が連続していないとする単独条件を設定するシミュレート条件設定ステップと、
を前記コンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項7】
請求項1から6のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記ノードデータ変換ステップで、変換された各ノードの位置データに基づいて、複数の分割走行路モデルをプレビュー表示させるプレビュー表示ステップを、
前記コンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項8】
請求項1から7のいずれか一項に記載の走行路モデルデータの生成プログラムを含み、
交通量を含む交通流パラメータを受け付ける交通流パラメータ受付ステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データ、及び前記交通流パラメータ受付ステップで受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーションステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーションステップでのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示ステップと、
を前記コンピュータに実行させることを特徴とする交通流シミュレーションプログラム。
【請求項9】
所定の走行路上での車両の挙動をシミュレートし、その結果を表示するときの走行路モデルの表示方法において、
前記所定の走行路における走行路条件が変化する複数地点の各ノードに関する少なくとも位置データを受け付けるデータ受付工程と、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出工程と、
複数の前記分割走行路モデルが、表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換工程と、
前記ノードデータ変換工程で変換された各ノードの位置データに基づいて、前記表示領域内に複数の分割走行路モデルを並列表示する表示工程と、
を含むことを特徴とする走行路モデルの表示方法。
【請求項10】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データと、交通量を含む交通流パラメータとに基づいて、車両の挙動をシミュレートする交通流シミュレーション装置において、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出し、複数の該分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換する走行路モデル生成手段と、
前記交通流を受け付ける交通流パラメータ受付手段と、
前記走行路モデル生成手段で変換された各ノードの位置データ、及び前記交通流パラメータ受付手段で受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーション手段と、
前記走行路モデル生成手段で変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーション手段でのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示制御手段と、
を備えていることを特徴とする交通流シミュレート装置。
【請求項1】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項2】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データに基づいて、表示領域に表示させる該所定の走行路のモデルデータを生成する走行路モデルデータの生成プログラムにおいて、
前記所定の走行路が所定の大きさで直線状に前記表示領域でモデル表示させるよう、複数の前記ノードの位置データを変換する初期ノードデータ変換ステップと、
前記初期ノードデータ変換ステップで位置データが変換された複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出ステップと、
複数の前記分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換ステップと、
をコンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項3】
請求項1及び2のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記分割ノード抽出ステップでは、複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになるノードを、前記分割ノードとして抽出する、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項4】
請求項1及び2のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記分割ノード抽出ステップでは、
複数の前記ノードのうちから、複数の前記分割走行路モデルのそれぞれの長さが前記表示領域内に表示される最大長さになる1以上のノードを分割候補ノードとして抽出し、
抽出した前記1以上の分割候補ノードのうち、他の走行路との交差点にならないノードに関しては前記分割ノードとし、他の走行路との交差点になるノードに関しては前記分割ノードにせず、該ノードに対して、前記所定の走行路の始点側に隣接するノードを前記分割ノードとする、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項5】
請求項1から4のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
複数の前記分割走行路モデルで、交差点を重複表示するか否かを受け付ける受付ステップを前記コンピュータに実行させ、
前記ノード変換ステップでは、前記分割ノードを基準にして、前記所定の走行路の始点側に交差点が存在する場合、該分割ノードを基準にして該始点側の分割走行路モデルと、前記所定の走行路の終点側の分割走行路モデルの両方に、該交差点を有するよう、前記所定の走行路のモデルの各ノードの位置データを変換する、
ことを特徴とする走行路モデルデータの生成プログラム。
【請求項6】
請求項1から5のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
車両を前記所定の走行路上で走行させた場合の挙動を模擬するシミュレートを実行する際に、複数の前記分割走行路モデル相互間でシミュレートの連続性を確保するか、複数の前記分割走行路モデル相互間でのシミュレートの独立性を確保するかを受け付けるシミュレート条件受付ステップと、
前記シミュレーション条件受付ステップで、複数の前記分割走行路モデル相互間でシミュレートの連続性を確保する旨を受け付けると、複数の該分割走行路モデル相互が連続しているとする連続条件を設定し、複数の前記分割走行路モデル相互間でシミュレートの独立性を確保する旨を受け付けると、複数の該分割走行路モデル相互が連続していないとする単独条件を設定するシミュレート条件設定ステップと、
を前記コンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項7】
請求項1から6のいずれか一項に記載の走行路モデルデータの生成プログラムにおいて、
前記ノードデータ変換ステップで、変換された各ノードの位置データに基づいて、複数の分割走行路モデルをプレビュー表示させるプレビュー表示ステップを、
前記コンピュータに実行させることを特徴とする走行路モデルデータの生成プログラム。
【請求項8】
請求項1から7のいずれか一項に記載の走行路モデルデータの生成プログラムを含み、
交通量を含む交通流パラメータを受け付ける交通流パラメータ受付ステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データ、及び前記交通流パラメータ受付ステップで受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーションステップと、
前記ノードデータ変換ステップで変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーションステップでのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示ステップと、
を前記コンピュータに実行させることを特徴とする交通流シミュレーションプログラム。
【請求項9】
所定の走行路上での車両の挙動をシミュレートし、その結果を表示するときの走行路モデルの表示方法において、
前記所定の走行路における走行路条件が変化する複数地点の各ノードに関する少なくとも位置データを受け付けるデータ受付工程と、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出する分割ノード抽出工程と、
複数の前記分割走行路モデルが、表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換するノードデータ変換工程と、
前記ノードデータ変換工程で変換された各ノードの位置データに基づいて、前記表示領域内に複数の分割走行路モデルを並列表示する表示工程と、
を含むことを特徴とする走行路モデルの表示方法。
【請求項10】
所定の走行路における走行路条件が変化する複数地点の各ノードの位置データと、交通量を含む交通流パラメータとに基づいて、車両の挙動をシミュレートする交通流シミュレーション装置において、
複数の前記ノードのうちから、前記所定の走行路のモデルを複数の分割走行路モデルに分割する地点となる1以上のノードを分割ノードとして抽出し、複数の該分割走行路モデルが、前記表示領域内に並列表示されるよう、前記所定の走行路のモデルの各ノードの位置データを変換する走行路モデル生成手段と、
前記交通流を受け付ける交通流パラメータ受付手段と、
前記走行路モデル生成手段で変換された各ノードの位置データ、及び前記交通流パラメータ受付手段で受け付けた前記交通流パラメータとを用いて、前記所定の走行路における車両の挙動をシミュレートする交通流シミュレーション手段と、
前記走行路モデル生成手段で変換された各ノードの位置データに基づいて、複数の前記分割走行路モデルを表示させると共に、前記交通流シミュレーション手段でのシミュレート結果に基づいて、複数の該分割走行路モデル上で車両の挙動をアニメーション表示させるシミュレート結果表示制御手段と、
を備えていることを特徴とする交通流シミュレート装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2007−34349(P2007−34349A)
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願番号】特願2005−212061(P2005−212061)
【出願日】平成17年7月22日(2005.7.22)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(390023928)日立エンジニアリング株式会社 (134)
【Fターム(参考)】
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願日】平成17年7月22日(2005.7.22)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(390023928)日立エンジニアリング株式会社 (134)
【Fターム(参考)】
[ Back to top ]