7.応用機能:道路構造令に基づく交差点形状の生成

[図II-7] 道路構造令による交差点形状生成

前述の、景観シミュレータをネットワーク越しに外部から操作するインターフェースは、成熟都市シミュレータ以外に様々の応用システム作成の途を開くものであり、様々の工夫が可能となります。その一例として、成熟都市シミュレータを操作する上でも関係の深い、交差点の3次元形状を作成するツールを、成熟都市シミュレータの附属機能として作成してみました。これは、検討対象地区全体の交差点のリストを、座標値と様々のパラメータ(歩道幅・高さ、道路の勾配、歩道巻込み半径など)のセットとして表現し、これに基づき交差点の3次元形状を生成し、景観シミュレータに送出して表示する機能です。これにより、従来手間のかかった交差点の形状生成が簡単にできるようになります。

一つの交差点は、そこに接続する道路の数と同数のセグメントにより記述します。一つのセグメントは、隣接して接続する道路の半分を合せた形状で、建物からなる街区に沿って折れ曲る歩道を含んだ部分です。このように定義することにより、道の両側で車道や歩道の幅が異なる交差点も表現が可能となります。編集[表示]ボタンにより景観シミュレータに3次元形状を出力して確認することができます。

作成したデータは、ファイル保存し、都市施設配置により読込んで用います。

[図II-8]交差点セグメントのパラメータ指定

8.応用機能:マルチ・スクリーンの評価セッションの実行

景観シミュレータの外部インターフェースを応用したもう一つの例として、評価セッション用に、予め用意してあるシーンファイルを用いて、所定の時刻を予めプログラムしておき、これに従ってシーンを自動的に切換える機能(シーケンサ機能)です。この場合、コントロールを受ける景観シミュレータ(プロセス)を最大5までセットすることができます。即ち、液晶プロジェクタなどの投影画面中にマルチ・スクリーンで、複数の景観シミュレータを開いて並べ、相互に関係のある表示内容を協調的に切換えるような使用方法を可能としています。

【操作方法】

(1)マルチスクリーンの使用時における環境設定

マルチスクリーンを使用する際には、maju.exe と同じディレクトリに置かれる環境設定ファイル

Timerpath.txt

の中に、複数のデータ・ファイル及びフラッグ・ファイルの名称を並べます。

例:Timerpath.txt の内容

C:\maju1.flg

C:\maju1.dat

C:\maju2.flg

C:\maju2.dat

C:\maju3.flg

C:\maju3.dat

C:\maju4.flg

C:\maju4.dat

C:\maju5.flg

C:\maju5.dat

一方、景観シミュレータの側では、例えば、ksim\binの下に、必要なスクリーンの数だけ、サブディレクトリを作成します。

例: ksim\bin\session1

ksim\bin\session2

ksim\bin\session3

ksim\bin\session4

ksim\bin\session5

そして、それぞれの中に sim.exe を一つづつコピーすると共に、それぞれの sim.exe のための環境設定ファイル

timerpath.txt

を作成します。 そして、それぞれの中で、ユニークなコントロール・ファイル名称を指定します。

例:session3 の timerpath.txt

C:\maju3.flg

C:\maju3.dat

(2)プログラム方法

メイン画面の[評価セッション]ボタンを押します。すると、3次元表示による評価セッションのダイアログが表示されます。

[図II-9]評価セッションの実行

そこで、[詳細設定]のボタンを押すと、評価セッション詳細設定のダイヤログが表示されます。ここで、既に作成してあるシーケンス記述ファイル(*.sdc)を再編集する場合には、選択ボタンを押して、そのファイルを選択します。新たなファイルを作成する場合には、そのファイル名称を直接入力します。

[図II-10]評価セッションの条件編集

次に、[編集]ボタンを押すと、メモ帳が開いて、そのシーケンス記述ファイルを編集する状態になります。新たなファイル名称を指定した場合には、「ファイルXXXX.sdcが見つかりません。新しく作成しますか」と聞いてくるので、[はい]と答えます。

シーケンス記述ファイルは、以下の文法に従って記述します。

1行の構成:

開始時刻 コード 対象番号 コマンド

開始時刻は、「時:分‘秒」の形式で記述します。セッション開始からの経過時間で表現します。

コードは、sとbがあります。

sは、景観シミュレータの制御に関する記述であることを示します。

bは、メモ帳でテキスト・ファイルを開くことを示します。

hは、セッションの終了を示します。

対象番号は、マルチ・スクリーンの場合のどのスクリーンを切換えるかを指定するID番号です(1〜5)。但し、bの場合には、メモ帳による表示の中止時点を表現します。

コマンドは、sの場合には、景観シミュレータのシーンの切替えに関するコマンドを記述します。bの場合には、表示するテキストのファイル名称を記述します。

景観シミュレータのシーン切替えに関しては、以下のコマンドがあります。

SCENE(N);? N番目のシーンを表示する。

SCENE_KEMUDIAN(); 次のシーンを表示。

SCENE_YANGTADI(); 前のシーンを表示。

例:

00:00'03 s 1 SCENE(0);

00:00'05? s?????? 2?????? SCENE(0);

00:00'06??????? s?????? 3?????? SCENE(0);

00:00'07??????? s?????? 4?????? SCENE(0);

00:00'09??????? s?????? 5?????? SCENE(0);

00:00'11??????? s?????? 4?????? SCENE(6);

00:00'13??????? s?????? 1?????? SCENE(1);

00:00'15??????? s?????? 1?????? SCENE(0);

00:00'17??????? s?????? 3?????? SCENE(0);

00:00'19??????? s?????? 3?????? SCENE(2);

00:00'21??????? s?????? 3?????? SCENE(4);

00:00'23??????? s?????? 3?????? SCENE(6);

00:00'32??????? s?????? 4?????? SCENE(9);

00:00'35??????? s?????? 4?????? SCENE(11);

00:00'43??????? s?????? 4?????? SCENE(13);

00:00'51??????? s?????? 2?????? SCENE(0);

00:00'53??????? s?????? 2??????? SCENE_KEMUDIAN();

00:00'55??????? s?????? 2??????? SCENE_KEMUDIAN();

00:00'57??????? s?????? 2??????? SCENE_KEMUDIAN();

00:01'03??????? s?????? 2??????? SCENE_KEMUDIAN();

00:01'05??????? s?????? 2??????? SCENE_KEMUDIAN();

00:01'12??????? s?????? 5??????? SCENE_KEMUDIAN();

00:01'14??????? s?????? 5??????? SCENE_KEMUDIAN();

00:01'16??????? s?????? 5??????? SCENE_KEMUDIAN();

00:01'18??????? s?????? 1?????? SCENE(0);

00:01'19??????? s?????? 2?????? SCENE(0);

00:01'21??????? s?????? 4?????? SCENE(0);

00:01'25??????? s?????? 1??????? SCENE_KEMUDIAN();

00:01'30??????? s?????? 1??????? SCENE_KEMUDIAN();

00:01'40??????? s?????? 1??????? SCENE_KEMUDIAN();

00:01'50??????? s?????? 2?????? SCENE(0);

00:01'55??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'00??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'05??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'10??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'15??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'20??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'25??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'35??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'40??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'50??????? s?????? 2??????? SCENE_KEMUDIAN();

00:02'55??????? s?????? 2??????? SCENE_KEMUDIAN();

00:03'00??????? s?????? 2??????? SCENE_KEMUDIAN();

00:03'05??????? s?????? 2??????? SCENE_KEMUDIAN();

00:03'10??????? s?????? 2??????? SCENE_KEMUDIAN();

00:03'15??????? s?????? 2??????? SCENE_KEMUDIAN();

00:03'20??????? s?????? 3?????? SCENE(0);

00:03'25??????? S?????? 2?????? SCENE(9);

00:03'30??????? s?????? 3??????? SCENE_KEMUDIAN();

00:03'40??????? s?????? 3??????? SCENE_KEMUDIAN();

00:03'45??????? s?????? 3??????? SCENE_KEMUDIAN();

00:03'50??????? s?????? 3??????? SCENE_KEMUDIAN();

00:03'55??????? s?????? 3??????? SCENE_KEMUDIAN();

00:04'00??????? s?????? 3??????? SCENE_KEMUDIAN();

00:04'10??????? s?????? 3?????? SCENE(5);

00:04'20??????? s?????? 4?????? SCENE(0);

00:04'33??????? s?????? 4??????? SCENE_KEMUDIAN();

00:04'42??????? s?????? 4??????? SCENE_KEMUDIAN();

00:04'51??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'00??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'10??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'20??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'30??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'40??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'45??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'50??????? s?????? 4??????? SCENE_KEMUDIAN();

00:05'55??????? s?????? 4??????? SCENE_KEMUDIAN();

00:06'00??????? s?????? 4??????? SCENE_KEMUDIAN();

00:06'05??????? s?????? 4??????? SCENE_KEMUDIAN();

00:06'10??????? s?????? 4??????? SCENE_KEMUDIAN();

00:06'15??????? s?????? 4?????? SCENE(14);

00:06'28??????? s?????? 5?????? SCENE(0);

00:06'35??????? s?????? 5??????? SCENE_KEMUDIAN();

00:06'40??????? s?????? 5??????? SCENE_KEMUDIAN();

00:06'45??????? s?????? 5??????? SCENE_KEMUDIAN();

00:06'50??????? s?????? 5??????? SCENE_KEMUDIAN();

00:07'00??????? s?????? 5??????? SCENE_KEMUDIAN();

00:07'10??????? s?????? 5??????? SCENE_KEMUDIAN();

00:07'20??????? s?????? 5??????? SCENE_KEMUDIAN();

00:07'30??????? s?????? 5??????? SCENE_KEMUDIAN();

00:00'01??????? b?????? 00:00'30??????? @restop.txt

00:00'31??????? b?????? 00:01'00??????? @resrch1.txt

00:01'01??????? b?????? 00:01'30??????? @resrch2.txt

00:01'31??????? b?????? 00:04'30??????? @resrch3.txt

00:04'31??????? b?????? 00:06'30??????? @resrch4.txt

00:06'31??????? b?????? 00:09'00??????? @resrch5.txt

00:08'00??????? b?????? 00:08'01??????? @warn1.txt

00:09'00??????? h?????? 0?????? -

? 編集が終ったら、[OK]ボタンにより、[3次元表示による評価セッション]のメニューに戻ります。

(3)評価セッションの実行

?[3次元表示による評価セッション]のメニューで、[セッション開始]ボタンを押すことにより開始します。[中断]は、内部のクロックを停止させます。[再開]で再開します。[リスタート]で、内部のクロックをゼロに戻します。

編集が終ったら、[OK]ボタンにより、[3次元表示による評価セッション]のメニューに戻ります。

(3) 評価セッションの実行

[3次元表示による評価セッション]のメニューで、[セッション開始]ボタンを押すことにより開始します。[中断]は、内部のクロックを停止させます。[再開]で再開します。[リスタート]で、内部のクロックをゼロに戻します。

[図II-11]実行中の表示

[図II-12]中断中の表示