以下、図面を用いて本発明の実施の形態を説明する。
図1は、本発明の実施形態の屋内空間データ作成支援システムの構成を示すブロック図である。
本実施形態の屋内空間データ作成支援システム100は、PC(Personal Computer)のような一般的な計算機上で、後述するプログラムを実行することによって実現される。具体的には、屋内空間データ作成支援システム100は、制御部110、表示部120、指示部130、屋内空間データ記憶部141、建築図面データ記憶部142及び記号データ記憶部143を備える。
制御部110は、計算機のプロセッサ及びそのプロセッサに接続されるメモリに相当する。本実施形態の制御部110は、建築図面データ入力部111、作図補助要素除去部112、記号抽出処理部113、部屋抽出処理部114、トポロジー構築処理部115及び屋内空間データ出力部を含む。これらは、メモリに格納され、プロセッサによって実行されるプログラムに相当する。したがって、以下の説明において上記の各部が実行する処理は、実際には、プログラムを実行する制御部110によって実行される。上記の各部が実行する処理については後述する。
表示部120は、制御部110に接続され、制御部110からの指示に従ってテキストまたは図面等を表示するディスプレイ装置である。
指示部130は、制御部110に接続される、マウス及びキーボードのような入力装置である。
屋内空間データ記憶部141、建築図面データ記憶部142及び記号データ記憶部143は、ハードディスクドライブのような記憶装置に格納されたファイルまたはデータベースである。各部に格納されるデータについては後述する。
図2は、本発明の実施形態における屋内空間データの表現モデルの説明図である。
本実施形態では、屋内空間をフロアごとに分割して管理するフロア分割モデルを採用する。各フロアの全体形状及び各フロアを構成する各部屋の形状は、2次元ポリゴンによって表現される。なお、本実施形態において、各フロアを構成する、壁等によって仕切られた、面積を持った領域を部屋と記載する。すなわち、通常の部屋のほか、廊下、階段、エレベータ等が部屋と記載される。各部屋がさらに小さい領域に分割され、それらの領域ごとに管理されてもよい。
各フロアの高さ方向の情報は、フロア階数のような属性として管理される。
図中に丸い点(または二つの丸い点及びそれらを接続する線)として表示される部屋間リンクは、フロア内の部屋間を接続するリンクである。言い換えると、部屋間の開口部が部屋間リンクに相当する。この開口部は、開閉可能なドアまたは窓のような建具であってもよいし、閉めることができない単なる開口部であってもよい。
図中に四角い点(または二つの四角い点及びそれらを接続する線)として表示されるフロア間リンクは、それぞれが互いに異なるフロアに属する部屋を接続するリンクである。言い換えると、フロア間の開口部がフロア間リンクに相当する。例えば、エレベータまたは階段等がフロア間リンクに相当する。
図2の例において、建物200は四つのフロア、すなわち1階210、2階220、3階230及び屋上240からなる。2階220(フロア220とも記載する。他のフロアについても同様)は、七つの部屋、すなわち部屋201〜207からなる。これらのうち部屋204はその他の全ての部屋に接する廊下である。部屋206はエレベータであり、後述するフロア間リンクに対応する。
部屋201、202、203、205、206及び207は、それぞれ、部屋間リンク261、262、263、264、265及び266によって部屋204に接続される。これらの部屋間リンク261〜266は、例えば部屋と廊下またはエレベータと廊下を接続するドアである。
1階210の部屋106はフロア間リンク271を介して2階220の部屋206と接続される。2階220の部屋206はフロア間リンク272を介して3階230の部屋306と接続される。3階230の部屋306はフロア間リンク273を介して屋上240の部屋406と接続される。これらのフロア間リンク271〜273は、フロア間を接続するエレベータである。部屋106、206、306及び406は、それぞれのフロアにおけるエレベータに相当する部屋である。
なお、図2では省略されているが、実際には、部屋と屋外とを接続する屋内外リンク(例えば部屋から屋外に通じるドアまたは窓)も存在する。
図3は、本発明の実施形態における屋内空間データの管理方法の説明図である。
本実施形態の屋内空間データは、空間の包含関係及び接続関係のようなトポロジーを表現することができる。具体的には、施設(建物)、フロア及び部屋を階層的に管理することによって、包含関係が表現される。部屋をノード、部屋間の開口部をリンクとみなしたネットワークによって接続関係が表現される。
図3(a)は、包含関係の説明図である。建物200(Building A)は、フロア210(Floor1)、フロア220(Floor2)及びフロア230(Floor3)等を包含する。フロア220は、部屋201(Room201)、部屋202(Room202)、部屋203(Room203)及び部屋204(Room204)等を包含する。これらの包含関係は、図2に表示されたものと対応する。ただし図3(a)では部屋205(Room205)等の図示が省略されている。なお、図3(a)及び後述する図3(b)の楕円中に記載された文字(すなわち上記の括弧内の文字)は、屋内空間データによって管理される建物、フロア及び部屋の識別子である。
図3(b)は、接続関係の説明図である。部屋201(Room201)、部屋202(Room202)、部屋203(Room203)、部屋205(Room205)、部屋206(Room206)及び部屋207(Room207)は、それぞれ、部屋間リンク261、262、263、264、265及び266を介して部屋204(Room204)と接続される。部屋206は、フロア間リンク271を介して部屋106(Room106)と、フロア間リンク272を介して部屋306(Room106)と、それぞれ接続される。なお、部屋106はフロア210におけるエレベータに相当する部屋、部屋306はフロア230におけるエレベータに相当する部屋である。これらの接続関係は、図2に表示されたものと対応する。
なお、図3では省略されているが、実際には、部屋と屋外とを接続する屋内外リンクも存在する。
上記のような包含関係及び接続関係を記述する屋内空間データの形式については後述する(図9及び図10参照)。
図4は、本発明の実施形態のリンクに対応する設備の管理方法の説明図である。
本実施形態において、屋内に設置される設備は、建具と階段に大きく分類される。
建具は、ドアまたは窓のような、部屋間の開口部に設置される設備である。建具は、部屋間リンクまたは屋内外リンクに対応付けて管理される。玄関ドアは、部屋(玄関)と屋外とを接続する屋内外リンクである。屋外に面する窓は、屋内外リンクであるが、通行不可のリンクとして表現される。
階段は、フロア間を接続する設備である。本実施形態では、通常の階段のほか、エレベータ等も階段として分類される。階段は、フロア間リンクに対応付けて管理される。
例えば、部屋201と部屋204との間にドア401が設置されている場合、ドア401は、部屋201と部屋204とを接続する部屋間リンク261に対応付けて管理される(図4(a)参照)。
一方、部屋206と部屋106とが階段411によって接続されている場合、階段411は、部屋206と部屋106とを接続するフロア間リンク271に対応付けて管理される(図4(b)参照)。
なお、図4(b)に示すように、階段(図2の例ではエレベータ)411は、フロア間を接続する(すなわちフロア間リンク271に対応する)設備として扱われるが、それが各フロア内に占める空間は、部屋106及び206(すなわちノード)として扱われる。
上記のような対応関係を記述する屋内空間データの形式については後述する(図10参照)。
図5は、本発明の実施形態の建築図面データ記憶部142に格納される建築図面データの説明図である。
図5は、建築用の2次元CAD(Computer Aided Design)の平面図データの例である。本実施形態の屋内空間データ作成支援システムには、例えばこのような建築図面データが入力される。以下、現在実際に普及している建築用のCADを一例として説明するが、本実施形態は、以下の説明と異なる仕様のCAD図面(例えば、3次元CAD図面など)にも適用することができる。
図5の例では、平面図はフロアごとに分割され、1図面が1ファイルとなるようにデータが作成される。建築要素(例えば柱、壁、及びドア等)の記号は、独立した線分の集合として入力されてもよいし、ポリゴンとして入力されてもよい。ドア、窓、及びエレベータ等の設備の記号は、JIS規格などで規定される。1図面が複数のレイヤを含んでもよいが、建築要素の種類ごとにレイヤが分類されるとは限らない。
図面には、作図補助要素、すなわち、実際の建築物中には存在しない基準線及び寸法線などが含まれる。
図5は、図2のフロア220のCAD図面の例である。すなわち、フロア220は部屋201、202、203、204、205、206及び207を含む。各部屋は、壁(例えば壁551)、柱(例えば柱541)、窓(例えば窓511)及びドア(例えばドア401)等によって囲まれている。ドア401、402、403、404及び405は、それぞれ、部屋間リンク261、262、263、264及び266に対応する。部屋(エレベータ)206を囲む壁の開口部505は、部屋間リンク265に対応する。
部屋201、202、203、205及び207には、それぞれ、屋外に面する窓511、512、513、514及び515が設置される。これらの窓は屋外に接続される開口部であるが、利用者がこれらを通行することはできない。
図5の図面は、さらに寸法線521及び基準線531のような作図補助要素を含む。図5に示す図面タイトル561及び寸法571のような文字情報(図5の例では「4,000」及び「2,000」)も作図補助要素である。図面タイトル561は、例えば、建物名、フロア名及び縮尺等を含む。図5では省略されているが、図面に図面枠が含まれる場合、その図面枠も作図補助要素である。
図6は、本発明の実施形態の建築図面データに含まれる図形要素データの説明図である。
点(Point)601は、点座標(x,y)によって表現される(図6(a)参照)。
円(Circle)602は、中心点座標(x,y)及び半径rによって表現される(図6(b)参照)。
円弧(Arc)603は、中心点座標(x,y)、半径r、円弧の開始角度θ1及び円弧の終了角度θ2によって表現される(図6(c)参照)。
線分(Line)604は、始点座標(x1,y1)及び終点座標(x2,y2)によって表現される(図6(d)参照)。
ポリライン(Polyline)605は、ポリライン605を構成する線分の始点及び終点の座標列(x1,y1)、(x2,y2)、(x3,y3)、・・・によって表現される(図6(e))。
ポリゴン(Polygon)606は、頂点の座標列(x1,y1)、(x2,y2)、(x3,y3)、・・・によって表現される(図6(f)参照)。
なお、ポリゴンは、ポリラインと、そのポリラインが閉じていることを示すフラグと、によって表現されてもよい。あるいは、ポリゴン及びポリラインは、線分の集合として表現されてもよい。
図7は、本発明の実施形態の記号データ記憶部143に格納される記号データの説明図である。
図7には、両開き扉710(図7(a))、片開き扉720(図7(b))、引き違い戸730(図7(c))、両開き窓740(図7(d))、引き違い窓750(図7(e))及びエレベータ760(図7(f))の記号データの例を示す。これらは図6に示した図形要素データの組み合わせによって表現される。例えば、両開き扉710は、円弧711、円弧712、線分713及び線分714の組み合わせによって表現される。記号データ記憶部143に格納される記号データの形式については、図11を参照して後述する。
図7は代表的な例に過ぎず、記号データ記憶部143にはさらに多くの建築要素の記号データが格納されてもよい。
図7に示したドア(扉)、窓及びエレベータ等の設備の記号は、JIS(日本工業規格)によって規定されている。本実施形態は、JISに準拠した記号を含む建築図面が入力される例を示す。しかし、JISに準拠しない記号を含む建築図面が入力された場合であっても、そのような記号の図形要素データが記号データ記憶部143に格納されていれば、本発明を実現することができる。
図8は、本発明の実施形態の建築図面データ記憶部142から入力される図形データ構造の説明図である。
例えば、利用者がこれから屋内空間データを作成しようとする建物を指定すると、指定された建物の建築図面の図形データが建築図面データ記憶部142に格納されたファイルなどから読み出され、制御部110に入力される(後述する図12のステップ1201参照)。図8は、このようにして入力される図形データの一例である。
図8に示す図形データ800は、図形ID801、レイヤ名802、図形種別803及び図形パラメータ804を含む。
図形ID801は、図形データ800に含まれる各図形の識別子である。
レイヤ名802は、各図形が描かれたレイヤの番号である。
図形種別803は、各図形の種別を表す。この種別は、図6に示した図形要素の種別に相当する。
図形パラメータ804は、各図形を表現するためのパラメータである。このパラメータは、図6に示した図形要素を表現するための座標、半径及び角度等に相当する。図6に示したように、図形の種別によって必要なパラメータの種類及び数が異なる。
制御部110は、図形データ800を入力されると、後述する図12等に示す処理を実行することによって屋内空間データを作成し、出力する。出力されたデータは、屋内空間データ記憶部141に格納される。
図9及び図10は、本発明の実施形態の屋内空間データ記憶部141に格納される屋内空間データの説明図である。
図9(a)は、屋内空間データに含まれる建物データ(建物管理テーブル900)の説明図である。
建物管理テーブル900は、建物ID901、建物名902及びジオメトリ903を含む。
建物ID901は、各建物の識別子である。例えば、建物200の識別子「Building A」が建物200に対応する建物ID901として格納される。
建物名902は、各建物の名前である。
ジオメトリ903は、各建物の全体の形状及び位置を示す情報である。
図9(b)は、屋内空間データに含まれるフロアデータ(フロア管理テーブル920)の説明図である。
フロア管理テーブル920は、フロアID921、フロア名922、ジオメトリ923、フロア階数924及び建物ID925を含む。
フロアID921は、建物内の各フロアの識別子である。例えば、フロア220の識別子「Floor2」がフロア220に対応するフロアID921として格納される。
フロア名922は、各フロアの名前である。例えば、フロア220が2階である場合、フロア220に対応するフロア名922として「2F」が格納される。
ジオメトリ923は、各フロアの全体の形状及び位置を示す情報である。
フロア階数924は、各フロアの階数を示す。例えば、フロア220が2階である場合、フロア220に対応するフロア階数924として「2」が格納される。
建物ID925は、各フロアを包含する建物の識別子である。例えば、フロア220が建物200の2階である場合、フロア220に対応する建物ID925として、建物200の識別子「Building A」が格納される。
図9(c)は、屋内空間データに含まれる部屋データ(部屋管理テーブル940)の説明図である。
部屋管理テーブル940は、部屋ID941、部屋名942、部屋種別943、ジオメトリ944、建物ID945及びフロアID946を含む。
部屋ID941は、フロア内の各部屋の識別子である。例えば、部屋203の識別子「Room203」が部屋203に対応する部屋ID941として格納される。
部屋名942は、各部屋の名前である。
部屋種別943は、各部屋の種別、例えば、各部屋が通常の部屋、廊下、階段またはエレベータのいずれであるかを示す情報である。
ジオメトリ944は、各部屋の形状及び位置を示す情報である。
建物ID945は、各部屋を包含する建物の識別子である。
フロアID946は、各部屋を包含するフロアの識別子である。
例えば、部屋203が建物200のフロア220にある場合、建物200の識別子「Building A」及びフロア220の識別子「Floor2」が、それぞれ、部屋203に対応する建物ID945及びフロアID946として格納される。
建物ID925、945及びフロアID946によって、図3(a)に示したような建物、フロア及び部屋の包含関係が表現される。
なお、ジオメトリ903、923及び944は、例えば図6に示した図形要素によって表現される。すなわち、ジオメトリ903等として、図形の種類を示す値(例えば「ポリゴン」)と、その位置を示すパラメータ(例えば座標列)が格納される。これらの値は、実際にはバイナリ形式で格納されてもよい。
図10(a)は、屋内空間データに含まれるリンクデータ1000の説明図である。
リンクデータ1000は、リンクID1001、部屋ID1_1002、部屋ID2_1003、リンク種別1004、設備ID1005、フラグ1006及びコスト1007を含む。
リンクID1001は、後述するトポロジー構築処理によって抽出された各リンクの識別子である。
部屋ID1_1002及び部屋ID2_1003は、各リンクの始点ノードに相当する部屋の識別子、及び終点ノードに相当する部屋の識別子である。ただし、屋内外リンクの始点または終点は屋外ノードであるため、屋内外リンクの部屋ID2_1003は、屋外ID1003と読み換えられる。図10(a)の例において、「Outdoor001」は、屋外ネットワーク(例えば道路など)のノードの識別子であり、「Outdoor」は、屋外空間全般を示すノードである。
部屋ID1_1002及び部屋ID2_1003の組み合わせによって、図3(b)に示したような接続関係が表現される。
リンク種別1004は、各リンクの種別、例えば、各リンクが部屋間リンク、フロア間リンクまたは屋内外リンクのいずれであるかを示す情報である。
設備ID1005は、各リンクに対応付けられた設備(例えば建具または階段など)の識別子である。設備とリンクとの対応付けについては、図10(b)を参照して後述する。
フラグ1006は、各リンクを利用者が通行可能か否かを示す。例えば、利用者が通行可能なドアに対応付けられたリンクのフラグ1006は「true」、利用者が通行不能な窓に対応付けられたリンクのフラグ1006は「false」である。
コスト1007は、経路探索の際に参照される各リンクのコストである。通行不能なリンクのコスト1007は、設定可能な最大の値となる(図10(a)の「max値」)。
このようなリンクデータ1000によって、ノード(部屋)と、ノード間を接続するリンク(例えばドアなどの設備)とからなるネットワークが表現される。リンクデータ1000を参照し、ダイクストラ法などの既知のアルゴリズムを使用することによって、現在地(または指定された出発地)から目的地までの経路を探索することができる。
図10(b)は、屋内空間データに含まれる設備テーブル1020の説明図である。
設備テーブル1020は、設備ID1021、リンクID1022、設備分類1023、設備種別1024、記号ID1025、ジオメトリ1026及び幅・高さなど1027を含む。
設備ID1021は、各設備の識別子である。
リンクID1022は、各設備が対応付けられたリンクの識別子である。
設備分類1023は、各設備が建具または階段のいずれであるかを示す情報である。
設備種別1024は、各設備の詳細な種別、例えば、各設備が両開き扉、引き違い窓、またはエレベータなどのうちいずれであるかを示す情報である。
記号ID1025は、各設備を建築図面上で表示するために用いられる記号の識別子である。
ジオメトリ1026は、各設備の形状及び位置を示す情報である。この情報は、ジオメトリ903、923及び944と同様の形式であってよい。
幅・高さなど1027は、各設備の開口部の幅及び高さを示す情報である。この情報は人間を誘導するためには必須ではないが、物品の搬入経路を探索するような用途には、物品を搬入可能か否かを判定するためにこのような情報が格納されていることが望ましい。
例えば、図10(a)及び図10(b)を参照すると、部屋201と部屋204とを接続する部屋間リンク261にリンクID「L001」が付与されている。この部屋間リンク261は、設備ID「E001」によって識別される設備に対応付けられている。設備ID「E001」によって識別される設備は両開き扉であり、この両開き扉は記号ID「S001」によって識別される記号によって表現される。利用者はこの両開き扉を通行することができ、そのコストは「10」である。
図11は、本発明の実施形態の記号データ記憶部143に格納される記号データテーブル1100の説明図である。
記号データテーブル1100は、建築物に含まれる設備等を表すために建築図面上に表示される記号の図形データを含む。このデータは、後述する記号抽出処理におけるテンプレートマッチングの際にテンプレートとして使用される(図16参照)。
記号データテーブル1100は、記号ID1101、設備分類1102、設備種別1103、図形要素集合1104及び置換図形1105を含む。
記号ID1101は、各記号の識別子である。
設備分類1102は、各記号が表す設備の分類を示す情報である。例えば、設備分類1102は、各記号が表す設備が建具または階段のいずれに分類されるかを示す。
設備種別1103は、各記号が表す設備の種別を示す情報である。例えば、設備種別1103は、各記号が表す設備が両開き扉、片開き扉、引き違い戸、両開き窓、引き違い窓またはエレベータのいずれであるかを示す。
図形要素集合1104は、各記号を表現する図形要素集合(すなわち図6を参照して説明した図形要素の組み合わせ)を特定する情報である。例えば、両開き扉は、図7に示すように、二つの円弧及び二つの線分によって表現される。この場合、設備種別1103の値「両開き扉」に対応する図形要素集合1104として、二つの円弧及び二つの線分を表現する図形要素データ(図6参照)が格納される。
置換図形1105は、各記号の図形を置き換える図形を特定する情報である。図形の置き換えについては後述する(図16のステップ1607参照)。図11の例では、全ての記号の図形が所定のポリゴンに置換される。
図12は、本発明の実施形態の屋内空間データ作成支援システム全体の処理を示すフローチャートである。
処理が開始されると、最初に、建築図面データ入力部111が建築図面データを入力する(ステップ1201)。この処理の詳細については図13を参照して後述する。
次に、作図補助要素除去部112が作図補助要素を除去する(ステップ1202)。この処理の詳細については図14及び図15を参照して後述する。
次に、記号抽出処理部113が記号を抽出する(ステップ1203)。この処理の詳細については図16、図17及び図18を参照して後述する。
次に、部屋抽出処理部114が部屋を抽出する(ステップ1204)。この処理の詳細については図19を参照して後述する。
次に、トポロジー構築処理部115がトポロジーを構築する(ステップ1205)。この処理の詳細については図20を参照して後述する。
最後に、屋内空間データ出力部116が屋内空間データを出力する(ステップ1206)。これによって、図9及び図10に示す屋内空間データが出力され、屋内空間データ記憶部141に格納される。
以上で屋内空間データ作成支援システム全体の処理が終了する。
図13は、本発明の実施形態の建築図面データ入力処理を示すフローチャートである。
建築図面データ入力処理は、図12のステップ1201において実行される。
建築図面データ入力処理が開始されると、建築図面データ入力部111は、これから屋内空間データを作成しようとする建物を新規登録するか否かを判定する(ステップ1301)。例えば、建築図面データ入力部111が、建物を新規登録するか否かを問い合わせる画面を表示部120に表示させてもよい。利用者は、その画面を参照して、建物を新規登録するか否かを指示する情報を指示部130に入力する。建築図面データ入力部111は、入力された情報に従って、建物を新規登録するか否かを判定する。
例えば、まだ全く屋内空間データが作成されていない建物について、これから屋内空間データを作成しようとする場合、利用者は、その建物を新規登録することを指示する情報を入力する。一方、例えば、既に一部の屋内空間データ(例えば一部のフロアの屋内空間データ)が作成され、それが屋内空間データ記憶部141に格納されている建物について、新たな屋内空間データ(例えば新たなフロアの屋内空間データ)を作成しようとする場合、利用者は、その建物を新規登録しないことを指示する情報を入力する。
建物を新規登録すると判定された場合、建築図面データ入力部111は、建物を新規登録する(ステップ1302)。このとき、建築図面データ入力部111は、建物新規登録画面1303を表示部120に表示させる(ステップ1303)。この画面は、少なくとも、新たに登録される建物の名前の入力を促す表示を含む。利用者は、指示部130に、新たに登録される建物の名前を入力する。建築図面データ入力部111は、指示部130から入力された建物の名前を受け付ける(ステップ1304)。
一方、建物を新規登録しないと判定された場合、建築図面データ入力部111は、表示部120に既に登録されている建物のリストを表示させる(ステップ1305)。利用者は、このリストを参照し、指示部130を使用して、これから屋内空間データを追加しようとする建物を選択する。建築図面データ入力部111は、指示部130から、選択の結果を受け付ける(ステップ1306)。
ステップ1304またはステップ1306が終了すると、建築図面データ入力部111は、建築図面ファイル入力画面を表示部120に表示させる(ステップ1307)。利用者は、建築図面ファイル入力画面を参照し、建築図面ファイルの指示を指示部130に入力する。建築図面データ入力部111は、指示部130から、利用者による指示を受け付ける(ステップ1308)。
建築図面データ入力部111は、指示された建築図面ファイルに含まれるデータを建築図面データ記憶部142から読み出し、制御部110に入力する(ステップ1309)。図8は、ステップ1309において入力される建築図面データの内容の一例である。
次に、図12のステップ1202において実行される作図補助要素除去処理の詳細について、図14及び図15を参照して説明する。
図14は、本発明の実施形態の作図補助要素除去処理を示すフローチャートである。
図15は、本発明の実施形態の作図補助要素除去処理の説明図である。
作図補助要素除去処理が開始された時点で、制御部110にはステップ1309において入力された建築図面データが保持されている。図15(a)に、入力された建築図面データを用いて作成される建築図面の一例を示す。この建築図面は、図5に示したフロア220の図面である。なお、実際には建築図面データは図8に示すような形式で入力されるが、そのデータは、図15(a)に示す建築図面を作成するために必要な全ての情報を含んでいる。
作図補助要素除去処理が開始されると、作図補助要素除去部112は、建築図面に含まれる壁領域及び柱領域を抽出する(ステップ1401)。具体的には、作図補助要素除去部112は、建築図面に含まれる線または図形が所定の条件を満たすか否かに基づいて、壁領域及び柱領域を抽出する。例えば、作図補助要素除去部112は、建築図面から平行線を抽出し、その平行線の間隔が所定の閾値以内であれば、その平行線が壁であると判定する。さらに、作図補助要素除去部112は、上記のように抽出された壁以外の領域から、壁に隣接する領域(図形)を抽出し、その領域の面積が所定の閾値以内であれば、その領域が柱であると判定する。
例えば、図15(a)に示す壁551などが壁として、柱541などが柱として抽出される。図15(b)に、ステップ1401において抽出された壁を太い実線で、抽出された柱を黒く塗りつぶした四角形で示す。
次に、作図補助要素除去部112は、ステップ1401の抽出結果に基づいて、建物の外形を抽出する(ステップ1402)。具体的には、作図補助要素除去部112は、ステップ1401において抽出された壁及び柱によって囲まれた領域の外形を建物の外形(輪郭)として抽出する。例えば、図15(b)の斜線を施した領域が、抽出された壁及び柱によって囲まれた領域である。したがって、この領域の外形が建物の外形として抽出される。
このようにして抽出された建物の外形の形状及び位置を表す情報(例えば、「Polygon」のような図形種別及び座標値のような図形パラメータ)は、建物管理テーブル900のジオメトリ903及びフロア管理テーブル920のジオメトリ923として格納される。なお、建物ID901及びフロアID921は、制御部110によって自動的に与えられてもよい。これらのIDはテーブル内で一意であればよいため、まだ各テーブルに登録されていない任意の値をIDとして与えることができる。建物名902、フロア名922、フロア階数924及び建物ID925は、利用者によって入力されてもよい。
次に、作図補助要素除去部112は、ステップ1402の抽出結果に基づいて、作図補助要素を抽出する(ステップ1403)。具体的には、作図補助要素除去部112は、ステップ1402において抽出された建物の外形からはみ出した(すなわちその外側に位置する)図形を作図補助要素であると判定する。
図15(c)は、図15(a)の図面に、図15(b)に示す建物の外形を重ね合わせた図面である。この例において、建物の外形からはみ出した図形は、寸法線521、基準線531、寸法571及び図面タイトル561などである。なお、基準線531のように、その一部だけでも建物の外形からはみ出していれば、その図形が建物の外形からはみ出していると判定される。
次に、作図補助要素除去部112は、ステップ1403において抽出された作図補助要素の削除を確認する画面を表示部120に表示させる(ステップ1404)。例えば、図15(d)のように、ステップ1403において抽出された寸法線521、基準線531、寸法571及び図面タイトル561を含む画面が表示される。さらに、これらの作図補助要素の削除をしてよいか否かを利用者に問い合わせるメッセージが表示されてもよい。
次に、作図補助要素除去部112は、抽出された作図補助要素を削除してよいか否かを判定する(ステップ1405)。例えば、利用者が作図補助要素の削除を許可する指示を指示部130に入力した場合、作図補助要素を削除してよいと判定される。
作図補助要素を削除してよいと判定されなかった場合、作図補助要素除去部112は、ステップ1403において抽出された作図補助要素のうち、削除しないものを選択し(ステップ1406)、ステップ1404に戻る。例えば、ステップ1403において、本来は作図補助要素ではない(すなわち削除されるべきでない)柱または壁などが誤って作図補助要素として抽出される可能性がある。このような場合、利用者はステップ1404で表示された確認画面を参照して、削除されるべきでない図形を指定する。この場合、作図補助要素除去部112は、指定された図形を削除しない図形として選択する。
ステップ1406において選択された図形は、削除されるべき作図補助要素から除外されるため、次回のステップ1404において確認画面に表示されない。
ステップ1405において作図補助要素を削除してよいと判定された場合、作図補助要素除去部112は、抽出された作図補助要素を削除する(ステップ1407)。具体的には、作図補助要素除去部112は、入力されたデータ(図8参照)から、抽出された作図補助要素に相当するデータを削除する。以上で作図補助要素除去処理が終了する。
なお、実際には上記の処理によって全ての作図補助要素を除去できない場合がある。例えば、ステップ1402で抽出された建物の外形からはみ出さない作図補助要素は、上記の処理によって除去することができない。このような場合、利用者は、図面を参照しながら、手作業で残りの作図補助要素を除去する必要がある。しかし、通常は上記の処理によって作図補助要素の多くが除去されるため、利用者の作業負担は軽減される。
作図補助要素は、次の記号抽出処理(ステップ1203)において、記号の誤抽出の原因になり得る。上記のようにあらかじめ作図補助要素を除去することによって、記号の誤抽出を減らすことができる。
次に、図12のステップ1203において実行される記号抽出処理の詳細について説明する。
図16は、本発明の実施形態の記号抽出処理を示すフローチャートである。
記号抽出処理が開始された時点で、制御部110には、ステップ1407において作図補助要素が削除された建築図面が保持されている。記号抽出処理部113は、最初に、記号データ記憶部143に格納された記号データを検索する(ステップ1601)。具体的には、記号抽出処理部113は、図11に示す記号データテーブル1100を検索し、まだ抽出していない記号があるか否かを判定する(ステップ1602)。
ステップ1602においてまだ抽出していない記号があると判定された場合、その記号を建築図面から抽出する(ステップ1603)。この抽出は、記号データテーブル1100から読み出された図形要素集合をテンプレートとして用いたテンプレートマッチングなど、従来から知られた手法によって行うことができる。
次に、記号抽出処理部113は、ステップ1603における抽出結果を表示部120に表示させる(ステップ1604)。さらに抽出結果の確認を要求するメッセージが表示されてもよい。
利用者は、ステップ1604で表示された画面を参照して、抽出結果が正しいか否かを判定し、その判定の結果を指示部130に入力する。記号抽出処理部113は、指示部130への入力に基づいて、抽出結果が正しいか否かを判定する(ステップ1605)。
抽出結果が正しいと判定された場合、記号抽出処理部113は、抽出された記号の図形を、所定の図形に置換する(ステップ1607)。
一方、抽出結果が正しくない場合、利用者は、抽出結果を修正する情報を入力する。この場合、記号抽出処理部113は、ステップ1605において抽出結果が正しくないと判定し、利用者からの入力に従って抽出結果を修正する(ステップ1606)。その後、記号抽出処理部113は、修正結果に従って、抽出された記号の図形を所定の図形に置換する(ステップ1607)。
記号抽出処理部113は、記号データテーブル1100に登録された全ての記号の抽出が終了するまで、上記のステップ1601からステップ1607までの処理を繰り返し実行する。
上記の処理の具体例を、図11及び図17を参照して説明する。
図17は、本発明の実施形態の記号抽出処理の説明図である。
例えば、記号抽出処理部113は、記号データテーブル1100を検索し(ステップ1601)、両開き扉がまだ抽出されていないと判定された場合(ステップ1602)、両開き扉を抽出する処理を実行する(ステップ1603)。このとき、記号抽出処理部113は、両開き扉に対応する図形要素集合1104の値をテンプレートとして用いて、テンプレートマッチングによって建築図面に含まれる両開き扉を抽出する。図17(a)は、このようにして抽出された両開き扉401〜405(点線内)を示す。例えば、このように抽出された記号を点線で囲んだ図面がステップ1604において表示されてもよい。
利用者は、表示された図面を参照して、両開き扉が正しく抽出されているか否かを確認する(ステップ1605)。例えば、両開き扉でない図形が誤って両開き扉として抽出されたり、両開き扉であるのに抽出されていなかったりした場合には、それらの誤りを修正する情報を入力する(ステップ1606)。
その後、記号抽出処理部113は、抽出された両開き扉401の記号を、両開き扉に対応する置換図形1105によって定義される図形に置換する(ステップ1607)。例えば、両開き扉401に対応する設備テーブル1020のジオメトリ1026として、両開き扉の置換図形1105によって定められるパラメータを格納する。なお、図10(b)では省略されているが、ジオメトリ1026には、図形の種類を表す情報(例えば「Polygon」)に加えて、その図形の位置及び形状を示す座標値等が含まれる。
このとき、抽出された両開き扉401に対応する設備ID1021(例えば「E001」)及びリンクID1022(例えば「L001」)は自動的に生成され、設備テーブル1020に格納されてもよい。これらのIDはテーブル内で一意であればよいため、まだテーブルに登録されていない任意の値をIDとして与えることができる。一方、テンプレートとして使用された記号の記号ID1101、設備分類1102及び設備種別1103の値が、抽出された両開き扉401に対応する記号ID1025、設備分類1023及び設備種別1024として格納される。幅・高さなど1027は利用者によって入力されてもよい。
上記と同様に、ステップ1607において両開き扉402〜405も置換される。
図17の例では、扉及び窓などの建具に対応する置換図形は、黒く塗りつぶされた長方形1701〜1705である。置換図形の例については図18を参照して後述する。図17(b)は、両開き扉が置換された後の建築図面の例を示す。
上記と同様の処理が、全ての設備の記号について終了するまで繰り返し実行される。図17の例では、さらに引き違い窓511〜515が抽出され、所定の図形1711〜1715に置換される。さらにエレベータ206が抽出され、所定の図形に置換される。図17(c)は、全ての設備の記号が置換された建築図面の例を示す。この例において、エレベータ206はハッチングされた四角形1721に置換される。なお、図面上でエレベータとその周囲の壁との間の隙間が埋まるように、エレベータの記号は、それより大きい図形に置換することが望ましい。
図18は、本発明の実施形態の記号データを置換する図形の説明図である。
本実施形態では、両開き扉、片開き扉、引き違い戸、両開き窓及び引き違い窓などの建具は、それぞれ図18(a)〜図18(e)に示すハッチングされた長方形1801〜1805に置換される。両開き扉の置換図形1801は、図17(b)及び図17(c)の置換図形1701〜1705に相当する。引き違い窓の置換図形1805は、図17(c)の置換図形1711〜1715に相当する。これらの長方形は、図17(b)及び図17(c)の黒く塗りつぶされた長方形に相当する。
なお、図18(a)、図18(b)及び図18(d)に示す点線は、置換される前の記号を示す。これらの図に示す扉及び窓の記号は、閉めた状態の扉及び窓の位置と置換図形の位置とが重なるように置換される。引き違い戸及び引き違い窓の記号は、その輪郭と置換図形の輪郭とが重なるように置換される(図18(c)及び図18(e))。
エレベータの記号は、図17(c)に示したように、その記号より大きい四角形1806に置換される(図18(f))。このエレベータの置換図形1806は、図17(c)の置換図形1721に相当する。
上記の置換図形1801〜1806の形状などを示す情報が、記号データテーブル1100の置換図形1105として格納される。
図19は、本発明の実施形態の部屋抽出処理(ステップ1204)の説明図である。
図19(a)は、部屋抽出処理(ステップ1204)が開始された時点で制御部110に保持されている建築図面である。これは、図17(c)と同様である。部屋抽出処理部114は、図19(a)の建築図面から部屋を抽出する。具体的には、部屋抽出処理部114は、図14のステップ1401において抽出された壁及び柱のジオメトリと、図16のステップ1607において置換された図形のジオメトリと、に基づいて、壁、柱及び置換図形によって囲まれた領域を部屋として抽出する。
例えば、部屋抽出処理部114は、壁551等、柱541等、置換図形1711及び置換図形1701によって囲まれた部屋201を抽出する。同様にして、部屋202〜205及び207も抽出される。図19(b)に、抽出された部屋201〜205及び207を示す。
このようにして抽出された各部屋のジオメトリは、部屋管理テーブル940のジオメトリ944として格納される。一方、抽出された各部屋に対応する部屋ID941は、自動的に生成されてもよい。このIDは部屋管理テーブル940内で一意であればよいため、まだ部屋管理テーブル940に登録されていない値を部屋ID941として自動的に生成することができる。各部屋に対応する部屋名942、部屋種別943、建物ID945及びフロアID946は、利用者によって入力されてもよい。
なお、部屋名942は、屋内におけるナビゲーションの利用者に、出発地または目的地として選択される可能性、及びその利用者を誘導するための情報として提示される可能性があるため、利用者が理解しやすい名前であることが望ましい。既に説明した建物名902及びフロア名922も同様である。
図17(c)を参照して説明したように、エレベータ206の記号をそれより大きい図形1721に置換した場合、それによってエレベータの周囲の壁とエレベータとの間の隙間が埋まるため、エレベータ部分を除いた廊下の領域が部屋204として検出される。この場合、上記の部屋抽出規則ではエレベータ206を部屋として抽出することができないため、利用者が手動でエレベータ206を部屋として制御部110に認識させる必要がある。具体的には、利用者は、エレベータ206に対応する部屋に関する情報を部屋管理テーブル940に入力し(図9(c)の部屋ID「Room206」参照)、さらに、エレベータ206に関連する設備及びその設備に対応するリンクの情報をリンクデータ1000及び設備テーブル1020に入力する。しかし、このような例外を除けば、多くの部屋が自動的に抽出されるため、利用者の作業負担が軽減される。
なお、図19(b)は説明のために簡略化されているが、実際には、柱及び壁の領域は部屋に含まれない。
図20は、本発明の実施形態のトポロジー構築処理(ステップ1205)の説明図である。
トポロジー構築処理部115は、部屋抽出処理(ステップ1204)によって抽出された部屋のジオメトリ944と、図16のステップ1607によって置換された図形のジオメトリ1026と、が入力されると(図20(a)参照)、各部屋に接する設備(例えばドアのような建具)、及び、その設備に接する別の部屋を特定することができる。
例えば、部屋201に図形1701(すなわち両開き扉401)が接し、両開き扉401に部屋204が接している。この場合、トポロジー構築処理部115は、両開き扉401を、部屋201と部屋204とを接続するリンク261と認識し、このリンク261に関する情報をリンクデータ1000に格納する。
具体的には、両開き扉401のリンクID「L001」(設備テーブル1020参照)に対応する部屋ID1_1002及び部屋ID2_1003にそれぞれ部屋201及び部屋204の識別子が格納される。設備ID1005の値は、設備ID1021と同じである。部屋管理テーブル940を参照すれば部屋201と部屋204とが同一のフロアに含まれることがわかるため、リンク261が部屋間リンクであることを示す情報がリンク種別1004として格納される。フラグ1006及びコスト1007は利用者によって入力されてもよい。
同様に、各部屋の間のリンク262〜264及び266に関する情報がリンクデータ1000に格納される。さらに、各部屋と屋外との間のリンク2001〜2005に関する情報もリンクデータ1000に格納される(例えばリンクID「L102」に相当)。
図20(b)は、このようにして特定された部屋及びリンクの接続関係(すなわちトポロジーの構築結果)を示す。この接続関係は、図3(b)に対応する。ただし、図3(b)では各部屋と屋外との間のリンクは省略されている。
また、図20ではエレベータが部屋として認識されていないため、エレベータに相当する部屋206及びそれに接続されるリンクに関する情報は自動的に生成されない。この場合、利用者は、部屋206、それと部屋204とを接続する部屋間リンク265、部屋206と部屋106及び部屋306とを接続するフロア間リンク271及び272に関する情報を手動で入力する必要がある。しかし、上記のような例外を除けば、部屋を接続する多くのリンクが自動的に抽出されるため、利用者の作業負担が軽減される。
図9及び図10に示す屋内空間データは、上記のトポロジー構築処理(ステップ1205)によって完成し、次のステップ1206において制御部110から出力され、屋内空間データ記憶部141に格納される。この屋内空間データを用いて、屋内におけるナビゲーションを実現することができる。
例えば、屋内ナビゲーションシステム(図示省略)は、利用者から出発地の部屋及び目的地の部屋を指定されると、リンクデータ1000を参照して、従来の車載用ナビゲーションシステムと同様の方法を用いて出発地から目的地までの経路を探索することができる。
屋内ナビゲーションシステムの利用者が人間である場合、屋内ナビゲーションシステムは、部屋及び設備の位置情報を使用しなくても、利用者を目的地まで誘導できる場合がある。例えば、屋内ナビゲーションシステムは、探索された経路上の部屋またはドア等を識別する情報(例えばそれらの名前)を順次利用者に提供することによって、利用者を目的地まで誘導してもよい。このような場合、屋内空間データは、必ずしもジオメトリ944及び1026を含まなくてもよい。すなわち、このような場合、ステップ1206においてジオメトリ944及び1026は出力されなくてもよい。
一方、屋内空間データがジオメトリ944及び1026を含んでいれば、屋内ナビゲーションシステムは部屋及び設備の位置情報を使用して利用者をより精密に誘導することができる。特に、利用者が人間ではなく、例えば自動運搬装置等である場合、経路上の次の部屋に至るドア等まで装置を誘導する必要があるため、ジオメトリ944及び1026のような位置情報は必須である。
これまでの説明では、2次元CADの平面図データを一例として用いていたが、本発明の実施形態は2次元CAD図面に限定されるものではない。建築図面データとして、最近の建築分野で普及し始めている3次元CAD図面データや、GIS(Geographic Information System)分野で用いられる仮想都市データを入力として用いてもよい。3次元CAD図面データの例として、IAI(International Alliance for Interoperability)で標準化が進められているIFC(Industry Foundation Classes)という仕様が存在している。また、仮想都市データの例として、OGC(Open Geospatial Consortium)で標準化が進められているCityGMLという仕様が存在している。
以上、本発明の実施形態によれば、入力された建築図面データに基づいて、屋内におけるナビゲーションに使用される屋内空間データの少なくとも一部が自動的に作成される。これによって利用者による屋内空間データ作成作業の負担が軽減される。