以下、本発明の実施形態について図面に基づいて説明する。
<第1の実施形態>
図1は、情報処理装置100の機能の概要について説明する図である。情報処理装置100は、パーソナルコンピュータ(PC)等の情報処理装置である。
情報処理装置100は、CADソフト110(CAD部)と、CADソフト110のプラグインとして機能する避難シミュレーションソフト120(避難シミュレーション部)と、を含む。本実施形態における情報処理装置100はPCであり、CADソフト110は情報処理装置にインストールされている3次元CADアプリケーションソフトウェアである。また、避難シミュレーションソフト120は、CADアプリケーションソフトウェアのプラグインとして機能するソフトウェア(避難シミュレーションツール)である。
避難シミュレーションソフト120は、シミュレーションエンジンを含み、そのシミュレーションエンジンを用いて、災害の発生を想定し、CADソフト110により作成された地図上の建物内に配置された歩行者のアイコンを、例えば建物外の道路上等の避難場所(目的地)に避難させるシミュレーション処理を行う。より具体的には、避難シミュレーションソフト120は、シミュレーション上での時刻を、一定の間隔毎に進ませ、時間の経過に伴い、当該歩行者を避難場所に向けて移動させるシミュレーション処理を行う。避難シミュレーションソフト120は、様々な災害の発生を想定した避難シミュレーションができる。例えば、避難シミュレーションソフト120は、津波、洪水、川の氾濫等の水災害、火災、土砂災害等の発生を想定した避難シミュレーションを行うことができる。
本実施形態においては、建物内の避難者が道に出て避難できるように、道と繋がっていない建物と直近の道とをつなぐ新たな道を作成する処理を行う。以上が図1の説明である。
次に、図2を参照して本発明の実施形態における、情報処理装置100のハードウェア構成等の一例について説明する。情報処理装置100は、CPU201、ROM202、RAM203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208を含む。CPU201、ROM202、RAM203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208は、システムバス204を介して、相互に接続されている。
CPU201は、システムバス204を介して接続される各デバイスやコントローラを統括的に制御する中央演算装置である。ROM202は、CPU201の制御プログラムであるBIOS(Basic Input / Output System)等の各種プログラム、各種データ等を記憶する記憶装置である。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する記憶装置である。CPU201は、処理の実行に際して必要なプログラム等をROM202又は外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現する。
入力コントローラ205は、入力装置209からの入力を制御するコントローラである。入力装置209は、キーボード(KB)やマウス等のポインティングデバイス等の入力装置である。ビデオコントローラ206は、ディスプレイ装置210への表示を制御するコントローラである。ディスプレイ装置210は、CRTディスプレイ(CRT)等の表示器である。ディスプレイ装置210は、CRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
メモリコントローラ207は、外部メモリ211へのアクセスを制御するコントローラである。外部メモリ211は、オペレーティングシステムプログラム(以下、OS)、各種設定情報等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)等の記憶装置である。また、外部メモリ211は、ブートプログラム、各種のアプリケーションのプログラム、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。また、メモリコントローラ207は、PCMCIAカードスロットにアダプタを介して接続されるフラッシュメモリ型メモリカード等の外部メモリ211へのアクセスを制御することもできる。
通信I/Fコントローラ208は、LANやインターネット等のネットワークを介した外部装置との接続・通信に利用されるコントローラであり、ネットワークを介した通信処理を実行する。通信I/Fコントローラ208は、例えば、TCP/IPを用いた外部装置との通信等が可能である。
CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上のマウスカーソル等を介したユーザの指示を受け付けることができる。
本実施形態の処理を実現するための各種プログラムは、外部メモリ211に記憶されているとするが、ROM202に記憶されているものとしてもよい。また、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に記憶されているとするが、ROM202に記憶されているものとしてもよい。
なお、ディスプレイ装置210は、避難シミュレーションソフト120による指示に応じてCADソフト110が生成したオブジェクト(例えば、建物と道を繋ぐ新たな道のオブジェクト)を表示出力する出力部の一例である。以上が図2の説明である。
CPU201が、ROM202又は外部メモリ211に記憶されたプログラムに基づき処理を実行することによって、図3で後述する情報処理装置100の機能及び後述する各図のフローチャートの処理が実現される。
図3は、情報処理装置100の機能構成の一例を示す図である。情報処理装置100は、CADソフト110(CAD部)、避難シミュレーションソフト120(避難シミュレーション部)を備える。
地図データ読込部311は、地図データを読込む。本実施形態では、地図データ読込部311は、外部メモリ211から、外部メモリ211に記憶されている地図データを読込むこととするが、ROM202や外部のサーバ等から読込むこととしてもよい。本実施形態では、地図データ読込部311は、Shapeデータ等、地図上の線分に属性が付与されている地図データを読込むこととする。即ち、地図データ読込部311は、属性が付与されている線分の情報の集合である地図データを読込む。線分に属性が付与されているとは、線分の情報と紐付いて、その線分の属性を示す属性情報が記憶されていることを示す。そして、地図データ読込部311は、読込んだ地図データに含まれる線分の情報に応じた線分を表示することで、地図をディスプレイ装置210に表示する。図4(a)は、地図データ読込部311により表示される地図の一例を示す図であり、建物や道がある様子が示されている。地図上の線分に付与される属性情報には、例えば、その線分が道、建物等、何の形状(例えば矩形等)を構成する線分であるのかを示す情報がある。建物属性の線分で囲まれた領域は、建物であることを示す。道属性の線分で囲まれた領域は、道であることを示す。また、属性の中には、例えば建物の通行口(出入口)を示す属性もある。当該通行口の属性は、建物を示す属性の1つである。地図上には、例えば建物401に示すように地図データが読み込まれた時点で道と繋がっている建物もあれば、建物411、建物412、建物413に示すように、地図データの不備等により道と繋がっていない建物もあるものとする。
オブジェクト作成指示受付部312は、避難シミュレーションソフト120のオブジェクト作成指示部323からのオブジェクトの作成指示を受付ける。
オブジェクト作成部313は、オブジェクト作成指示受付部312により受け付けられたオブジェクトの作成指示に応じてオブジェクト(矩形や円等で示されるオブジェクト)を地図上に作成する。例えば、オブジェクト作成指示受付部312により道オブジェクトの作成指示が受け付けられた場合、オブジェクト作成部313は、道のオブジェクトであることを示す属性情報を有するオブジェクトを作成する。
識別表示指示受付部314は、識別表示指示部327からの指示を受け付ける。例えば、オブジェクト作成部で新たに作成した道のオブジェクトが、建物のオブジェクトと重なってしまっている場合に当該道が建物と重なってしまっていることを識別表示する指示を受け付ける。識別表示部315は、識別表示指示受付部314で受け付けた指示に従って識別表示を行う。
線分属性取得部321は、地図データ読込部311により読込まれた地図データ上の線分の属性情報をCADソフト110の備えるAPI(アプリケーションインターフェース)を用いて取得する。
線分取得部322は、線分属性取得部321により取得された属性に基づいて、地図データ読込部311により読込まれた地図データから、設定された属性情報を有する線分の情報を取得する。例えば、線分取得部322は、道であることを示す属性情報を有する線分、及び建物であることを示す属性情報を有する線分を取得する。
オブジェクト作成指示部323は、線分取得部322により取得された線分からオブジェクトの形状を特定して、特定した形状のオブジェクトを作成するようCADソフト110の備えるAPIに指示する。より具体的には、オブジェクト作成指示部323は、特定したオブジェクトの形状の情報を、オブジェクト作成指示受付部312に送信し、道オブジェクト、建物オブジェクトの作成をCADソフト110に指示する。
建物特定部324は、地図上で道と繋がっていない建物を特定する。例えば、道オブジェクトと接する又は重なっている建物オブジェクト以外の建物オブジェクトを、道と繋がっていない建物として特定する。
道オブジェクト形状決定部325は、建物特定部324で特定した建物オブジェクトと道オブジェクトを繋ぐ新たな道の地図上の位置、形状を決定する決定部である。オブジェクト作成指示部323は、当該道オブジェクト形状決定部325で決定された形状の道オブジェクトを作成するようCADソフト110に指示し、オブジェクト作成指示受付部312が当該指示を受け付けて、オブジェクト作成部313が道オブジェクト形状決定部325で決定された位置に、決定された形状のオブジェクトを作成して、道の属性を付与する。
重なり判定部326は、道オブジェクト形状決定部325で形状決定されて作成された道の途中に、建物のオブジェクトが重なって位置しているか判定する判定部である。識別表示指示部327は、道オブジェクト形状決定部325で形状決定されて作成された道の途中に、建物のオブジェクトが重なって位置している場合に、当該道と建物が重なっていることを識別表示するようCADソフトに指示する。例えば、図16の1611に示すような識別表示用のオブジェクトを、当該道と建物が重なっている位置を中心にして作成、配置するようCADソフト110に指示する。CADソフト110は識別表示指示受付部314で当該指示を受け付け、オブジェクト作成部313で指示された位置に識別表示用のオブジェクトを作成して、識別表示部315が当該オブジェクトを表示画面に表示する。以上が図3の説明である。
次に、図6を参照して、本発明の実施形態における歩行領域の設定処理の流れについて説明する。
S601において、CADソフト110は、入力装置209を介したユーザによる操作に応じて、起動する。
S602において、CADソフト110は、入力装置209を介したユーザによる操作に応じて、外部メモリ211等から地図データを読込んで、読込んだ地図データの情報をRAM203上に展開し、記憶する。そして、CADソフト110は、RAM203上に記憶した地図データに応じた地図をディスプレイ装置210に表示されているCADソフト110の表示画面内に表示する。例えば、図7の700に示すように、CADソフトウェアが表示するウインドウ上に地図を表示する。
図7(a)は、CADソフト110がディスプレイ装置210に表示している画面の一例である表示画面700を示す図である。S602では、CADソフト110は、Shapeデータ等、属性情報(オブジェクトが建物、道等であることを示す情報等)が付与されている線分の情報の集合である地図データを読込むものとする。
図5の線分情報500は、S602で読込まれる線分情報の集合である地図データの一例である。線分情報500は、線分ID501と、端点座標502と、属性503と、の項目を含む。線分IDの項目の値は、線分を一意に特定するためのIDである。端点座標の項目の値は、地図上での線分の2つの端点の座標を示す。端点座標の項目には、(線分の1つ目の端点のx座標値、線分の1つ目の端点のy座標値、線分の2つ目の端点のx座標値、線分の2つ目の端点のy座標値)の2つの端点の座標のデータが入力される。属性の項目の値は、線分に付与されている属性を示す。例えば、属性の項目には、道に関する線分については、「道」の属性情報、建物に関する線分については、「建物」の属性情報、通行口に関する線分については「通行口」の属性情報が入力され、記憶されている。
線分情報500は、複数の点を順番に線分で結んだ線や曲線等の線分以外の線の情報を記憶することもできる。その場合、端点座標の項目には、線が通過する複数の点の情報や、曲線を定義するための情報(曲線の方程式のパラメータ等)等が入力される。
S603において、CADソフト110は、入力装置209を介したユーザの操作に応じて、避難シミュレーションソフト120を起動させる。CADソフト110は、入力装置209を介したユーザの操作に応じて、既に起動している避難シミュレーションソフト120に対して、避難シミュレーションソフト120の設定画面の表示を指示することとしてもよい。
S604において、避難シミュレーションソフト120は、S603でのCADソフト110からの起動指示により起動し、避難シミュレーションソフト120の設定画面をCADソフト110が表示している表示画面上に表示する。また、避難シミュレーションソフト120は、既に起動している場合、S603でのCADソフト110からの設定画面表示指示に応じて、避難シミュレーションソフト120の設定画面をCADソフト110が表示している表示画面上に表示することとしてもよい。
図7(b)は、避難シミュレーションソフト120の設定画面720が表示画面700上に表示されている様子を示す図である。S603で表示画面700上の選択画面710で、「避難シミュレーション」が選択されることで、CADソフト110は、避難シミュレーションソフト120に起動指示を出す。そして、起動指示を受けた避難シミュレーションソフト120は、S604で、設定画面720を表示する。
S4S605において、避難シミュレーションソフト120は、ディスプレイ装置210に表示している画面や入力装置209を介したユーザの操作に基づいて、地図上にオブジェクトを新たに作成する指示を受け付ける。オブジェクトには、道オブジェクトや建物オブジェクト等がある。道オブジェクトとは、道であることを示す属性情報を有するオブジェクトである。建物オブジェクトとは、建物であることを示す属性情報を有するオブジェクトである。例えば、避難シミュレーションソフト120は、入力装置209を介したユーザの操作に基づいて、設定画面720における「避難場所候補」ボタンの選択を受け付けることで、オブジェクトの作成指示を受付ける。当該オブジェクトの作成指示は、例えば、地図上の道の線分の位置に従って道の属性を持つオブジェクトを地図上に作成し、地図上の建物の線分の位置に従って建物の属性を持つオブジェクトを地図上に作成する指示である。
S606において、避難シミュレーションソフト120は、S605で受け付けたオブジェクトの作成指示に基づいて、道オブジェクトを作成するための線分情報(道の属性を持つ線分情報)、建物オブジェクトを作成するための線分情報建物の属性を持つ線分情報、建物の属性の1種類である通行口の属性を持つ線分情報も建物属性を持つ線分情報)をCADソフト110に要求する。本実施形態では、避難シミュレーションソフト120は、線分情報500を、CADソフト110の備えるAPIを用いてCADソフト110に要求するものとする。
S607において、CADソフト110は、S606で行われた線分情報の要求を受付ける。
S608において、CADソフト110は、地図上に配置されている、S602で読込んだShapeデータ等の線分情報を避難シミュレーションソフト120に送信する。本実施形態では、CADソフト110は、S607で受付けた要求に対応する線分情報として、線分情報500を避難シミュレーションソフト120に送信することとする。
S609において、避難シミュレーションソフト120は、S608で送信された線分情報500を受信してRAM203等に記憶する。本実施形態では、避難シミュレーションソフト120は、CADソフト110から線分情報500を受信することとしたが、外部メモリ211等に線分情報500が記憶されている場合、例えばCADソフト110のAPIを用いてCADソフト110で展開し表示中の地図情報(線分情報)のファイル名及びファイルの保存場所を要求してCADソフト110から取得し、当該ファイル名及びファイルの保存場所に従って、直接、外部メモリ211等の記憶装置から線分情報500を取得することとしてもよい。また、避難シミュレーションソフト120は、外部のサーバ等に線分情報500が記憶されている場合、外部のサーバ等から線分情報500を取得することとしてもよい。
S610において、避難シミュレーションソフト120は、S609で受信した線分情報500に基づいて、道オブジェクト及び建物オブジェクトの形状決定処理を実行する。S610の処理の詳細を、図8を用いて説明する。
図8は、オブジェクト形状の決定処理の一例を示すフローチャートである。
S801において、避難シミュレーションソフト120は、S609で受信した線分情報500に含まれる全ての道属性の線分に対して、S802〜S810の処理を実行する制御を行う。
S802において、避難シミュレーションソフト120は、線分情報500から、S802〜S810の処理が行われていない道の線分の情報を新たに1つ取得する。
S803において、避難シミュレーションソフト120は、S802で取得した線分の端点座標を1つ取得する。
S804において、避難シミュレーションソフト120は、線分情報500のうち、S802で取得した線分を除く他の道の線分の端点座標を参照して、S803で取得した線分の端点と同じ位置に端点を持つ線分が他にあるか否か判定する。避難シミュレーションソフト120は、S803で取得した線分の端点と同じ位置に端点を持つ線分が他にあると判定した場合、つまり、S802で取得した線分と繋がっている線分があると判定した場合、S809に処理を進め、S803で取得した線分の端点と同じ位置に端点を持つ線分が他にないと判定した場合、S805に処理を進める。
S805において、避難シミュレーションソフト120は、S803で取得した端点が地図の境界線上にあるか否かを判定する。図9を参照して、線分の端点が地図の境界線上にある状況について説明する。図9は、既に地図上に存在している道の線分の情報に従って道オブジェクトの形状決定をする際の処理の流れを説明する図である。例えば、図9の点Aが、地図の境界線上にある道の線分の端点である。避難シミュレーションソフト120は、S803で取得した端点が例えば図9の点Aのように、地図の境界線上にあると判定した場合、S807に処理を進め、S803で取得した端点が地図の境界線上にないと判定した場合、S806に処理を進める。例えば、避難シミュレーションソフト120は、S803で取得した端点が点Aである場合、S803で取得した端点が地図の境界線上にあるため、S807に処理を進めることになる。
S806において、避難シミュレーションソフト120は、線分情報500に基づいて、S803で取得した端点が建物の線分上にあるか否かを判定する。例えば、図9の点Bが、建物の線分上にある道の線分の端点である。避難シミュレーションソフト120は、S803で取得した端点が例えば図9の点Bのように、建物の線分上にあると判定した場合、S807に処理を進め、S806において、S803で取得した端点が建物の線分上にないと判定した場合、SS811に処理を進める。
S807において、避難シミュレーションソフト120は、線分情報500に基づいて、S803で取得した端点が位置する地図の境界線の線分上、又は建物の線分上に他の道の線分の端点があるか否かを判定する。例えば、図9の点Cが、点Bにとっての、点Bが位置する線分上にある他の道の端点となる。避難シミュレーションソフト120は、S803で取得した端点が位置する線分上に他の道の線分の端点があると判定した場合、S808に処理を進め、S803で取得した端点が位置する線分上に他の道の線分の端点がないと判定した場合、S811に処理を進める。
S808において、避難シミュレーションソフト120は、S803で取得した端点から、S807であると判定された他の道の端点までの仮想の線分の情報を作成して、RAM203、外部メモリ211等に記憶する。避難シミュレーションソフト120は、S803で取得された端点が図9の点Bである場合、S807であると判定するのは図9の点Cであるため、点Bと点Cとをつなぐ仮想の線分(図9でいうL0001K)の情報を作成し、RAM203等に記憶する。
S809において、避難シミュレーションソフト120は、S804であると判定した線分、又は、S808で作成した仮想の線分のIDである線分IDを取得する。具体的には、避難シミュレーションソフト120は、S804であると判定した線分の線分IDを、線分情報500から取得する。また、避難シミュレーションソフト120は、新たに線分IDを決定することで、S808で作成した仮想の線分のIDを取得する。
S810において、避難シミュレーションソフト120は、S809で取得した線分IDを、S802で取得した線分と同一のグループの線分として、RAM203等に記憶する。図5(c)のグルーピング情報550は、S810でグループ毎に記憶される線分情報の一例である。図9の例では、避難シミュレーションソフト120は、S802で取得した線分(点A、Bをつなぐ線分)の線分IDが(L0001)である場合、以下の処理を行う。即ち、避難シミュレーションソフト120は、S808で作成した仮想の線分(点B、Cをつなぐ線分)の線分ID(L0001K)を、線分ID(L0001)と同じグループとしてRAM203等に記憶する。そして、避難シミュレーションソフト120は、S802の処理に戻り、未処理の線分についてS802〜S810の処理を繰り返す。
S811において、避難シミュレーションソフト120は、線分情報500に記憶されている全ての道の線分に対して、S802〜S810の処理を行ったか否かを判定する。そして、避難シミュレーションソフト120は、線分情報500に記憶されている全ての道の線分に対して、S802〜S810の処理を行ったと判定した場合、S812に処理を進める。また、避難シミュレーションソフト120は、線分情報500に記憶されている道の線分の中に、S802〜S810の処理を行っていない線分があると判定した場合、S802に処理を進める。
S812において、避難シミュレーションソフト120は、S810でグループ毎に記憶した線分により特定される形状を、グループ毎の道オブジェクトの形状として決定し、決定した道オブジェクトの形状の情報をRAM203、外部メモリ211等に記憶する。例えばグループ毎に記憶した線分によって囲われた領域を、当該グループ毎に記憶した線分の示す形状として特定する。
S813において、避難シミュレーションソフト120は、S609で受信した線分情報500に含まれる全ての建物属性の線分に対して、S814〜S817の処理を実行する制御を行う。ここでは建物属性の線分の中に、通行口の属性の線分も含むものとする。
S814において、避難シミュレーションソフト120は、線分情報500を参照して、未処理の建物の線分を新たに1つ取得する。
S815において、避難シミュレーションソフト120は、S814で取得した建物の線分の端点座標を1つ取得する。
S816において、避難シミュレーションソフト120は、線分情報500から、S815で取得した座標と同じ座標に端点を持つ他の建物の線分の線分IDを取得する。
S817において、避難シミュレーションソフト120は、S816で取得した線分IDを、S814で取得した線分の線分IDと同じグループとしてRAM203、外部メモリ211等に記憶する。
S818において、避難シミュレーションソフト120は、線分情報500に記憶されている全ての建物の線分に対して、S814〜S817の処理を行ったか否かを判定する。そして、避難シミュレーションソフト120は、線分情報500に記憶されている全ての建物の線分に対して、S814〜S817の処理を行ったと判定した場合、S819に処理を進める。また、避難シミュレーションソフト120は、線分情報500に記憶されている建物の線分の中にS814〜S817の処理を行っていない線分があると判定した場合、S814に処理を進める。
S819において、避難シミュレーションソフト120は、S817でグループ毎に記憶した建物の線分から特定される形状を、グループ毎の建物オブジェクトの形状として決定する。そして、避難シミュレーションソフト120は、決定した建物オブジェクトの形状の情報を、RAM203、外部メモリ211等に記憶する。以上が図8の説明である。
図6の説明に戻る。S611において、避難シミュレーションソフト120は、S610で決定した道オブジェクト、建物オブジェクトの形状の情報をCADソフト110の備えるAPIを用いて、CADソフト110に送信し、当該形状のオブジェクトを作成するよう指示する。S610で決定した建物オブジェクトの形状の情報とは、例えば、S810、S817でグループ毎に記憶された線分から形成される形状の頂点座標の情報である。また、避難シミュレーションソフト120は、CADソフト110の備えるAPIを用いて、道オブジェクトとして形状を決定したオブジェクトについては道であることを示す属性を付与するようにCADソフト110に指示する。また、避難シミュレーションソフト120は、CADソフト110の備えるAPIを用いて、建物オブジェクトとして形状を決定したオブジェクトについては建物であることを示す属性を付与するようCADソフト110に指示する。また、建物オブジェクトの上の通行口属性の線分の端点位置(x,y座標)2つを通行口位置の情報として、建物オブジェクトのプロパティ等に記憶するよう指示する。通行口属性の線分の端点位置の一例を図19の点L、点Mに示す。なお、1つの建物に複数の通行口があった場合に各通行口を識別するために、各通行口の2つの端点の情報をペアとして記憶するよう指示するものとする。例えば、異なる通行口の通行口位置のx,y座標はプロパティの書きこみエリアにおいて改行して書き込み、記憶する。つまり同じ行に記憶されている2つのx,y座標が1つの通行口の端点を示す。
S612において、CADソフト110は、S611でのオブジェクトの作成指示、作成するオブジェクトへの属性の付与指示を受付ける。
S613において、CADソフト110は、S612で受付けたオブジェクトの作成指示に応じてオブジェクトを作成して、属性の付与指示に応じて、作成した各オブジェクトに道であることを示す属性、又は建物であることを示す属性を付与する。また、通行口の端点の値を図5及び図19のオブジェクト情報510の通行口位置に示すように、作成した建物オブジェクトに対応付けて記憶する。そして、CADソフト110は、作成し、属性を付与した各オブジェクトの情報を、RAM203等に記憶する。例えば、図5に示すようなオブジェクト情報510を生成してRAM203に記憶する。この時点では、後述する歩行領域の属性は、オブジェクト情報510の属性には記憶されない。
S614において、避難シミュレーションソフト120は、S611でのオブジェクトの作成指示に応じて作成されたオブジェクトに、歩行領域の属性を付与するようCADソフト110に指示する。歩行領域の属性とは、避難シミュレーションソフト120が避難シミュレーションを行うにあたって、避難する人を示す避難者アイコン(歩行者アイコン)が歩行可能な領域として定義される属性である。本実施形態では、避難シミュレーションソフト120は、歩行領域の属性が付与されたオブジェクトの頂点座標によって囲われている領域を歩行領域として決定する。S614での避難シミュレーションソフト120による歩行領域の属性を有する領域の決定処理は、歩行領域決定処理の一例である。
本実施形態では、避難シミュレーションソフト120は、オブジェクトの作成指示と、歩行領域の属性情報を付与する指示と、をS611、S614で別個に行うこととする。しかし、避難シミュレーションソフト120は、S611で、オブジェクトの作成指示と、作成されるオブジェクトへ歩行領域の属性を付与する指示と、を行うこととしてもよい。
また、本実施形態では、避難シミュレーションソフト120は、S611でのオブジェクトの作成指示に応じて作成されたオブジェクト全てについて、歩行領域の属性の付与を指示することとする。しかし、避難シミュレーションソフト120は、例えば、作成を指示したオブジェクトのうち、道オブジェクトのみに歩行領域の属性を付与するよう指示することとしてもよいし、道オブジェクトの中の特定のもののみに歩行領域の属性を付与するよう指示してもよい。
例えば、図7(a)に示すCADソフト110の表示画面に表示された地図上において、マウスのドラッグ操作等による地図上の範囲選択(範囲指定)を受け付けて、範囲選択がされた状態で「避難場所候補」ボタンの押下を受け付けることで、当該範囲選択された範囲内にオブジェクト全体が収まる道オブジェクトのみに対して、S614で歩行領域の属性を付与するようにする。また、当該範囲選択された範囲内にオブジェクトの一部が含まれる道オブジェクトのみに対して、S614で歩行領域の属性を付与するようにしてもよい。
また、S609で受信して記憶した線分の属性に「工事中」や「通行止め」等、歩行者が歩行できない旨を示す属性が付与されている場合、当該「工事中」、「通行止め」の線分を含んで形状決定された道オブジェクトや建物オブジェクトについてはS611で「工事中」、「通行止め」の属性を付与するようCADソフト110に指示し、S614では、「工事中」、「通行止め」の属性を付与するよう指示したオブジェクト以外の道及び建物のオブジェクトに対して、歩行領域の属性の付与を指示するようにしてもよい。
これにより、避難シミュレーションソフト120は、例えば、工事中等で歩行不可な道を歩行領域にしないようにすることができ、避難シミュレーションにおける避難候補となりうるオブジェクトをより適切に決定することができる。S614の処理は、オブジェクトが歩行領域のオブジェクトであることを決定する領域決定処理の一例である。
S615において、CADソフト110は、S614で行われた、道オブジェクト及び建物オブジェクトへの歩行領域の属性付与の指示を受付ける。
S616において、CADソフト110は、S615で受付けた指示に従って、S613で作成した各オブジェクトの情報に、歩行領域の属性情報を付与して、RAM203等に記憶する。図5のオブジェクト情報510は、S616で記憶される情報の一例である。オブジェクト情報510は、オブジェクトIDと、頂点座標と、属性と、通行口位置の項目を含む。オブジェクトIDの項目の値は、オブジェクトを一意に特定するためのIDである。端点座標の項目の値は、地図上でのオブジェクトの各頂点の座標を示す。頂点座標の項目には、(オブジェクトの1つ目の頂点のx座標値、オブジェクトの1つ目の頂点のy座標値、オブジェクトの2つ目の頂点のx座標値、オブジェクトの2つ目の頂点のy座標値・・・・・)という座標のデータが入力される。頂点座標の項目に示される頂点を順番に結んだ形状が、そのオブジェクトの形状となる。属性の項目は、オブジェクトに付与されている属性を示す。例えば、属性の項目には、道オブジェクトについては、「道」の属性情報、建物オブジェクトについては、「建物」の属性情報が付与入力される。通行口位置の項目の値は、建物オブジェクトの中で通行口の端点座標の(地図上のx,y座標)の値を示す。
そして、CADソフト110は、記憶した情報(例えば、オブジェクト情報510)をRAM203に読み出し、ディスプレイ装置210に表示しているCADソフト110の画面上に配置する。本実施形態においては、地図情報によって道の線分、建物の線分が既に画面上に表示されているため、道オブジェクト、建物オブジェクトは透明なオブジェクトとして生成され、地図上に配置される。
S617において、CADソフト110は、S614の指示に応じて作成したオブジェクトへの歩行領域の属性の付与の処理を完了した旨、及び、歩行領域の属性を付与したオブジェクトの形状や座標の情報を避難シミュレーションソフト120に送信する。
S618において、避難シミュレーションソフト120は、S617で送信された歩行領域のオブジェクトの形状や座標の情報を受信し、RAM203等に記憶する。例えば、図5のオブジェクト情報510をRAM203上に記憶する場合、RAM203は、歩行領域記憶手段の一例である。なお、避難シミュレーションソフト120は、例えば歩行領域のオブジェクトの形状や座標の情報をCADソフト110から受信できない場合、S611で作成指示してS614で歩行領域の属性付与を指示したオブジェクトの位置・形状を、歩行領域の位置・形状として記憶するようにしてもよい。
情報処理装置100は、図6、図8の処理により、地図上に既に配置済みの線分情報が示す道について道オブジェクトを、地図上に既に配置済みの線分情報が示す建物について建物オブジェクトを容易に作成することができる。本実施形態では、情報処理装置100は、図6、図8の処理で道オブジェクト、建物オブジェクトを作成することとしたが、道、建物以外の公園のオブジェクトや、空き地のオブジェクトを作成することとしてもよい。
避難シミュレーションソフト120は、図6、図8の処理で、道オブジェクト、建物オブジェクトを作成することができるものとしたが、建物オブジェクトと道との間に避難者アイコンが移動可能な小道オブジェクトを作成することもできる。それにより、避難シミュレーションソフト120は、避難者アイコンを、建物オブジェクトと道オブジェクトとの間で移動させることができる。当該小道のオブジェクトの作成方法については図10の説明で後述する。
また、避難シミュレーションソフト120は、建物オブジェクトを、道オブジェクトと隣接するように作成することとしてもよい。その場合、避難シミュレーションソフト120は、建物オブジェクトの輪郭の線分の一部又は全部を、避難者アイコンが通過可能な線分であるとして決定することとする。それにより、避難シミュレーションソフト120は、道オブジェクトと建物オブジェクトの線分の一部が重なっている又は密着している場合、道オブジェクトと建物オブジェクトとをつなぐオブジェクトを作成せずに、避難者アイコンを、建物オブジェクトと道オブジェクトとの間で移動させることができる。
また、情報処理装置100は、道オブジェクトや建物オブジェクトのように人が歩行できる場所を示すオブジェクトに対して、容易に歩行領域の属性を設定できる。以上が図6の説明である。
次に、図10を参照して、建物と道をつなぐ新たな道オブジェクトの生成処理の流れについて説明する。
S1001において、CADソフト110は、入力装置209を介したユーザ操作に応じて起動する。
S1002において、CADソフト110は、入力装置209やディスプレイ装置210に表示されるCADソフト110の画面を介したユーザ操作に応じて、避難シミュレーションソフト120を起動させる。また、CADソフト110は、入力装置209を介したユーザの操作に応じて、既に起動している避難シミュレーションソフト120に対して、避難シミュレーションソフト120にシミュレーション処理の実行を指示することとしてもよい。
S1003において、避難シミュレーションソフト120は、S1002でのCADソフト110からの指示に応じて起動し、避難シミュレーションソフト120の設定画面をCADソフト110の画面上に表示する。本実施形態では、避難シミュレーションソフト120は、避難シミュレーションソフト120の設定画面として図7に例示する設定画面720を表示するものとする。
また、既に避難シミュレーションツールが起動済みの場合、避難シミュレーションソフト120は、避難場所の候補の特定処理を、S1004から開始することとしてもよい。
S1004において、避難シミュレーションソフト120は、ディスプレイ装置210に表示される画面、及び入力装置209を介したユーザ操作を受け付ける(操作受付手段の一例)。
S1005において、避難シミュレーションソフト120は、建物と道を繋ぐ(連結する)操作を受け付けたか判定する。例えば、図7(b)の720における「道と連結」ボタンの押下の操作を受け付けたか判定する。「道と連結」ボタンの押下操作を受け付けた場合にはS1006に処理を進める。
S1006において、避難シミュレーションソフト120は、全ての建物オブジェクトに対してS1007からS1023の処理を行う。
S1007において、避難シミュレーションソフト120は、S1008からS1023の処理を未適用の建物オブジェクトを1つ取得する。そして、取得した建物オブジェクトが道と繋がっているか判定する(S1008)。具体的には、建物オブジェクトの各頂点同士を繋いだ外形線上の座標に、道オブジェクトの頂点、道オブジェクトの外形線、道の線分、道の線分の端点のいずれかが重なっているか判定し、重なっていると判定した場合に当該建物オブジェクトが道と繋がっていると判定する。本実施例においては、道の線分の情報を用いて、建物と道が繋がっているか判定するものとする。
建物と道が繋がっていないと判定された場合にはS1024に処理を進め、建物と道が繋がっていると判定された場合にはS1009に処理を進める。
S1009において、避難シミュレーションソフト120は、S1010からS1012までの処理を、S1008で道と繋がっていると判定された建物の全ての頂点に対して実行する。
S1010において、避難シミュレーションソフト120は、オブジェクト情報510を参照して、S1010からS1012の処理を未適用の建物オブジェクトの頂点を1つ特定する。そして、線分情報500(道の線分の端点座標)を参照して、S1010で特定された建物オブジェクトの頂点位置から最も近い位置にある道の線分上の点を特定する(建物オブジェクトに対応する道として特定する道特定手段の一例)。例えば、図11でいう点Fにとって最も近い位置にある道の線分はL0001の線分であり、当該線分上の最も直近の点は点Xである。また、点Eにとって最も近い位置にある道の線分はL0001の線分であり、当該線分上の最も直近の点は点Iである。そして、当該道の線分上の点と建物オブジェクトの頂点との距離を算出して、当該道の線分上の直近の点の位置、当該道オブジェクトのID、当該建物オブジェクトの頂点から当該道の線分上の直近の点までの距離をRAM上に記憶する(S1012)。RAM上に記憶する情報の具体例を図5の建物頂点リスト520に示す。
建物頂点リスト520におけるオブジェクトIDの項目の値は、S1008で道と繋がっていないと判定された建物オブジェクトのIDの値である。頂点座標の項目の値は、オブジェクトIDの示す建物オブジェクトの各頂点の頂点座標(x,y座標)の値である。直近の線分の項目の値は、頂点座標の項目に記憶された頂点座標から最も近い位置にある道の線分のIDである。線分上の点座標の項目の値は、S1010で取得した建物オブジェクトの頂点座標から最も近い位置にある道の線分上の点の位置の値である。距離(m)の項目の値は、建物オブジェクト上の頂点と直近の道上の点との距離の値である。例えば図11でいう点Xと点Fとの間の距離や、点Eと点Iとの間の距離である。
S1013において、避難シミュレーションソフト120は、S1007で取得した建物オブジェクトの全ての頂点に対してS1010からS1012の処理を実行したか判定し、実行済みの場合はS1014に処理を進め、未実行の場合にはS1010に処理を進める。
S1014において、避難シミュレーションソフト120は、S1010からS1013の処理によってRAM上に記憶した、S1007で取得した建物オブジェクトの建物頂点リスト520を取得して参照し、建物頂点リスト520における距離(m)が最も短い頂点座標を取得する。つまり、道との距離が最も近い建物オブジェクトの頂点座標を取得する。
そして、当該頂点座標を基準として、避難シミュレーションソフト120は、S1007で取得した建物オブジェクトと(S1008で道と繋がっていないと判定された建物オブジェクトと)、直近の道とを繋ぐ新たな道の形状を決定する(S1015/道形状決定手段の一例)。道の形状決定の具体例について、図11を参照して説明する。
避難シミュレーションソフト120は、道に最も近い頂点である点Eを特定し、点Eから直近の道L0001に対して直交する仮想の道の線分(L000A)を生成する。また、点Eを端点とする建物の線分のうち、直近の道の線分L0001に対してより平行な(最も近い角度の)、S1007で取得した建物オブジェクトの外形線上に位置する線分(例えばL0003)を取得する。そして、取得した線分のもう1つの端点(例えば点F)が位置する側に、先ほど作成した仮想の線分から所定の距離(例えば1m等、予め決められた道の幅の分だけ)離れた位置に、建物オブジェクトから道L0001に対して直交する仮想の道の線分(L000B)を生成する。その後、点E、点I及び、L000Bと道L0001との交点K、L000Bと建物オブジェクトとの交点Jを頂点座標としたOb000Yに示す形状を、地図上に新たに作成する道の形状として決定してメモリに記憶する。例えば当該道の形状を形成する頂点座標(点E、点I、点K、点J)それぞれのx,y座標をメモリに記憶する。なお、新たに生成する道の幅の情報については、予め情報処理装置100の外部メモリに適切と思われる幅の値が記憶されているものとする。
S1016において、避難シミュレーションソフト120は、決定した新たな道の形状の頂点座標をCADソフト110に送信し、当該頂点座標を繋いだ形状のオブジェクトを生成するよう、CADソフト110のAPIを用いてCADソフト110に指示する。また、作成したオブジェクトに対して、道の属性を付与するよう指示する(道生成制御手段の一例)。
S1017において、CADソフト110は当該指示を受け付け、指示された座標値から特定される位置に、座標値から特定される形状のオブジェクトを生成する(S1018/例えば図11のOb000Y)。そして生成したオブジェクトに道の属性を付与する。
S1019において、避難シミュレーションソフト120は、S1016で生成するよう指示した新たな道のオブジェクトに対して、歩行領域の属性を付与するよう、CADソフト110の備えるAPIを用いてCADソフト110に指示する(属性付与制御の一例)。
S1020において、CADソフト110は当該歩行領域の属性付与の指示を受け付け、S1021において、S1018で生成した新たな道のオブジェクトに対して歩行領域の属性を付与する。
S1022において、CADソフト110は、S1019の指示に応じて歩行領域の属性の付与の処理を完了した旨、及び、歩行領域の属性を付与したオブジェクトの形状や座標の情報を避難シミュレーションソフト120に送信する。
S1023において、避難シミュレーションソフト120は、S1022で送信された歩行領域のオブジェクトの形状や座標の情報を受信し、RAM203上のオブジェクト情報510に追加して記憶する。なお、避難シミュレーションソフト120は、例えば歩行領域のオブジェクトの形状や座標の情報をCADソフト110から受信できない場合、S1016で作成指示してS1019で歩行領域の属性付与を指示したオブジェクトの位置・形状を、歩行領域の位置・形状としてオブジェクト情報510に追加して記憶するようにしてもよい。以上が図10の説明である。
図10の処理によれば、道と繋がっていない建物と近くの道を、新たな道で容易に繋ぐことができる。
また、適切な幅の道オブジェクトを、地図上に実際に作成して配置することができる。
また、新たに作成した道オブジェクトに対して容易に歩行領域の属性を設定できる。
よって、建物オブジェクトと建物オブジェクトの近くの道とを歩行者が移動させることができる地図を作成することができる。
また、例えばS1023の直後に、避難シミュレーションソフト120が、S1018で新たな道が生成された地図上の位置を識別表示するために、当該新たに生成された道オブジェクトの重心位置を中心とした所定の大きさの識別表示用のオブジェクト(図12でいう1211等)を作成するよう、CADソフト110のAPIを用いてCADソフト110に指示し、CADソフト110が当該指示に応じて識別表示用のオブジェクトを地図上に生成して地図上に表示するようにしてもよい(識別表示制御手段の一例)。これにより、地図上のどの位置に新たに道が作成されたかをユーザに分かり易く提示することができる。当該識別表示前後の様子の一例を図12の1200、1210に示す。
<第2の実施形態>
以下、図13、14を参照して第2の実施形態について説明する。なお、第1の実施形態と共通の処理については説明を省略する。第2の実施形態においては通行口の幅に応じた道幅の道オブジェクトを生成する。
避難シミュレーションソフト120は、S1003〜S1008の処理を実行し、S1008において、S1007で取得した建物が道と繋がっていないと判定された場合にS1301の処理を実行する。
S1301において、避難シミュレーションソフト120は、S1008で道と繋がっていないと判定された建物オブジェクトに通行口があるか判定する。例えば、オブジェクト情報510でいう通行口位置の項目に、2つ以上のx,y座標のペアが挿入されている場合に、通行口があると判定する。
通行口がないと判定された場合はS1009に処理を進める。一方、通行口があると判定された場合はS1302に処理を進める。
S1302において、避難シミュレーションソフト120は、S1007で取得した建物オブジェクトの全ての通行口(通行口の端点座標のペア)に対してS1303からS1305の処理を行う。
S1303において、避難シミュレーションソフト120は、S1304からS1305の処理を未適用の通行口の端点座標のペア(図5の510の通行口位置の値)を取得する。つまり、2つの端点座標の示す幅である通行口の幅を特定する(幅特定手段の一例)。そして、取得した通行口の端点座標のそれぞれについて最も近い道の線分を特定する。特定された道の線分が異なる場合には、端点座標から道までの距離がより短い道の線分情報を取得して(S1304)、通行口位置と対応付けてRAM上に記憶する(S1305)。例えば図14の1400のようなテーブルをRAM上に作成し、1410に示すように、点P及び点Oを示す通行口位置と対応付けてL0001の道の線分情報を、ペアとして記憶する。
S1306において、避難シミュレーションソフト120は、S1008で道と繋がっていないと判定された建物オブジェクトにある全ての通行口に対してS1303からS1305の処理を適用したか判定し、適用済みの場合はS1307に処理を進め、未適用の通行口がある場合にはS1303に処理を進める。
S1307において、避難シミュレーションソフト120は、RAM上に記憶されている全ての通行口と道の線分情報とのペアを取得し、S1308において、全ての通行口から各通行口に対応する道繋げる新たな道の形状決定処理を行う(S1308)。
図14を参照して、通行口がある場合における、通行口から建物と道をつなぐ新たな道オブジェクトの形状決定の流れについて説明する。
避難シミュレーションソフト120は、各通行口位置のx,y座標から、当該x,y座標が示す位置にある建物オブジェクトの線と直交する仮想の道の線分を直近の道(例えば図14の点O、点PにとってのL0001)の方向に向けて生成して、当該仮想の道の線分と直近の道L0001が交わる交点を特定する。例えば図14でいう点Qと点Rを特定する。そして、通行口位置の端点と、当該特定した点を頂点座標とする形状を新たに生成する道のオブジェクトの座標として決定する。つまり、通行口の幅に応じて、通行口の幅と同じ幅の新たな道オブジェクトを生成することを決定する。
また、図14の点S、点Tのように、点が位置する建物オブジェクトの線と直交する仮想の道の線を生成した場合に、当該仮想の線が直近の道L0001と交わらない場合は、当該仮想の線上の位置であって、当該建物オブジェクトの線上にある通行口の点S及び点Tから所定距離の位置(点W、点Xの位置)を特定する。当該所定距離の条件は、例えば建物から1m離れた位置に新たな道を生成するという条件値であるものとする。つまり、点Sから1mの位置にある点Xと、点Tから1m離れた位置であり且つ道幅1mを確保するために、更に1m離れた位置(点Tから2m離れた位置)である点Wを特定するものである。そして、当該店W、点Xからそれぞれ直近の道L0001に対して直交する仮想の道の線分を生成し、当該仮想の道の線分と道L0001が交わる点Uと点Vを特定する。避難シミュレーションソフト120は、点S、点T、点W、点U、点V、点Xを新たな道の形状(その頂点)として決定する。
避難シミュレーションソフト120は、処理をS1016に進め、S1308で形状決定した道のオブジェクトを生成するようCADソフト110に指示する。その後、前述したS1017以降の処理を各ソフトウェアが実行することで、地図上に、図14に示すOb000Z1、Ob000Z2に示すような新たな道オブジェクトを生成する。
上述した処理により、道と繋がっていない建物の通行口の幅に応じた道幅の道オブジェクトを生成し、建物と道とを新たな道でつなぐことができる。
<第3の実施形態>
以下、図15、16を参照して第3の実施形態について説明する。なお、第1の実施形態、第2の実施形態と共通の処理については説明を省略する。第3の実施形態においては、新たに生成した道と建物が重なっている旨を通知する。
避難シミュレーションソフト120は、図10のS1003からS1013までの処理を実行した後、S1501の処理を実行する。
S1501において、避難シミュレーションソフト120は、S1012でメモリに記憶した頂点の中から、S1502の処理を未適用の頂点で、直近の道との距離が最も近い頂点を1つ取得する。そして当該頂点と直近の道(図11でいうL0001)との間に、当該頂点を備える建物とは別の建物(他の建物)があるか判定する(建物存否判定手段の一例)。具体的には、S1501で取得した頂点と直近の道を繋ぐ位置に仮想の線分を生成して(候補位置特定手段の一例)、当該仮想の線分と重なる建物オブジェクトがある場合に、当該頂点と直近の道との間に他の建物があると判定する。当該頂点と直近の道との間に他の建物がない場合にはS1507に処理を進める。当該頂点と直近の道との間に他の建物がある場合には、当該頂点の値を別途メモリに記憶して、S1503に処理を進める。
S1503において、避難シミュレーションソフト120は、S1012でメモリに記憶した頂点全てにS1502の処理を適用したか判定し、全ての頂点に処理を適用済みの場合はS1015に処理を進める。つまり、他の建物と重ねることなく新たな道を作成できないと判定した場合にS1015に処理を進める。S1502の処理を未適用の頂点がある場合はS1501に処理を進める。
S1507において、避難シミュレーションソフト120は、S1502で直近の道との間に他の建物がないと判定された頂点と当該直近の道の位置とを用いて(基準として)、例えば、第1の実施形態におけるS1015の手法と同じ手法で新たな道を生成する。その後、図10のS1016に処理を移行する。つまり、新たな道を生成した場合に当該新たな道が他の建物と重なるかを判定し、他の建物と重ならない道を地図上に生成することができる。他の建物と重ならないよう道を生成した様子の一例を図16の1620に示す。
S1015において、避難シミュレーションソフト120は、S1502で直近の道との間に他の建物がある頂点としてメモリに記憶した頂点のうち、直近の道との間の距離が最も近い(短い)頂点を特定して、当該直近の道との間の距離が最も近い(短い)頂点を使って、第1の実施形態の説明においてS1015で上述した方法で新たな道の形状を決定する。その後、処理をS1016に進める。S1016からS1024の処理は第1の実施形態の説明で上述した内容と同じであるため説明を割愛する。
避難シミュレーションソフト120は、S1024の処理実行後S1504の処理を実行する。S1504において、避難シミュレーションソフト120は、新たに生成した道と他の建物が重なっている旨を示す識別表示をするよう、CADソフト110に指示する。具体的には、当該道と建物が重なっている位置(x,y座標)を特定してCADソフト110に送信し、当該道と建物が重なっている位置を中心にして識別表示用のオブジェクト(例えば図16の1611)を作成、配置するようCADソフト110に指示する。S1505において、CADソフト110は当該指示を受け付け、S1506において、当該指示に従って識別表示用のオブジェクトを地図上に生成して表示する。識別表示用のオブジェクトを地図上に生成した例を図16の1610に示す。
これにより、新たに生成した道と建物が重なっている事実及び重なっている位置をユーザに通知することができる。
<第4の実施形態>
以下、図17、18を参照して第4の実施形態について説明する。なお、第1の実施形態、第2の実施形態、第3の実施形態と共通の処理については説明を省略する。第4の実施形態においては、道と繋がっていない建物の中で、歩行者のアイコンが配置され、実際にシミュレーションに使われるであろう建物と近くの道を、新たな道で容易に繋ぐことができる。
避難シミュレーションソフト120は、図10のS1003からS1008までの処理を実行した後、S1701の処理を実行する。
S1701において、避難シミュレーションソフト120は、歩行者アイコン(避難者アイコン)の情報を外部メモリ211から読み込む。ここでは、歩行者アイコンは既に地図上に配置されている(歩行者のアイコンが地図に生成済み)であり、歩行者アイコンの配置されている位置の情報は外部メモリ211に記憶されているものとする。歩行者アイコンの情報の一例を図5の530に示す。
歩行者アイコン情報530のアイコンIDは、歩行者アイコン(歩行者のオブジェクト)の識別情報である。速度(m/秒)は、シミュレーションにおいて各歩行者アイコンが目的地に向かって移動する移動速度である。位置は歩行者アイコンが配置されている地図上の位置を示す。
歩行者アイコンは、例えば、別途外部メモリに記憶されている人口密度情報540のような情報に従って、地図上の建物内に生成・配置される。例えば、避難シミュレーションソフト120が建物オブジェクトを1つ特定し、特定した建物オブジェクトの座標値から建物の面積を算出する。そして、人口密度情報540に記憶されている人口密度の情報に応じて、当該建物内に歩行者アイコンを生成して配置するようCADソフト110に指示する。例えば、建物の面積が10平方メートルである場合は1つの歩行者アイコンを生成して当該建物内に配置するよう指示する。建物の面積が20平方メートルである場合は2つの歩行者アイコンを生成して当該建物内に配置するよう指示する。当該指示を受け付けたCADソフト110は、当該指示に従って歩行者アイコン(オブジェクト)を生成して、建物内の所定の位置に歩行者アイコンを生成し、当該歩行者アイコンを生成した位置を、各歩行者アイコンの位置として歩行者アイコン情報530に記憶する。例えば建物内のx,y座標が最小の座標から、歩行者アイコンを並べて配置するよう歩行者アイコンの位置を決定して記憶する。移動速度の情報は所定の上限値及び下限値の間で避難シミュレーションソフト120が決定して記憶する。
S1702において、避難シミュレーションソフト120は、S1007で取得され、S1008で道と繋がっていないと判定された建物に歩行者アイコンが配置されているか判定する。歩行者アイコンが配置されていない場合、S1024に処理を進める。つまり、道と繋がっていない建物ではあるが、歩行者アイコンが配置されていないことから避難シミュレーションに使われない建物であると判断し、当該建物と近くの道をつなぐ処理をスキップする。一方、建物内に歩行者アイコンが配置されている場合、S1009に処理を進める。つまり、建物内に歩行者アイコンが配置されているため、実際に避難シミュレーションに使われる建物であると判断し、当該建物と近くの道をつなぐ新たな道オブジェクトの作成処理を進める。
S1702の判定結果による、道と繋がっていない建物に対する新たな道オブジェクトの生成の様子を図18に示す。図18の1800から1810への地図の遷移に示すように、道と繋がっていない建物オブジェクト1802〜1803のうち、歩行者オブジェクト1801が配置されていない建物オブジェクト1803、1804については新たな道を生成することなく、歩行者オブジェクト1801が配置されている建物オブジェクト1802は直近の道との間に新たな道を生成している。
これにより、道と繋がっていない建物の中で、歩行者のアイコンが配置され、実際にシミュレーションに使われるであろう建物と近くの道を、新たな道で容易に繋ぐことができる。つまり、シミュレーションに不要な建物については、道の生成処理を省略することができ、コンピュータの処理負荷を軽減することができる。また、避難シミュレーションを行うにあたり読み込んだ地図において、道が繋がっていない建物がある場合に、建物内に配置した避難者が道に出られず、適切にシミュレーションを行うことができなくなってしまうという問題を解決することができる。
以上説明したように、本発明によれば、道と繋がっていない建物と近くの道を、新たな道で容易に繋ぐことができる。
また、適切な幅の道オブジェクトを、地図上に実際に作成して配置することができる。
例えば、特許文献1の技術のように、スマートフォン等における室内の経路のナビゲーションを想定している場合、道のオブジェクトを地図上(室内)に生成する必要はない。室内は人が自由に移動できる空間であることは分かっているため、むしろ道のオブジェクトを生成して表示してしまうと不自然と思われる。例えば、ルート検索を行った段階で、出発点から目的地までのルートを示すラインを地図上に表示すれば十分と考えられる。しかし、避難シミュレーションにおいては、例えば避難の経過を確認するために、避難者が建物等から避難目的地に向かって移動する様子を動画等で確認することがある。よって、道オブジェクトを生成しないままシミュレーションを行うと、地図上において道が存在しない場所を避難者が移動する様子が表示され、不自然に感じられる場合がある。また、この不自然さに起因して、本当に正しくシミュレーションがされているか確認する作業が発生することが考えられる。本発明においては、より自然なシミュレーション結果をユーザに提示し、余計な作業の手間を削減するために、実際に地図上で視認できる(道幅のある)道のオブジェクトを生成・配置している。
また、本発明によれば、新たに作成した道オブジェクトに対して容易に歩行領域の属性を設定できる。
よって、建物オブジェクトと建物オブジェクトの近くの道とを歩行者が移動させることができる地図を作成することができる。
<その他の実施形態>
上述した実施形態においては、避難シミュレーションソフト120が、S606で所定の属性を持つ線分情報を要求して、CADソフト110が、S608で当該要求に応じた線分情報を避難シミュレーションソフト120に送信し、避難シミュレーションソフト120がこれを記憶するもとしたが、避難シミュレーションソフト120がCADソフト110に地図データの全ての線分情報を要求して受信し、受信した線分情報の中から所定の属性(例えば道、建物の属性)を持つ線分を抽出して500に示すような線分のリストを作成して、S609でメモリ上に記憶するようにしてもよい。
また、上述した実施形態では、道と繋がっていない建物に対応する道として、当該建物上の頂点から最も近い位置にある道を特定したが、他の道を特定するようにしてもよい。例えば、建物上の所定の辺(線分)を特定して、当該建物上の線分と最も角度の近い(より並行な)道の線分を特定し、さらに特定した線分のうち当該建物に最も近い位置にある道の線分を建物と繋げる道として特定するようにしてもよい。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としても実装可能であり、具体的には、複数の機器から構成されるシステムとして実装してもよいし、また、1つの機器からなる装置として実装してもよい。
例えば、本発明は、次のような情報処理システムとして実装することができる。即ち、シミュレーション処理の実行指示を外部装置から受け付け、シミュレーションを実行し、実行結果を指示元に送信するサーバと、サーバにシミュレーション処理の実行を指示し、実行結果を受信する情報処理装置と、を含む情報処理システムとして実装できる。
図20は、情報処理システムのシステム構成の一例である。情報処理システムは、ネットワーク(例えばLAN)を介して相互に接続されるサーバ200と情報処理装置100とを含む。図20において、情報処理装置100は単体であるものとしているが、複数の情報処理装置を含むシステムであってもよい。また、サーバ200は単体であるものとしているが、複数のサーバを含むシステムであってもよい。なお、サーバ200のハードウェア構成は、図2と同様である。
また、2000におけるサーバ200の機能構成は、図3と同様である。但し、識別表示指示受付部314、識別表示部315は、クライアント装置である情報処理装置が備えるものとし、サーバ200の識別表示指示部327は、クライアント装置の識別表示指示受付部314に識別表示の指示をするものとする。
サーバ200のCPUが、サーバ200のROM又は外部メモリに記憶されたプログラムに基づき処理を実行することで、図3の機能及び上述した各図のフローチャートの処理が実現される。
例えば、クライアント装置である情報処理装置100がサーバ200にアクセスし、サーバ200で起動したCADソフト110及び避難シミュレーションソフト120の画面情報(サーバ200で作成された画面の情報)を、例えば情報処理装置100のブラウザソフト等で表示可能なhtml情報としてサーバ200から取得して表示し、表示画面に表示する。同様の方法で、図4、図7、図12、図16、図18等の地図情報を情報処理装置100の表示画面で表示する。その他、建物オブジェクトの特定や、特定した建物が道と繋がっているかの判定、新たな道オブジェクトの生成等の処理は、サーバ200のCADソフト110、避難シミュレーションソフト120が実行する。
サーバ200が複数の情報処理装置を含むシステムである場合、サーバ200に含まれる各情報処理装置のCPUが、各情報処理装置のROM又は外部メモリに記憶されたプログラムに基づき、連携して処理を実行することで、図3の機能が実現される。また、上述した各図のフローチャートの処理が実現される。
また、例えば、2010に示すように、情報処理装置100にCADソフト110が、サーバ200に避難シミュレーションソフト120がインストールされている場合、叙述した各フローチャートで情報処理装置100がそれぞれのソフトの機能を用いて実行している処理を、それぞれの装置が都度通信することで、それぞれの装置にインストールされているソフトの機能を用いて実行するものとする。この場合、図5に示す各種情報は情報処理装置100及びサーバ200の両方に記憶されているものとし、いずれか一方の装置がデータを更新する都度、両装置間で図5の各種データの同期を取るものとする。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給するものを含む。そして、そのシステム又は装置に含まれるCPUが前記供給されたプログラムコードを読み出して実行することによっても達成されることとしてもよい。
したがって、本発明の機能及び処理をコンピュータで実現するために前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW等がある。また、プログラムを供給するための記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)等もある。
その他、プログラムの供給方法としては、次のような方法がある。即ち、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、接続したホームページから本発明のコンピュータプログラムを、ハードディスク等の記録媒体にダウンロードする方法である。また、接続したホームページから本発明のコンピュータプログラムの自動インストール機能を含む圧縮されたファイルをダウンロードする方法である。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOS等が、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。