(57)【要約】【課題】自動車、自転車および歩行者の相互間の干渉挙動をシミュレーションし、現実に近い高精度のシミュレーション結果を得る。【解決手段】データ生成部１０１は、シミュレーションの対象通路のレーンについて、そのレーンを通行中の自動車、自転車および歩行者の識別データと位置データとを含んだレーンデータ１３３を生成する。シミュレーション実行部１０４は、自動車干渉処理部１２１、自転車干渉処理部１２２、歩行者干渉処理部１２３により、自動車、自転車または歩行者のそれぞれが所定の１刻み時間に移動する移動先の位置を計算し、レーンデータ１３３を参照し、同じレーンまたは隣接レーンにおけるその移動先までの間に障害物となる他の自動車、自転車または歩行者が存在するか否かを判定し、その判定結果に基づき、当該自動車、自転車または歩行者のレーンデータ１３３における位置データを変更する。【選択図】図１
2008129874.tif 000002
【特許請求の範囲】
【請求項１】
移動体が通行する複数の通路の位置および接続関係を表した地図データを記憶する記憶部を有し、その地図データによって表される通路を対象として、複数種別の複数の移動体が移動する位置の時系列変化をコンピュータによりシミュレーションする交通流シミュレーション装置であって、
前記シミュレーションの対象の通路を、通行可能な種別の移動体が割り当てられた１以上のレーンによって構成し、そのそれぞれのレーンについて、そのレーンを通行中の移動体の識別データとそのレーン内におけるその移動体の位置データとを少なくとも含んだレーンデータを生成するレーンデータ生成部と、
前記シミュレーションの対象の通路に対し、所定の種別の所定の量の移動体を発生させ、その発生させた移動体のそれぞれについて、その移動体の識別データとその移動体が発生させられた通路の識別データとを少なくとも含んだ移動体個別データを生成する移動体個別データ生成部と、
前記移動体個別データが生成された移動体それぞれについて、その移動体が位置する通路についてのレーンデータを参照して、その移動体が所定のシミュレーションの１刻み時間にその通路を移動する移動先の位置を計算し、その移動体が移動中のレーンおよびその隣接レーンにおいて、その移動体がそのとき位置する位置の前方から前記計算した移動先の位置までの間に、所定の規則に基づく当該移動体に対する障害物が存在するか否かを判定し、その判定結果に基づき、前記レーンデータにおける当該移動体の位置データを変更する処理を、前記シミュレーションの１刻み時間ごとに繰り返して実行するシミュレーション実行部と、
を有すること
を特徴とする交通流シミュレーション装置。
【請求項２】
前記レーンデータ生成部は、
前記移動体の種別が自動車、自転車および歩行者を含み、前記レーンが、前記自動車および前記自転車の通行が可能な自動車道、前記自転車の通行が可能な自転車道、および、前記歩行者および前記自転車の通行が可能な歩道のいずれかによって構成されるものであるとして、前記レーンデータを生成すること
を特徴とする請求項１に記載の交通流シミュレーション装置。
【請求項３】
シミュレーション実行部は、
歩行者の移動にとって他の歩行者は障害物となり、自転車の移動にとって歩行者および他の自転車は障害物となり、自動車の移動にとって歩行者、自転車および他の自動車は障害物となるという規則に従って、当該移動体に対する障害物が存在するか否かの判定を行うこと
を特徴とする請求項２に記載の交通流シミュレーション装置。
【請求項４】
移動体が通行する複数の通路の位置および接続関係を表した地図データを記憶する記憶部を有し、その地図データによって表される通路を対象として、複数種別の複数の移動体が移動する位置の時系列変化をコンピュータによりシミュレーションする交通流シミュレーション方法であって、
前記コンピュータは、
前記シミュレーションの対象の通路を、通行可能な種別の移動体が割り当てられた１以上のレーンによって構成し、そのそれぞれのレーンについて、そのレーンを通行中の移動体の識別データとそのレーン内におけるその移動体の位置データとを少なくとも含んだレーンデータを生成し、
前記シミュレーションの対象の通路に対し、所定の種別の所定の量の移動体を発生させ、その発生させた移動体のそれぞれについて、その移動体の識別データとその移動体が発生させられた通路の識別データとを少なくとも含んだ移動体個別データを生成し、
前記移動体個別データが生成された移動体それぞれについて、その移動体が位置する通路についてのレーンデータを参照して、その移動体が所定のシミュレーションの１刻み時間にその通路を移動する移動先の位置を計算し、その移動体が移動中のレーンおよびその隣接レーンにおいて、その移動体がそのとき位置する位置の前方から前記計算した移動先の位置までの間に、所定の規則に基づく当該移動体に対する障害物が存在するか否かを判定し、その判定結果に基づき、前記レーンデータにおける当該移動体の位置データを変更する処理を、前記シミュレーションの１刻み時間ごとに繰り返して実行すること
を特徴とする交通流シミュレーション方法。
【請求項５】
前記コンピュータは、
前記レーンデータを生成する処理においては、前記移動体の種別が自動車、自転車および歩行者を含み、前記レーンが、前記自動車および前記自転車の通行が可能な自動車道、前記自転車の通行が可能な自転車道、および、前記歩行者および前記自転車の通行が可能な歩道のいずれかによって構成されるものであるとして、前記レーンデータを生成すること
を特徴とする請求項４に記載の交通流シミュレーション方法。
【請求項６】
前記コンピュータは、
前記移動体の位置データを変更する処理においては、歩行者の移動にとって他の歩行者は障害物となり、自転車の移動にとって歩行者および他の自転車は障害物となり、自動車の移動にとって歩行者、自転車および他の自動車は障害物となるという規則に従って、当該移動体に対する障害物があるか否かの判定を行うこと
を特徴とする請求項５に記載の交通流シミュレーション方法。
【請求項７】
移動体が通行する複数の通路の位置および接続関係を表した地図データによって表される通路を対象として、複数種別の複数の移動体が移動する位置の時系列変化をコンピュータにシミュレーションさせるための交通流シミュレーションプログラムであって、
前記コンピュータに、
前記シミュレーションの対象の通路が、通行可能な種別の移動体が割り当てられた１以上のレーンによって構成し、そのそれぞれのレーンについて、そのレーンを通行中の移動体の識別データとそのレーン内におけるその移動体の位置データとを少なくとも含んだレーンデータを生成する処理と、
前記シミュレーションの対象の通路に対し、所定の種別の所定の量の移動体を発生させ、その発生させた移動体のそれぞれについて、その移動体の識別データとその移動体が発生させられた通路の識別データとを少なくとも含んだ移動体個別データを生成する処理と、
前記移動体個別データが生成された移動体それぞれについて、その移動体が位置する通路についてのレーンデータを参照して、その移動体が所定のシミュレーションの１刻み時間にその通路を移動する移動先の位置を計算し、その移動体が移動中のレーンおよびその隣接レーンにおいて、その移動体がそのとき位置する位置の前方から前記計算した移動先の位置までの間に、所定の規則に基づく当該移動体に対する障害物が存在するか否かを判定し、その判定結果に基づき、前記レーンデータにおける当該移動体の位置データを変更する処理を、前記シミュレーションの１刻み時間ごとに繰り返して実行する処理と、
を実行させるための交通流シミュレーションプログラム。
【請求項８】
前記コンピュータに、
前記移動体の種別が自動車、自転車および歩行者を含み、前記レーンが、前記自動車および前記自転車の通行が可能な自動車道、前記自転車の通行が可能な自転車道、および、前記歩行者および前記自転車の通行が可能な歩道のいずれかによって構成されるものであるとして、前記レーンデータを生成する処理
を実行させるための請求項７に記載の交通流シミュレーションプログラム。
【請求項９】
前記コンピュータに、
歩行者の移動にとって他の歩行者は障害物となり、自転車の移動にとって歩行者および他の自転車は障害物となり、自動車の移動にとって歩行者、自転車および他の自動車は障害物となるという規則に従って、当該移動体に対する障害物があるか否かの判定を行うようにして、前記移動体の位置データを変更する処理
を実行させるための請求項８に記載の交通流シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車のみならず自転車および歩行者の挙動を考慮した交通流をシミュレーションする交通流シミュレーション技術に関する。
【背景技術】
【０００２】
道路の交通流をシミュレーションするモデルには、ミクロモデルとマクロモデルとがある。ミクロモデルでは、自動車１台１台の挙動を考慮した上で、小規模の道路ネットワークを対象に交通流をシミュレーションする。一方、マクロモデルでは、交通流を単位時間当たりの自動車の通過台数、平均走行速度、渋滞長などのマクロなパラメータで捉えて、広域の道路ネットワークを対象に交通流をシミュレーションする。
【０００３】
ミクロモデルの交通流シミュレーション装置の例が特許文献１に開示されている。その交通流シミュレーション装置においては、自動車１台１台について、その自動車の発生から消滅までの過程を、所定の経路に従った走行の様子だけでなく、他の自動車の挙動に基づく干渉挙動（前方自動車への追従動作、レーン変更など）や、信号機の点灯状況に基づく挙動（赤停止、青進行、左折、右折など）などをシミュレーションすることができる。さらに、シミュレーション対象の道路ネットワーク上における自動車１台１台の走行の様子を、ディスプレイにアニメーション表示することができる。
【０００４】
このようなミクロモデルの交通流シミュレーションは、一般に、信号機の制御方法や大規模な駐車場から出車する自動車が交通流に及ぼす影響などを評価するために用いられている。また、自動車のドライバへ交通情報を提供することによる渋滞緩和の効果を評価するためなどにも用いられている。
【特許文献１】特開  平８−８３０４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている交通流シミュレーション装置は、自動車相互の干渉挙動についてはシミュレーションすることができても、自動車と自転車や自動車と歩行者などの干渉挙動についてはシミュレーションすることができなかった。
【０００６】
ところが、自転車は、実際には、時と場合に応じて、車道を走行したり歩道を走行したりする。また、自転車の走行速度は、自動車の走行速度に比べて非常に小さい。従って、自転車の挙動は、自動車の挙動に無視できない影響を与えることが多い。また、横断歩道を渡る歩行者の挙動は、右折または左折する自動車の挙動に影響を与える。
【０００７】
さらに、近年、地球環境を改善する活動が活発となってきており、これから将来にかけては、都心部などにおいても排気ガスを発生しない自転車の利用が優遇されたり、増加したりすることが予想される。
【０００８】
以上の状況に鑑みると、自動車と自転車や自動車と歩行者などの干渉挙動を考慮しない従来の交通流シミュレーション装置では、現実に近い充分な精度のシミュレーション結果を得ることが困難になると考えられる。
【０００９】
そこで、本発明の目的は、自動車、自転車および歩行者の相互間の干渉挙動をシミュレーションすることが可能で、かつ、より現実に近い高精度のシミュレーション結果を得ることが可能な交通流シミュレーション装置、交通流シミュレーション方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の交通流シミュレーション装置においては、通路（道路など）は、複数種別の移動体（自動車、自転車、歩行者など）が通行するものとし、さらに、その通路は、1以上（通常は、複数）のレーン（自動車道、自転車道、歩道など）によって構成され、それぞれのレーンには、そのレーンを通行可能な移動体の種別を定めることができるようにする。
【００１１】
すなわち、本発明の交通流シミュレーション装置は、シミュレーションを開始するに際して、シミュレーション対象のそれぞれの通路のレーンについて、そのレーンを通行中の移動体の識別データとそのレーン内におけるその移動体の位置データとを少なくとも含んだレーンデータを生成し、さらに、シミュレーションの対象の通路に対し、所定の種別の所定の量の移動体を発生させ、その発生させた移動体のそれぞれについて、その移動体の識別データとその移動体が発生させられた通路の識別データとを少なくとも含んだ個別移動体データを生成する。また、本発明の交通流シミュレーション装置は、シミュレーション実行時には、前記発生された移動体それぞれについて、その移動体が位置する通路についてのレーンデータを参照して、その移動体が所定のシミュレーションの１刻み時間にその通路を移動する移動先の位置を計算し、その移動体が移動中のレーンおよびその隣接レーンにおいて、その移動体がそのとき位置する位置の前方から前記計算した移動先の位置までの間に、所定の規則に基づく当該移動体に対する障害物が存在するか否かを判定し、その判定結果に基づき、前記レーンデータにおける当該移動体の位置データを変更する処理を、前記シミュレーションの１刻み時間ごとに繰り返して実行する。
【００１２】
従って、本発明においては、複数種別の移動体（自動車、自転車、歩行者など）が通路（道路など）を構成するレーン（自動車道、自転車道、歩道など）を所定の規則に従って通行し、所定の規則に従って障害物となるものを判定して、その移動を継続したり、移動を停止したり、または、移動するレーンを変更したりすることができる。つまり、本発明の交通流シミュレーション装置においては、移動体（自動車、自転車、歩行者など）の移動または停止の挙動は、所定の規則に従って障害物となる他の移動体（自動車、自転車、歩行者など）の挙動の干渉を受けた結果によって定められたものとなる。
【発明の効果】
【００１３】
本発明によれば、交通流シミュレーション装置において、移動体（自動車、自転車、歩行者など）の相互間の干渉挙動をシミュレーションすることが可能になり、その結果、より現実に近い高精度のシミュレーション結果を得ることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について詳しく説明する。
【００１５】
＜１．交通流シミュレーション装置の構成＞
まず、図１を参照して、本発明の実施形態に係る交通流シミュレーション装置の機能ブロックの構成について説明をする。ここで、図１は、交通流シミュレーション装置の機能ブロックの構成の例を示した図である。
【００１６】
図１に示すように、交通流シミュレーション装置１０は、ハードウエア機能ブロックとして、キーボード１７、マウス１８、入出力制御部１４、ディスプレイ１６、表示制御部１５などを含んで構成され、さらに、ソフトウエア機能ブロックとして、入力処理部１００、データ生成部１０１、シミュレーション実行部１０４、表示データ生成部１０５、デジタル道路地図データベース１０２（以下、ＤＲＭ−ＤＢ１０２と略記）、シミュレーションデータベース１０３などを含んで構成される。
【００１７】
ここで、ＤＲＭ−ＤＢ１０２は、財団法人日本デジタル地図協会から提供される全国デジタル道路地図データベースであり、全国の道路の位置情報、接続情報などが蓄積されている。
【００１８】
また、シミュレーションデータベース１０３は、データ生成部１０１によって生成され、シミュレーション実行部１０４によって使用される地図データ１３１、双方向リンクデータ１３２、レーンデータ１３３、景観データ１３４、交通量データ１４１、信号機現示データ１４２、歩行者データ１４３、自転車データ１４４、自動車データ１４５などのデータを格納する。なお、これらのデータの詳細な構成については後記する。
【００１９】
データ生成部１０１は、地図データ生成部１１１により、ＤＲＭ−ＤＢ１０２からシミュレーションの対象となる領域に含まれる道路のうち所定の種類の道路の位置および接続関係に関するデータを抽出し、地図データ１３１を生成する。なお、データ生成部１０１は、地図データ生成部１１１のほかに、双方向リンクデータ生成部１１２、レーンデータ生成部１１３、景観データ生成部１１４、交通流データ生成部１１５などのサブ機能ブロックを含んでいる。これらのサブ機能ブロックは、入力処理部を介してキーボードやマウスから入力されるデータに基づき、シミュレーションにおいて必要となる種々のデータを生成または修正する。
【００２０】
ちなみに、地図データ生成部１１１は、地図データ１３１を生成するだけでなく、生成された地図データ１３１に含まれる道路に対し、必要な道路や交差点を追加したり、不要な道路や交差点を削除したりする。また、双方向リンクデータ生成部１１２は、地図データ生成部１１１により修正された地図データ１３１に基づき双方向リンクデータ１３２を生成する。また、レーンデータ生成部１１３は、地図データ１３１および双方向リンクデータ１３２に基づき、各双方向リンクに対してレーン（車線）数や、自動車、自転車、歩行者の走行位置を管理するためのセルデータを付加したレーンデータ１３３を生成する。また、景観データ生成部１１４は、レーンデータ生成部１１３により生成されたレーンデータ１３３を利用して道路の表示を行い、表示された道路を目印にして入力された建物や地名などデータに基づき、景観データ１３４を生成する。また、交通流データ生成部１１５は、別途入力される発生交通量や信号機の点灯時間に基づき交通流データ（交通量データ１４１、信号機現示データ１４２など）を生成する。
【００２１】
次に、シミュレーション実行部１０４は、シミュレーションデータベース１０３に格納されている各データを用いて交通流シミュレーションを実行する。なお、本実施形態の場合、シミュレーション実行部１０４は、自動車干渉処理部１２１、自転車干渉処理部１２２、歩行者干渉処理部１２３のサブ機能ブロックを含んでおり、これらのサブ機能ブロックについては、別途詳しく説明する。
【００２２】
表示データ生成部１０５は、シミュレーションに必要な種々の入力データや修正データを受付けるための表示画面データを生成するとともに、地図データ１３１と景観データ１３４とに基づき生成した道路地図上にシミュレーションで得られた自動車、自転車、歩行者などの動きをアニメーション表示するための表示データを生成する。
【００２３】
入力処理部１００は、操作者がディスプレイ１６に表示された画面を見ながらキーボード１７やマウス１８を用いて入力する種々入力データや修正データを受付け、データ生成部１０１の所定のサブ機能ブロックへ受け渡す。
【００２４】
続いて、図２を参照して、交通流シミュレーション装置１０のハードウエア構成について説明をする。ここで、図２は、交通流シミュレーション装置１０のハードウエア構成の例を示した図である。
【００２５】
図２に示すように、交通流シミュレーション装置１０は、ハードウエアとしては、ＣＰＵ（Central Processing Unit）１１、主記憶部１２、補助記憶部１３、入出力制御部１４、表示制御部１５、キーボード１７、マウス１８などを備えた、いわゆる、コンピュータによって構成される。
【００２６】
ここで、主記憶部１２は、ＲＡＭ（Random Access Memory）などの半導体メモリによって、また、補助記憶部１３は、ハードディスク装置などによって構成される。そして、主記憶部１２には、図１に示したソフトウエアの機能ブロックの機能を実現するための実行プログラムと、その実行プログラムが実行されるに際して必要となる作業用データと、が格納される。また、補助記憶部１３には、ＤＲＭ−ＤＢ１０２およびシミュレーションデータベース１０３のデータが格納されるほか、前記実行プログラムへ展開する前のプログラムが格納される。
【００２７】
次に、入出力制御部１４は、キーボード１７、マウス１８などからの信号を受け、その信号をデジタル情報に変換した上で、ＣＰＵ１１、主記憶部１２および補助記憶部１３に転送する。また、表示制御部１５は、グラフィックプロセッサや画像メモリなどを含んで構成され、ＣＰＵ１１などから供給される表示データに基づき、ディスプレイ１６に映像を表示するための映像信号を生成する。また、ディスプレイ１６は、ＬＣＤ（Liquid Crystal Display）などによって構成される。
【００２８】
また、ＣＰＵ１１は、主記憶部１２に格納されている実行プログラムを実行する主体であり、主記憶部１２や補助記憶部１３に格納されているデータについての各種演算処理を行うとともに、入出力制御部１４や表示制御部１５との間のデータ転送などを制御する。なお、図１に示した各機能ブロックの機能は、ＣＰＵ１１が主記憶部１２に格納されている所定の実行プログラムを実行することにより実現される。従って、交通流シミュレーション装置１０においては、各機能ブロックの動作主体は、ＣＰＵ１１となる。（ただし、本明細書での各機能ブロックの動作の説明においては、慣用に従って、機能ブロックの動作の主語を、ＣＰＵ１１ではなく、その機能ブロックの名称で記載する。）
【００２９】
＜２．交通流シミュレーション装置における処理の流れ＞
図３は、交通流シミュレーション装置１０における交通流シミュレーションの処理の流れの例を示した図である。
【００３０】
まず、地図データ生成部１１１は、ＤＲＭ−ＤＢ１０２からシミュレーション対象の領域に含まれるデータを抽出し、道路の位置および道路相互の接続関係を示す地図データ１３１を生成し、必要に応じて、その地図データ１３１を変更する（ステップＳ１）。生成または変更された地図データ１３１は、シミュレーションデータベース１０３に格納される。
【００３１】
地図データ１３１を変更する場合には、地図データ生成部１１１は、シミュレーションデータベース１０３に格納されている地図データ１３１をディスプレイ１６の画面に表示した上で、キーボード１７やマウス１８などを介して入力される修正対象の道路についての修正情報（削除や追加など）に基づき、地図データ１３１を変更する。
【００３２】
なお、以下の各ステップについての説明では記載を省略しているが、各ステップにおいて生成または変更される各データは、シミュレーションデータベース１０３に格納されるものとする。
【００３３】
次に、双方向リンクデータ生成部１１２は、ステップＳ１で生成された地図データ１３１に基づき双方向リンクデータ１３２を生成する（ステップＳ２）。後記するように、地図データ１３１において、道路は基本リンクデータで表されるが、基本リンクデータには方向を表す情報が含まれていない。そこで、本実施形態では、一方通行でない１つの道路を、互いに反対の方向を有する２つのリンクに対応させ、この方向を有するリンクを、双方向リンクと呼ぶ。従って、ステップＳ２では、地図データ１３１の１つの基本リンクデータから、通常、２つの双方向リンクデータが生成される。ただし、一方通行の道路からは、１つの双方向リンクデータが生成される。
【００３４】
なお、双方向リンクデータ生成部１１２の詳細な構成については、別途、図５を参照して説明する。双方向リンクデータ１３２により、同じ道路であっても、例えば、上下線方向それぞれの道路に対して、シミュレーション上必要となる異なるデータを付与することができるようになる。
【００３５】
次に、レーンデータ生成部１１３は、ステップＳ２で生成された双方向リンクに対してレーン（車線）数や、自動車、自転車、歩行者の走行位置を管理するためのセルデータを付加したレーンデータ１３３を生成する（ステップＳ３）。なお、レーンデータ１３３の詳細な構成については、別途、図６を参照して説明する。
【００３６】
次に、景観データ生成部１１４は、ステップＳ３で生成されたレーンデータ１３３に基づき、ディスプレイ１６に道路形状の表示を行い、その表示された道路周辺に配置される建物の形状や地名などデータの入力を受け付け、その受け付けたデータに基づき、景観データ１３４を生成する（ステップＳ４）。
【００３７】
次に、交通流データ生成部１１５は、所定の入力用画面をディスプレイ１６に表示し、その入力用画面から入力されるデータを受け付け、その受け付けたデータに基づき、交通流データを生成または変更する（ステップＳ５）。ここで、交通流データは、双方向リンクそれぞれについての発生交通量などのデータからなる交通量データ１４１と、信号機の点灯時間などのデータからなる信号機現示データ１４２と、を含む。なお、交通量データ１４１および信号機現示データ１４２の詳細な構成については、別途、図８を参照して説明する。
【００３８】
また、交通流データ生成部１１５は、ステップＳ５に含まれる処理として、自動車データ１４５を生成または変更し（ステップＳ１０）、歩行者データ１４３を生成または変更し（ステップＳ１１）、自転車データ１４４を生成または変更する（ステップＳ１２）。なお、歩行者データ１４３、自転車データ１４４および自動車データ１４５の詳細な構成については、別途、図１０を参照して説明する。
【００３９】
次に、シミュレーション実行部１０４は、ステップＳ５までにシミュレーションデータベース１０３に格納されたデータを用いてシミュレーションを実行する（ステップＳ６）。このとき、シミュレーションは、シミュレーションする時間を、例えば、例えば、２時間などのように指定して実行される。シミュレーション結果のデータは、適宜、シミュレーションデータベース１０３に格納される。
【００４０】
次に、表示データ生成部１０５は、ディスプレイ１６の画面にシミュレーション結果を表示する（ステップＳ７）。例えば、表示データ生成部１０５は、地図データ１３１と景観データ１３４とに基づきシミュレーション対象領域の道路地図を生成し、その道路地図上に、シミュレーション対象領域内に位置するすべての自動車、自転車および歩行者の、例えば、１秒ごとの位置を重ね合わせて表示するための画像データを生成する。さらに、表示データ生成部１０５は、その自動車、自転車および歩行者の１秒ごとの位置を、所定時間間隔で、アニメーション表示するように表示制御部１５を制御する。
【００４１】
次に、シミュレーション実行部１０４は、シミュレーション実行中断時、または、シミュレーション実行終了時に、キーボード１７またはマウス１８などから交通流データを変更するか否か、または、地図データ１３１を変更するか否かについてのデータの入力を受け付ける。そして、その入力されたデータが交通流データの変更を指示するものであったときには（ステップＳ８でＹｅｓ）、ステップＳ５以下の処理が再度実行される。また、その入力されたデータが交通流データの変更を指示するものでなく（ステップＳ８でＮｏ）、地図データの変更を指示するものであったときには（ステップＳ９でＹｅｓ）、ステップＳ１以下の処理が再度実行される。また、その入力されたデータが交通流データの変更を指示するものでもなく（ステップＳ８でＮｏ）、地図データの変更を指示するものでもなかったときには（ステップＳ９でＮｏ）、シミュレーションを終了する。
【００４２】
＜３．データの構成＞
（３．１  ＤＲＭ−ＤＢ１０２、地図データ１３１）
図４は、ＤＲＭ−ＤＢ１０２における（ａ）基本リンクデータ、（ｂ）基本ノードデータ、および、（ｃ）道路種別コードの構成の例を示した図である。
【００４３】
ＤＲＭ−ＤＢ１０２においては、道路の配置位置および接続関係情報は、基本リンクデータ（図４（ａ））と、基本ノードデータ（図４（ｂ））と、によって記述される。ここで、基本リンクデータは、その基本リンクを識別するためのリンク番号と、その基本リンクの両端のノードを識別するための２つのノード番号と、その基本リンクに対応する道路の種別を示す道路種別コードと、によって構成される。また、基本ノードデータは、その基本ノードを識別するためのノード番号と、その基本ノードが位置する位置のｘ座標およびｙ座標と、によって構成される。
【００４４】
すなわち、道路ネットワークは、基本リンクと基本ノードとによって構成されているものとし、基本ノードは交差点、基本リンクは交差点間をつなぐ道路に相当するものとみなす。ただし、基本ノードは、必ずしも交差点に限定されることはなく、交差点でないところにノードが設定されても構わない。なお、本明細書では、前記したように、基本リンクを単方向リンク、または、単に、リンクともいう。
【００４５】
ＤＲＭ−ＤＢ１０２において、ある道路に対応するリンクの位置を知るためには、そのリンクのリンク番号を有する基本リンクデータを見つけ、その基本リンクデータからリンク両端の２つのノードのノード番号を取得する。そして、その２つのノードのノード番号それぞれについて、そのノード番号を有する基本ノードデータを見つけ、ｘ座標およびｙ座標を取得する。
【００４６】
ここで、ｘ座標およびｙ座標を表すための長さの単位は、実際の長さではなく、地図の縮尺で縮尺された長さである。例えば、縮尺が１／２５０００の地図の場合、ｘ座標およびｙ座標は、現実では１ｋｍの長さが４ｃｍとなるような長さの単位で表される。なお、本実施形態では、シミュレーションするときには、地図の縮尺で縮尺された長さでなく、現実の長さに戻して使用する。
【００４７】
基本リンクデータに含まれる道路種別コードは、それぞれの道路種別ごとに図４（ｃ）のように定められている。ここで、道路種別コードは、さらに、種別コードと属性コードとからなり、種別コードによってその道路の（管理上的な）種別を表し、属性コードによってその道路の実際の形態を表す。例えば、ある高速自動車国道は、「１」という種別コードを有し、その高速自動車国道には自転車道がなく、歩道がないので、「０」という属性コードを有する。
【００４８】
ＤＲＭ−ＤＢ１０２においては、基本リンクデータおよび基本ノードデータは、日本全体を１０ｋｍ四方のメッシュで区切った単位ごとにまとめられている。従って、特定の地域の基本リンクデータおよび基本ノードデータを選択するときには、メッシュごとに付されているメッシュを識別するためのインデックスにより、１つのメッシュを指定する。このインデックスは、英数字から構成されたものであり、メッシュとインデックスとの対応表は公表されている。
【００４９】
そこで、ユーザは、シミュレーション対象地域を指定するとき、その対応表によりシミュレーション対象地域のインデックスを探し、探したインデックスを交通流シミュレーション装置１０に入力する。また、複数のメッシュにまたがる地域をシミュレーションの対象地域とするときには、その対象地域を含む複数メッシュそれぞれのインデックスを指定する。
【００５０】
なお、基本リンクデータおよび基本ノードデータ中のリンク番号およびノード番号は、１つのメッシュ内のすべてのリンクおよびノードに対して、重複しないように付されているが、異なるメッシュ間のリンクおよびノードに対しては、同じ番号が付されることになる。そのため、本実施形態では、地図データ生成部１１１が地図データ１３１を生成するときに、当該シミュレーション対象地域においてリンク番号およびノード番号が重複しないように、番号の付け直しを行う。
【００５１】
また、ＤＲＭ−ＤＢ１０２は、基本リンクデータおよび基本ノードデータだけでなく、各々の基本リンクデータに対応する道路それぞれについて、レーン数、道路幅員、制限速度などその道路に付属する属性データや、その道路周辺の景観データ（背景データ）などを有している。そこで、地図データ生成部１１１は、ＤＲＭ−ＤＢ１０２から指定されたシミュレーション対象地域についての基本リンクデータおよび基本ノードデータだけでなく、それに付属する種々の属性データや景観データをも読み出し、そのデータをシミュレーションデータベース１０３の地図データ１３１に格納する。
【００５２】
（３．２  双方向リンクデータ１３２）
図５は、双方向リンクデータ１３２の構成の例を示した図である。図５に示すように、双方向リンクデータ１３２のレコードは、リンク番号、始点ノード、終点ノード、リンク長、（自動車の）制限速度、レーンデータへのポインタ、信号機現示データへのポインタ、交通量データへのポインタ、自転車道フラグ、歩道フラグ、自転車制限速度、歩行者制限速度などのフィールドを有する。
【００５３】
双方向リンクデータ１３２において、１つのレコードが１つの双方向リンクつまり１つの道路の片側車線方向の道路を表している。ちなみに、図５では、始点ノードと終点ノードとがそれぞれ入れ替わったレコードが２つずつ、合計６つのレコードが示されている。
【００５４】
図５において、各レコード、つまり、各双方向リンクにおけるレーン長は、地図データ１３１中の対応する基本ノードデータの始点ノードの座標と終点ノードの座標とに基づき計算する。また、自転車道フラグおよび歩道フラグは、基本リンクデータの道路種別コードの属性コードから求める。また、自動車、自転車および歩行者の制限速度については、地図データ１３１に含まれる当該基本リンクデータに付属する道路の属性データ（図示せず）から得られるものとし、必要に応じて、キーボードなどから入力されるデータにより設定または変更が可能であるとする。
【００５５】
また、レーンデータへのポインタについては、レーンデータ生成部１１３がレーンデータ１３３を生成したときに、ｍａｌｌｏｃ関数によりレーンデータ１３３の格納領域を定め、当該双方向リンクに対応するレーンデータ１３３の格納領域の先頭アドレスを、双方向リンクデータ１３２内のレーンデータへのポインタのフィールドに格納する。また、信号機現示データへのポインタおよび交通量データへのポインタについても、同様にして求めた信号機現示データ１４２および交通量データ１４１それぞれの格納領域の先頭アドレスを、双方向リンクデータ１３２内の信号機現示データへのポインタおよび交通量データへのポインタのフィールドに格納する。
【００５６】
双方向リンクデータ１３２は、地図データ１３１から生成されるが、地図データ１３１に追加があった場合は、追加された道路について、双方向リンクデータ１３２を新規作成する場合と同様に作成し、地図データ生成部１１１により確保されている格納領域に格納する。
【００５７】
なお、双方向リンクデータ１３２は、レーンデータ１３３を生成するときに使われる。また、レーンデータへのポインタ、信号機現示データへのポインタおよび交通量データへのポインタは、それぞれ、レーンデータ１３３、信号機現示データ１４２および交通量データ１４１を削除するとき、並びに、シミュレーション実行時、レーンデータ１３３、信号機現示データ１４２、交通量データ１４１を参照するときに使われる。
【００５８】
（３．３  レーンデータ１３３）
図６は、レーンデータ１３３の構成の例を示した図である。図６に示すように、レーンデータ１３３のレコードは、リンク番号、レーン数、自転車道フラグ、歩道フラグ、方向属性、自動車道幅員、自転車道幅員、歩道幅員、レーン番号、セル番号、自動車道存在フラグ、自転車道存在フラグ、歩道存在フラグなどを含んで構成される。
【００５９】
ここで、レーンデータ１３３のレコードは、双方向リンクデータ１３２のレコードに対応するように生成され、自転車道フラグおよび歩道フラグは、双方向リンクデータ１３２から求められる。また、レーン数、自動車道幅員、自転車道幅員および歩行道幅員は、地図データ１３１に格納されているデータを用いてもよく、適宜、キーボードなどから入力されるデータを用いてもよい。また、レーン番号は、レーン数が複数のとき、そのレーンを識別するための番号である。
【００６０】
方向属性は、レーンごとに設定され、交差点においてそのレーンがどの方向に走行可能かを示すデータである。従って、方向属性のフィールドには、右折専用のレーンには「右折」、左折専用のレーンには「左折」、直進と右折が可能なレーンには「直右」などといったデータがコード化されて格納される。
【００６１】
自動車道存在フラグ、自転車道存在フラグおよび歩道存在フラグは、シミュレーション実行部１０４により発生された自動車、自転車または歩行者が、自動車道、自転車または歩道のどの位置に存在するかを示す情報である。このとき、自動車道、自転車および歩道は、それぞれ、所定の長さ（例えば、０．７５ｍ）のセルに分割され、そのセルにはセル番号が付される。そして、そのセルのフィールドに、自動車、自転車または歩行者を識別する識別データを格納することにより、その識別データを有する自動車、自転車または歩行者が存在する位置を表す。
【００６２】
ちなみに、図６のレーンデータ１３３には、レーン番号が「１」のレーンの自動車道のセル番号１，２のセルの位置に、「Ｂ９」の識別データを有する自転車が存在し、レーン番号が「２」のレーンの自動車道のセル番号２〜５のセルの位置に、「Ｃ１０」の識別データを有する自動車が存在していることなどが表されている。なお、セル内の「無」は、そのセルに自動車、自転車または歩行者のいずれも存在していないことを表している。また、空白のセルは、そのレーンが存在しないことを表している。
【００６３】
従って、図６の例では、歩道存在フラグに対して２つのレーンが設定され、自転車存在フラグに対しては１つレーンが設定されたものとなっている。この場合、歩行者は歩道を２人並んで歩行可能なことを表しており、また、自転車は、自転車道を２台並んで走行することができないことを表している。なお、自転車道および歩道のレーン設定は、レーンデータ生成部１１３が自転車道幅員および歩道幅員それぞれの値に基づいて行う。
【００６４】
これらの自動車道存在フラグ、自転車道存在フラグおよび歩道存在フラグのフィールドにおける各セルのデータは、シミュレーション実行部１０４により生成される。従って、その各セルのデータは、シミュレーション実行部１０４におけるシミュレーションが進行するとともに、時々刻々変化する。
【００６５】
図７は、地図データ１３１、景観データ１３４およびレーンデータ１３３に基づき生成される道路地図、並びに、自動車、自転車および歩行者の存在位置を表示した表示画面の例を示した図である。図７に示すように、道路地図は、レーン数や自転車道および歩道（横断歩道を含む）の有無が分かるように表示され、さらに、その道路上に、シミュレーション実行部１０４により発生され、移動する自動車、自転車または歩行者の存在位置が重ね合わせて表示される。
【００６６】
図７には、さらに、景観データ生成部１１４により生成された道路周辺の建物や施設の形状やその名称などが表示される。これらの景観データは、基本リンクデータに付属するデータとして地図データ１３１に含まれるものであるが、必要に応じて、キーボード１７およびマウス１８などを介して入力されるデータに基づき、新たな景観データを生成したり、既存の景観データを修正したりしてもよい。
【００６７】
なお、図７の表示は、表示データ生成部１０５がレーンデータ１３３および景観データ１３４を用いて行う。従って、シミュレーション実行部１０４によりシミュレーションが行われ、レーンデータ１３３における自動車、自転車または歩行者の存在位置を表すセルのデータが変化するのに伴い、ディスプレイ１６の画面には、自動車、自転車または歩行者が移動する様子がアニメーションのように表示されることになる。
【００６８】
（３．４  交通流データ）
図８は、交通流データの構成の例を示した図で、（ａ）は交通量データ１４１、（ｂ）は信号機現示データ１４２である。なお、本実施形態では、交通量データ１４１と信号機現示データ１４２とを交通流データと総称する。
【００６９】
図８（ａ）に示すように、交通量データ１４１は、双方向リンクデータ１３２の各双方向リンクに対応するように生成され、その双方向リンクのリンク番号と、その双方向リンクで発生する自動車交通量、自転車交通量および歩行者交通量の各データによって構成される。さらに、自動車交通量、自転車交通量および歩行者交通量の各データは、発生交通量と、時間帯とその時間帯における交通量との組のデータと、交差点における右折率および左折率のデータと、によって構成される。
【００７０】
ここで、発生交通量は、当該双方向リンクにおける１日の発生交通量を表す。また、時間帯は、１日を複数の時間区間に区分したときの区分された各時間区間をいう。また、交通量データは、それぞれの時間帯に対応付けられたデータであり、その時間帯に単位時間当たりに当該双方向リンクで発生する自動車、自転車または歩行者の数である。このとき、時間帯は、例えば、７：００−８：００、８：００−９：００のように表され、また、交通量は、例えば、５００台／時間、６００人／時間などのように表される。
【００７１】
シミュレーション実行部１０４は、双方向リンクの始点では、交通量データ１４１によってその双方向リンクに設定された交通量、例えば、５００台／時間の自動車を、所定の分布の乱数（例えば、ポアソン分布）に従って確率的に発生させる。また、その発生した自動車が交差点まで来たときには、右折率、左折率および直進率に従って、自動車を確率的に右折、左折または直進させる。このとき、直進率＝１−（右折率＋左折率）である。なお、シミュレーション実行部１０４は、自転車および歩行者に対しても同様の処理を実行する。
【００７２】
続いて、図８（ｂ）に示すように、信号機現示データ１４２は、双方向リンクデータ１３２の各双方向リンクに対応するように生成され、その双方向リンクのリンク番号と、その双方向リンクの終点側に設けられた自動車、自転車および歩行者用信号機の赤、青および黄のランプ点灯時間によって構成される。なお、信号機のランプは、赤、青および黄に限定されず、例えば、右折用矢印ランプなどが含まれても構わない。
【００７３】
図９は、交通量データの入力表示画面の例を示した図である。景観データ生成部１１４が景観データ１３４を生成すると、交通流データ生成部１１５は、図９に示すように、シミュレーション対象地域の道路地図１００１をディスプレイ１６の画面に表示するとともに、その同じ画面に自動車、自転車および歩行者のＯＤ交通量入力ウィンドウ１００３，１００４，１００５を表示する。ここで、ＯＤ交通量とは、自動車、自転車または歩行者の出発リンクと目的地リンクを指定したときの交通量である。
【００７４】
ユーザは、ＯＤ交通量入力ウィンドウ１００３，１００４，１００５を用いてキーボード１７などから入力するデータによってＯＤ交通量を新たに設定することができる。例えば、ユーザは、自動車のＯＤ交通量を設定するとき、まず、時間帯入力欄１００６に時間帯のデータを設定する。そして、出発リンク列１００８から出発リンクとして、例えば、ＬＫ６を選択し、目的地リンク行１００７から目的地リンクＬＫ１を選択し、両者によって指定されるデータ入力欄１０１１を選択する。そして、ユーザは、その選択したデータ入力欄１０１１にＯＤ交通量のデータ、例えば、“１００”を入力する。
【００７５】
なお、図９では、同じ道路の上り車線のリンクと下り車線のリンク（例えば、ＬＫ１とＬＫ２）の間には、ＯＤ交通量の発生はないものとして、そのデータ入力欄１００９には、斜線が付されている。また、網掛け表示がされたデータ入力欄１０１２に対応する出発リンクまたは目的地リンクは、当該対象地域の道路地図１００１に存在しないことを表している。したがって、交通流データ生成部１１５は、これらのデータ入力欄１００９，１０１２からのデータの入力は受け付けない。
【００７６】
ユーザは、以上のようなＯＤ交通量の入力を、すべての時間帯について、かつ、発生するＯＤ交通量のすべての出発リンクと目的地リンクの組について行う。また、ユーザは、同様にして、自転車および歩行者のＯＤ交通量の入力を行う。そして、交通流データ生成部１１５は、以上のようにして入力された自動車、自転車および歩行者のＯＤ交通量に基づき、交通量データ１４１を生成する。
【００７７】
さらに、交通流データ生成部１１５は、表示した道路地図１００１において、ユーザがある交差点１０２０を選択すると、その選択された交差点１０２０についての信号機現示データ設定ウィンドウ１０２１を表示する。そして、交通流データ生成部１１５は、その信号機現示データ設定ウィンドウ１０２１に、横方向リンクおよび縦方向リンクそれぞれに対する赤、青および黄のランプ点灯時間の入力欄を表示する。そこで、ユーザがその各入力欄を、適宜、選択し、その欄にランプ点灯時間のデータを入力すると、交通流データ生成部１１５は、その入力されたデータに基づき、交差点１０２０を終点ノードとする双方向リンクの信号機現示データ１４２を生成する。
【００７８】
なお、交通流データ生成部１１５は、自動車、自転車および歩行者のＯＤ交通量入力ウィンドウ１００３，１００４，１００５を表示するとき、および、信号機現示データ設定ウィンドウ１０２１を表示するときには、交通量データ１４１または信号機現示データ１４２を参照して、すでに生成されたデータが存在するか否かを判定する。そして、交通流データ生成部１１５は、交通量データ１４１または信号機現示データ１４２にすでに生成したデータが存在したときには、ＯＤ交通量入力ウィンドウ１００３，１００４，１００５や信号機現示データ設定ウィンドウ１０２１の中にそのデータを表示する。そして、ユーザがそのデータのいずれかを選択し、新しいデータを入力したときには、その選択されたデータは入力されたデータによって更新される。
【００７９】
（３．５  歩行者データ１４３、自転車データ１４４および自動車データ１４５）
図１０は、歩行者データ、自転車データおよび自動車データの構成を示した図である。歩行者データ１４３は、シミュレーションにおいて歩行者を個別的に識別するための情報であり、図１０（ａ）に示すように、歩行者番号、位置リンク、位置座標、歩行者長、歩行者幅、経路の各データによって構成される。
【００８０】
ここで、歩行者番号は歩行者をシミュレーションでユニークに識別するための番号、位置リンクは歩行者が位置するリンクのリンク番号、位置座標は歩行者が位置する位置の座標値、歩行者長は歩行者が占有する歩道の長さ（前方または後方の最小の歩行者間隔を含む）、歩行者幅は歩行者が占有する歩道の幅、経路は歩行者の出発ノード（Ｏ）と目的地ノード（Ｄ）を表す。
【００８１】
同様に、シミュレーションにおいて、自転車データ１４４は、自転車を個別的に識別するための識別するための情報であり、自動車データ１４５は、自動車を個別的に識別するための識別するための情報である。図１０（ｂ）に示すように、自転車データ１４４は、自転車番号、位置リンク、位置座標、自転車長、自転車幅、経路の各データによって構成される。また、図１０（ｃ）に示すように、自動車データ１４５は、自動車番号、位置リンク、位置座標、自動車長、自動車幅、経路の各データによって構成される。
【００８２】
＜４．シミュレーション実行部１０４の動作＞
図１１は、シミュレーション実行中に表示される道路上の歩行者、自転車および自動車の移動の様子を拡大して示した図である。ここでは、ある道路（リンク）の一部を取り出して表示している。
【００８３】
シミュレーション実行部１０４は、図１１に示すように、道路（リンク）を長さ方向に、例えば、０．７５ｍで区分したセルに分割する。そして、例えば、１秒ごとに、歩行者、自転車、自動車などの移動要素をセル上に配置することによって、その移動要素の移動を表現する。このとき、自動車長が３ｍの自動車は４セルを占有し、自転車長が１．５ｍの自転車は２セルを占有し、歩行者長が０．７５ｍの歩行者は、１セルを占有する。
【００８４】
シミュレーション実行部１０４は、歩行者、自転車および自動車を、それぞれ歩行者データ１４３、自転車データ１４４および自動車データ１４５によって指定される出発ノードで発生させ、目的地ノードまでの道路上を移動させ、目的地ノードに到達したときに消滅させる。あるいは、シミュレーション実行部１０４は、歩行者、自転車および自動車を、シミュレーション対象領域の周辺の道路端で発生させ、シミュレーション対象領域の周辺の道路端に到達したときに消滅させる。
【００８５】
本実施形態では、シミュレーションの刻み時間すなわち計算の刻み時間を１秒とする。これは、自動車、自転車、歩行者それぞれに設定された最小の制限速度を考慮したものである。すなわち、１セルの長さを０．７５ｍとした場合には、自動車は、最小の制限速度（１０ｋｍ／時間）のとき、１計算刻みにほぼ４セル移動し、自転車は、最小の制限速度（５ｋｍ／時間）のとき、１計算刻みにほぼ２セル移動し、歩行者は、最小の制限速度（２．５ｋｍ／時間）のとき、１計算刻みにほぼ１セル移動する。
【００８６】
ちなみに、１秒に４セル、２セル、１セル移動するときの速度は、それぞれ、
４セル×０．７５ｍ／秒＝３ｍ×３６００／時間＝    １０．８ｋｍ／時間
２セル×０．７５ｍ／秒＝１．５ｍ×３６００／時間＝  ５．４ｋｍ／時間
１セル×０．７５ｍ／秒＝０．７５ｍ×３６００／時間＝２．７ｋｍ／時間
となる。
【００８７】
本実施形態の場合、自動車、自転車および歩行者を同じ道路内で同時に移動させる。そのため、自動車、自転車および歩行者それぞれの挙動は、その位置によっては互いに干渉しあう。そこで、シミュレーション実行部１０４は、その内部に歩行者、自転車および自動車それぞれの干渉挙動を処理する自動車干渉処理部１２１、自転車干渉処理部１２２、歩行者干渉処理部１２３のサブ機能ブロックを備えている。
【００８８】
（４．１  自動車干渉処理）
図１２は、自動車干渉処理部１２１における処理の流れの例を示した図である。自動車干渉処理部１２１は、１計算刻みごとに、所定の確率で自動車を発生させ、また、すでに発生した自動車についてその位置と速度とを計算する。
【００８９】
図１２に示すように、自動車干渉処理部１２１は、まず、交通量データ１４１の自動車交通量についての当該時間帯の単位時間当たりの交通量（Ｎ）に基づき、各リンクの始点ノードにおいて自動車を発生させる（ステップＳ２１）。すなわち、自動車干渉処理部１２１は、発生させた自動車についての自動車データ１４５を生成し、さらに、その自動車の位置に対応するレーンデータ１３３の自動車道存在フラグのセルのフィールドに、その自動車の自動車番号を登録する。
【００９０】
ここで、自動車の発生確率（Ｐ）は、次の式（１）で表されるポアソン分布に従うものとする。
Ｐ＝１−ｅｘｐ（−Ｎｔ／３６００）        式（１）
【００９１】
次に、自動車干渉処理部１２１は、当該自動車が目的地ノードに到達したか否かを判定する（ステップＳ２２）。その判定の結果、当該自動車が目的地ノードに到達したときには、自動車干渉処理部１２１は、当該自動車を消滅させる（ステップＳ２３）。すなわち、当該自動車についての自動車データ１４５を削除するとともに、レーンデータ１３３から当該自動車の自動車番号を消去する。
【００９２】
次に、自動車干渉処理部１２１は、双方向リンクデータ１３２（図５参照）から当該自動車が位置する道路（双方向リンク）に設定された制限速度を取得し、その取得した制限速度に基づき、シミュレーションの１計算刻み時間後（１秒後）に当該自動車が移動する移動先セル位置を計算する（ステップＳ２４）。このとき、セル位置は、図６のレーンデータ１３３のセル番号で表したものである。
【００９３】
なお、本実施形態のシミュレーションでは、自動車は、１計算刻みの間、当該道路に設定された制限速度で移動するか、停止したままでいるかのどちらかであり、自動車の速度の加減速は考慮しない。ただし、双方向リンクデータ１３２には、制限速度として、１０ｋｍ／時間から１２０ｋｍ／時間までに含まれる５ｋｍ／時間の倍数の速度を設定することができる。
【００９４】
次に、自動車干渉処理部１２１は、当該自動車の前方に障害物があるか否かを判定する（ステップＳ２５）。すなわち、自動車干渉処理部１２１は、レーンデータ１３３を参照して、当該自動車のセル位置からステップＳ２４で計算した移動先セル位置までの各セルの自動車道存在フラグがすべて「無」であるか否かを判定する。なお、自動車の走行において障害物となるのは、他の自動車と、自転車と、歩行者と、信号機の赤信号である。さらに、右折または左折時に対向車が存在する場合にも障害物となる。
【００９５】
そして、その判定の結果、当該自動車の前方に障害物がなかったときには（ステップＳ２５でＮｏ）、自動車干渉処理部１２１は、その自動車の位置をステップＳ２４で計算した移動先セル位置まで移動させる（ステップＳ２６）。すなわち、自動車干渉処理部１２１は、当該自動車の移動後の位置をレーンデータ１３３の自動車道存在フラグにのセルフィールドに登録する。
【００９６】
また、当該自動車の前方に障害物があったときには（ステップＳ２５でＹｅｓ）、さらに、当該自動車が位置するレーンの隣接レーンの前方に障害物があるか否かを判定する（ステップＳ２７）。すなわち、自動車干渉処理部１２１は、レーンデータ１３３を参照して、当該自動車が位置するレーンの隣接レーンについて、当該自動車が位置するセル位置からステップＳ２４で計算した移動先セル位置までの各セルの自動車道存在フラグがすべて「無」であるか否かを判定する。
【００９７】
その判定の結果、当該自動車が位置するレーンの隣接レーンの前方に障害物がなかったときには（ステップＳ２７でＮｏ）、自動車干渉処理部１２１は、当該自動車をその隣接レーンへ移動させた上で、その位置をステップＳ２４で計算した移動先セル位置まで移動させる（ステップＳ２８）。また、当該自動車が位置するレーンの隣接レーンの前方にも障害物があったときには（ステップＳ２７でＹｅｓ）、当該自動車の移動を停止させる（ステップＳ２９）。
【００９８】
以上のステップＳ２１〜ステップＳ２９の処理は、シミュレーションの１計算刻みの処理として実行される。そして、ステップＳ２６、ステップＳ２８またはステップＳ２９が実行された後には、次の計算刻みの処理としてステップＳ２２〜ステップＳ２９の処理が繰り返して実行される。
【００９９】
なお、自動車干渉処理部１２１は、自動車がある道路（リンク）に進入するときに、その自動車の自動車データ１４５の経路データ（図１０（ｃ）参照）や、そのリンクに設定された交通量データ１４１の中の自動車交通量の右折率および左折率（図８参照）に基づき、その自動車に対して、確率的に右折、左折、直進などの方向属性を付す。そして、その自動車に付した方向属性と進入する道路のレーンが有する方向属性（図６のレーンデータ１３３参照）とが一致するように、その自動車が走行するレーンを定める。
【０１００】
また、以上に説明した自動車干渉処理部１２１の処理の流れでは、自動車のレーン変更は、自動車の前方に障害物となるものが現れたとき行われるとしているが、自動車に付した方向属性と自動車が走行するレーンの方向属性とが異なる場合にも、両者の方向属性が一致するように、レーン変更が行われるようにしてもよい。また、自動車干渉処理部１２１は、自動車のレーン前方の自動車数や障害物までの距離などに基づいて求められるレーン飽和度などを、適宜、計算し、隣接レーンのレーン飽和度が小さいときには、その自動車が走行するレーンを隣接レーンへ変更するようにしてもよい。
【０１０１】
また、自動車干渉処理部１２１は、自動車の双方向リンクの終点における右折、直進または左折の進行方向を、その自動車の自動車データ１４５の中の経路データと、交通量データ１４１の中の自動車交通量の右折率および左折率と、に応じて確率的に割り振る。ただし、双方向リンクに複数のレーンがある場合には、レーンごとに方向属性が定められているので、おおむねそのレーンの方向属性に沿ったように、右折、直進または左折の進行方向を割り振ることになる。
【０１０２】
（４．２  歩行者干渉処理）
図１３は、歩行者干渉処理部１２３における処理の流れの例を示した図である。歩行者干渉処理部１２３は、１計算刻みごとに、所定の確率で歩行者を発生させ、また、すでに発生した歩行者についてその位置と速度とを計算する。
【０１０３】
図１３に示すように、歩行者干渉処理部１２３は、まず、交通量データ１４１の歩行者交通量についての当該時間帯の単位時間当たりの交通量に基づき、各リンクの始点ノードにおいて歩行者を発生させる（ステップＳ３１）。すなわち、歩行者干渉処理部１２３は、発生させた歩行者についての歩行者データ１４３を生成し、さらに、発生させた歩行者の位置に対応するレーンデータ１３３の歩道存在フラグのセルのフィールドに、その歩行者の歩行者番号を登録する。ここで、歩行者の発生確率は、前記の式（１）と同様のポアソン分布に従うものとする。
【０１０４】
次に、歩行者干渉処理部１２３は、当該歩行者が目的地ノードに到達したか否かを判定する（ステップＳ３２）。その判定の結果、当該歩行者が目的地ノードに到達したときには、歩行者干渉処理部１２３は、当該歩行者を消滅させる（ステップＳ３３）。すなわち、当該歩行者についての歩行者データ１４３を削除するとともに、レーンデータ１３３から当該歩行者の歩行者番号を消去する。
【０１０５】
次に、歩行者干渉処理部１２３は、双方向リンクデータ１３２（図５参照）から当該歩行者が位置する道路（双方向リンク）に設定された歩行者制限速度を取得し、その取得した制限速度に基づき、シミュレーションの１計算刻み時間後（１秒後）に当該歩行者が移動する移動先セル位置を計算する（ステップＳ３４）。このとき、セル位置は、図６のレーンデータ１３３のセル番号で表したものである。
【０１０６】
なお、本実施形態のシミュレーションでは、歩行者は、１計算刻みの間、当該道路に設定された歩行者制限速度で移動するか、停止したままでいるかのどちらかであり、歩行者の速度の加減速は考慮しない。ただし、双方向リンクデータ１３２には、歩行者制限速度として、２．５ｋｍ／時間、５ｋｍ／時間または７．５ｋｍ／時間の速度を設定することができる。
【０１０７】
次に、歩行者干渉処理部１２３は、当該歩行者の前方に障害物があるか否かを判定する（ステップＳ３５）。すなわち、歩行者干渉処理部１２３は、レーンデータ１３３を参照して、当該歩行者のセル位置からステップＳ３４で計算した移動先セル位置までの各セルの歩道存在フラグがすべて「無」であるか否かを判定する。なお、歩行者の走行において障害物となるのは、他の歩行者と信号機の赤信号である。本実施形態では、歩行者の移動の優先順位は、自動車と、自転車よりも高いものとする。
【０１０８】
その判定の結果、当該歩行者の前方に障害物がなかったときには（ステップＳ３５Ｎｏ）、歩行者干渉処理部１２３は、当該歩行者の位置をステップＳ３４で計算した移動先セル位置まで移動させる（ステップＳ３６）。すなわち、歩行者干渉処理部１２３は、移動後の当該歩行者の位置をレーンデータ１３３の歩道存在フラグに登録する。また、当該歩行者の前方に障害物があったときには（ステップＳ３５でＹｅｓ）、当該歩行者の移動を停止させる（ステップＳ３７）。
【０１０９】
以上のステップＳ３１〜ステップＳ３７の処理は、シミュレーションの１計算刻みの処理として実行される。そして、ステップＳ３６またはステップＳ３７が実行された後には、次の計算刻みの処理としてステップＳ３２〜ステップＳ２７の処理が繰り返して実行される。
【０１１０】
なお、歩行者干渉処理部１２３は、双方向リンクの終点に到達した歩行者に対して、右折、直進または左折の進行方向を、その歩行者の歩行者データ１４３の中の経路データと、交通量データ１４１の中の歩行者交通量の右折率および左折率と、に応じて確率的に割り振るものとする。
【０１１１】
（４．２  自転車干渉処理）
図１４は、自転車干渉処理部１２２における処理の流れの例を示した図である。自転車干渉処理部１２２は、１計算刻みごとに、所定の確率で自転車を発生させ、また、すでに発生した歩行者についてその位置と速度とを計算する。なお、本実施形態では、自転車は、歩道または自動車道を走行できるものとする。
【０１１２】
図１４に示すように、自転車干渉処理部１２２は、まず、交通量データ１４１の自転車交通量についての当該時間帯の単位時間当たりの交通量に基づき、各リンクの始点ノードにおいて自転車を発生させる（ステップＳ４１）。すなわち、自転車干渉処理部１２２は、発生させた自転車についての自転車データ１４４を生成し、さらに、発生させた歩行者の位置に対応するレーンデータ１３３の自転車道存在フラグ（自転車道がないときには、自動車道存在フラグまたは歩道存在フラグ）のセルのフィールドに、その自転車の自転車番号を登録する。ここで、自転車の発生確率は、前記の式（１）と同様のポアソン分布に従うものとする。
【０１１３】
次に、自転車干渉処理部１２２は、当該自転車が目的地ノードに到達したか否かを判定する（ステップＳ４２）。その判定の結果、当該自転車が目的地ノードに到達したときには、自転車干渉処理部１２２は、当該自転車を消滅させる（ステップＳ４３）。すなわち、当該自転車についての自転車データ１４４を削除するとともに、レーンデータ１３３から当該自転車の自転車番号を消去する。
【０１１４】
次に、自転車干渉処理部１２２は、双方向リンクデータ１３２の自転車道存在フラグを参照して、当該自転車が自転車道を走行中であるか否かを判定する（ステップＳ４４）。そして、その判定の結果、当該自転車が自転車道を走行中であったときには（ステップＳ４４でＹｅｓ）、自転車干渉処理部１２２は、双方向リンクデータ１３２から当該自転車が位置する道路（双方向リンク）に設定された自転車制限速度を取得し、その取得した制限速度に基づき、シミュレーションの１計算刻み時間後（１秒後）に当該自転車が自転車道で移動する移動先セル位置を計算する（ステップＳ４５）。
【０１１５】
なお、本実施形態のシミュレーションでは、自転車は、１計算刻みの間、当該道路に設定された歩行者制限速度で移動するか、停止したままでいるかのどちらかであり、自転車の速度の加減速は考慮しない。ただし、双方向リンクデータ１３２には、自転車制限速度として、５ｋｍ／時間、１０ｋｍ／時間または１５ｋｍ／時間の速度を設定することができる。
【０１１６】
次に、自転車干渉処理部１２２は、当該自転車の前方の自転車道に障害物があるか否かを判定する（ステップＳ４６）。すなわち、自転車干渉処理部１２２は、レーンデータ１３３を参照して、当該自転車のセル位置からステップＳ４５で計算した移動先セル位置までの各セルの自転車道存在フラグがすべて「無」であるか否かを判定する。なお、自転車の走行において障害物となるのは、他の自転車と歩行者と信号機の赤信号である。本実施形態では、自転車の移動の優先順位は、自動車より高く、歩行者よりも低いものとする。
【０１１７】
その判定の結果、当該自転車の前方の自転車道に障害物がなかったときには（ステップＳ４６でＮｏ）、自転車干渉処理部１２２は、レーンデータ１３３の自転車存在フラグにおける当該自転車の位置をステップＳ４５で計算した移動先セル位置まで移動させる（ステップＳ５２）。また、当該自転車の前方の自転車道に障害物があったときには（ステップＳ４６でＹｅｓ）、後記するステップＳ４８以下の処理を実行する。
【０１１８】
また、ステップＳ４４の判定で、当該自転車が自転車道を走行中でなかったときには（ステップＳ４４でＮｏ）、自転車干渉処理部１２２は、双方向リンクデータ１３２の自転車道存在フラグを参照して、当該自転車が歩道を走行中であるか否かを判定する（ステップＳ４７）。そして、その判定の結果、当該自転車が歩道を走行中であったときには（ステップＳ４７でＹｅｓ）、自転車干渉処理部１２２は、双方向リンクデータ１３２から当該自転車が位置する道路（双方向リンク）に設定された自転車制限速度を取得し、その取得した制限速度に基づき、シミュレーションの１計算刻み時間後（１秒後）に当該自転車が歩道で移動する移動先セル位置を計算する（ステップＳ４８）。
【０１１９】
次に、自転車干渉処理部１２２は、当該自転車の前方の歩道に障害物があるか否かを判定する（ステップＳ４９）。すなわち、自転車干渉処理部１２２は、レーンデータ１３３を参照して、当該自転車のセル位置からステップＳ４８で計算した移動先セル位置までの各セルの歩道存在フラグがすべて「無」であるか否かを判定する。
【０１２０】
その判定の結果、当該自転車の前方の歩道に障害物がなかったときには（ステップＳ４９でＮｏ）、自転車干渉処理部１２２は、レーンデータ１３３の自転車存在フラグにおける当該自転車の位置をステップＳ４８で計算した移動先セル位置まで移動させる（ステップＳ５３）。また、当該自転車の前方に障害物があったときには（ステップＳ４９でＹｅｓ）、後記するステップＳ５０以下の処理を実行する。
【０１２１】
また、ステップＳ４７の判定で、当該自転車が歩道を走行中でなかったときには（ステップＳ４７でＮｏ）、当該自転車は自動車道を走行していることになるので、自転車干渉処理部１２２は、双方向リンクデータ１３２から当該自転車が位置する道路（双方向リンク）に設定された自転車制限速度を取得し、その取得した制限速度に基づき、シミュレーションの１計算刻み時間後（１秒後）に当該自転車が自動車道で移動する移動先セル位置を計算する（ステップＳ５０）。ここで、自動車道に複数のレーンがあるときには、自転車は、歩道または自転車道寄りのレーンのみ走行可能であるものとする。
【０１２２】
次に、自転車干渉処理部１２２は、当該自転車の前方の自動車道に障害物があるか否かを判定する（ステップＳ５１）。すなわち、自転車干渉処理部１２２は、レーンデータ１３３を参照して、当該自転車のセル位置からステップＳ４８で計算した移動先セル位置までの各セルの、歩道または自転車道寄りのレーンの自動車道存在フラグがすべて「無」であるか否かを判定する。
【０１２３】
その判定の結果、当該自転車の前方の自動車道に障害物がなかったときには（ステップＳ５１でＮｏ）、自転車干渉処理部１２２は、レーンデータ１３３の自動車存在フラグにおける当該自転車の位置をステップＳ５０で計算した移動先セル位置まで移動させる（ステップＳ５４）。また、当該自転車の前方に障害物があったときには（ステップＳ５１でＹｅｓ）、当該自転車の移動を停止させる（ステップＳ５５）。
【０１２４】
以上のステップＳ４１〜ステップＳ５５の処理は、シミュレーションの１計算刻みの処理として実行される。そして、ステップＳ５２〜ステップＳ５５のいずれかの処理が実行された後には、次の計算刻みの処理としてステップＳ４２〜ステップＳ５５の処理が繰り返して実行される。
【０１２５】
なお、自転車干渉処理部１２２は、双方向リンクの終点に到達した自転車に対して、右折、直進または左折の進行方向を、その自転車の自転車データ１４４の中の経路データと、交通量データ１４１の中の自転車交通量の右折率および左折率と、に応じて確率的に割り振るものとする。
【０１２６】
＜５．表示データ生成部１０５の動作＞
シミュレーション実行部１０４は、シミュレーション実行によって１計算刻み（例えば、１秒）ごとに計算される自動車、自転車および歩行者の位置の情報をレーンデータ１３３の形で表示データ生成部１０５に渡し、図７に示したような表示画面データの生成を指示する。表示データ生成部１０５は、そのレーンデータ１３３を受け取ると、地図データ１３１と景観データ１３４とその受け取ったレーンデータ１３３とに基づき、図７に示したような表示画面データを生成し、生成した表示画面データを表示制御部１５へ出力し、ディスプレイ１６に表示させる。
【０１２７】
つまり、表示データ生成部１０５は、１計算刻み（１秒）ごとに計算される自動車、自転車および歩行者の位置を、地図データ１３１と景観データ１３４とに基づき表示される道路地図上に重ね合わせて表示することになるので、ディスプレイ１６には、自動車、自転車および歩行者が道路地図上で刻々移動するようにアニメーション的に表示される。
【０１２８】
なお、以上の説明では、表示データ生成部１０５は、１計算刻みごとにシミュレーション実行部１０４から出力されるレーンデータ１３３に基づき、そのつど、表示画面データを生成し、ディスプレイ１６に表示するとしているが、１計算刻みごとに出力されるレーンデータ１３３を補助記憶部１３などにいったん蓄積した上で、その蓄積したレーンデータ１３３に基づき、表示画面データを生成し、ディスプレイ１６に表示してもよい。この場合には、１計算刻みごとの表示画面データの表示時間間隔が、シミュレーション実行の計算時間に制約されないので、その表示時間間隔を自由に制御できるようになる。すなわち、自動車、自転車および歩行者の移動のアニメーション表示の早送りや遅送りができるようになる。
【０１２９】
また、表示データ生成部１０５は、地図データ１３１、双方向リンクデータ１３２、レーンデータ１３３、景観データ１３４の各データを、キーボード１７などから入力される指示データに従って、選択したデータを、適宜、表示しなかったり、強調して表示したりしてもよい。
【０１３０】
以上、本実施形態の交通流シミュレーション装置１０においては、信号機の現示データが歩行者、自転車および自動車の挙動に与える影響、歩行者の挙動が自転車および自動車の挙動に与える影響、並びに、自転車の挙動が自動車の挙動に与える影響が考慮されているので、自動車の挙動だけを考慮した従来の交通流シミュレータに比べると、より現実に近い精度の高いシミュレーション結果を得ることができる。また、自動車、自転車および歩行者の移動をアニメーション表示にすることによって、信号機の現示データの設定の仕方などによる渋滞が形成される過程などをより詳しく解析できるようになる。
【図面の簡単な説明】
【０１３１】
【図１】交通流シミュレーション装置の機能ブロックの構成の例を示した図。
【図２】交通流シミュレーション装置のハードウエア構成の例を示した図。
【図３】交通流シミュレーション装置における交通流シミュレーションの処理の流れの例を示した図。
【図４】ＤＲＭ−ＤＢにおける（ａ）基本リンクデータ、（ｂ）基本ノードデータ、および、（ｃ）道路種別コードの構成の例を示した図。
【図５】双方向リンクデータの構成の例を示した図。
【図６】レーンデータの構成の例を示した図。
【図７】地図データ、景観データおよびレーンデータに基づき生成される道路地図、並びに、自動車、自転車および歩行者の存在位置を表示した表示画面の例を示した図。
【図８】交通流データである（ａ）交通量データ、および、（ｂ）信号機現示データの構成の例を示した図。
【図９】交通量データの入力表示画面の例を示した図。
【図１０】歩行者データ、自転車データおよび自動車データの構成を示した図。
【図１１】シミュレーション実行中に表示される道路上の歩行者、自転車および自動車の移動の様子を拡大して示した図。
【図１２】自動車干渉処理部における処理の流れの例を示した図。
【図１３】歩行者干渉処理部における処理の流れの例を示した図。
【図１４】自転車干渉処理部における処理の流れの例を示した図。
【符号の説明】
【０１３２】
１０    交通流シミュレーション装置
１１    ＣＰＵ
１２    主記憶部
１３    補助記憶部
１４    入出力制御部
１５    表示制御部
１６    ディスプレイ
１７    キーボード
１８    マウス
１００  入力処理部
１０１  データ生成部
１０２  ＤＲＭ−ＤＢ（デジタル道路地図データベース）
１０３  シミュレーションデータベース
１０４  シミュレーション実行部
１０５  表示データ生成部
１１１  地図データ生成部
１１２  双方向リンクデータ生成部
１１３  レーンデータ生成部
１１４  景観データ生成部
１１５  交通流データ生成部
１２１  自動車干渉処理部
１２２  自転車干渉処理部
１２３  歩行者干渉処理部
１３１  地図データ
１３２  双方向リンクデータ
１３３  レーンデータ
１３４  景観データ
１４１  交通量データ
１４２  信号機現示データ
１４３  歩行者データ
１４４  自転車データ
１４５  自動車データ
【図１】
2008129874.tif 000003
【図２】
2008129874.tif 000004
【図３】
2008129874.tif 000005
【図４】
2008129874.tif 000006
【図５】
2008129874.tif 000007
【図６】
2008129874.tif 000008
【図７】
2008129874.tif 000009
【図８】
2008129874.tif 000010
【図９】
2008129874.tif 000011
【図１０】
2008129874.tif 000012
【図１１】
2008129874.tif 000013
【図１２】
2008129874.tif 000014
【図１３】
2008129874.tif 000015
【図１４】
2008129874.tif 000016