(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照しつつ説明を行う。
【0009】
情報提示システム1は、
図1に示すように、ユーザにより操作されるパーソナルコンピュータ等である情報提示装置11と、ネットワークNWを介して情報提示装置11に接続されるデータベースサーバ12と、を有して構成されている。
図1は、実施形態に係る情報提示システムの構成の一例を示す図である。
【0010】
情報提示装置11は、例えば、
図2に示すように、CPU21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、入力デバイス24と、出力デバイス25と、通信IF(インターフェース)26と、を有して構成されている。
【0011】
CPU21は、ROM22に記憶されたプログラム等に基づき、RAM23をワーキングエリアとして利用しつつ描画処理等を行う演算部21aを具備して構成されている。また、CPU21は、入力デバイス24の操作に応じて入力された情報及び指示等に基づき、情報提示装置11の各部の動作に係る制御を行う制御部21bを具備して構成されている。
【0012】
入力デバイス24は、ユーザの操作に応じた情報及び指示等を入力することができるように構成されている。具体的には、入力デバイス24は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも1つを具備して構成されている。
【0013】
出力デバイス25は、CPU21の処理等に応じて生成された情報を外部へ出力することができるように構成されている。具体的には、出力デバイス25は、例えば、ディスプレイまたはプリンタを具備して構成されている。
【0014】
通信IF26は、ネットワークNWを介してデータベースサーバ12との間でデータ等の送受信を行うことが可能なデバイスにより構成されている。
【0015】
データベースサーバ12には、施設内に存在する複数の構造物の配置(レイアウト)を示す図面画像のデータが格納されている。具体的には、データベースサーバ12には、例えば、工場内に存在する複数の設備の配置(レイアウト)を示す図面画像のデータが格納されている。
【0016】
続いて、実施形態に係る処理の具体例について、
図3等を参照しつつ説明する。なお、以降においては、実施形態に係る主要な処理がCPU21により行われる場合を例に挙げて説明する。また、以降においては、出力デバイス25がディスプレイである場合を例に挙げて説明する。
図3は、実施形態に係る情報提示装置において行われる処理の具体例を示すフローチャートである。
【0017】
演算部21aは、データベースサーバ12からネットワークNWを介して図面画像のデータを読み込む(
図3のステップS1)とともに、当該読み込んだ図面画像のデータに含まれる各設備の輪郭を抽出するための処理を行う(
図3のステップS2)。すなわち、輪郭抽出部としての機能を備えた演算部21aは、複数の構造物の配置を示す図面画像のデータをデータベースサーバ12から読み込むとともに、当該読み込んだ図面画像のデータに含まれる各構造物の輪郭を抽出する。
【0018】
演算部21aは、
図3のステップS2の処理により抽出した各輪郭の面積及び面積比の値を取得するための処理を行う(
図3のステップS3)。具体的には、演算部21aは、例えば、
図3のステップS2の処理により抽出した輪郭内に含まれるピクセル数を面積として取得する。また、演算部21aは、例えば、
図3のステップS2の処理により抽出した全ての輪郭の中で最小の面積を有する一の輪郭の面積比を基準値である1に設定した状態において、当該一の輪郭以外の他の輪郭の面積比を取得する。
【0019】
演算部21aは、
図3のステップS2及びステップS3の処理結果に基づき、例えば、
図4に示すようなリストデータT1を生成して取得する。
図4は、実施形態に係る情報提示装置において行われる処理により取得されるリストデータの一例を説明するための図である。
【0020】
リストデータT1の「ID」は、
図3のステップS2の処理により抽出された1つの輪郭毎に付されるユニークな番号であるID番号を示す項目である。リストデータT1の「抽出座標」は、
図3のステップS2の処理により抽出された輪郭により形成される図形(多角形)の頂点に相当する複数の輪郭点の座標位置を示す項目である。リストデータT1の「面積」は、
図3のステップS3の処理により取得された輪郭の面積を示す項目である。リストデータT1の「面積比」は、
図3のステップS3の処理により取得された輪郭の面積比を示す項目である。
【0021】
すなわち、
図4に例示したリストデータT1は、
図3のステップS2及びステップS3の処理結果として得られた輪郭点の座標位置、面積及び面積比を輪郭毎に特定可能なデータとして構成されている。
【0022】
演算部21aは、リストデータT1に含まれる輪郭点の座標、面積及び面積比に基づき、
図3のステップS2の処理により抽出した各輪郭を抽象化してグリッド面上に描画するための処理を行う(
図3のステップS4)。
【0023】
なお、本実施形態においては、
図3のステップS1の処理により読み込まれる図面画像のデータの画像サイズ以上の所定のサイズを具備する領域を格子状に区切るための複数のグリッド線が当該領域の縦方向及び横方向に沿ってそれぞれ描かれた平面をグリッド面として説明を行うものとする。また、本実施形態においては、グリッド面において相互に直交する2つの方向(縦方向及び横方向)のグリッド線の交点をグリッド点として説明を行うものとする。また、本実施形態においては、グリッド面において隣接するグリッド線同士の間隔、または、グリッド面において隣接するグリッド点同士の間隔をグリッド幅として説明を行うものとする。
【0024】
すなわち、抽象化処理部としての機能を備えた演算部21aは、
図3のステップS2の処理により抽出された各構造物の輪郭を抽象化し、当該抽象化した輪郭を相互に直交する2つの方向のグリッド線が描かれたグリッド面上に描画する。
【0025】
演算部21aは、リストデータT1と、
図3のステップS4の処理結果と、に基づき、例えば、
図5に示すようなリストデータT2を取得する。
図5は、実施形態に係る情報提示装置において行われる処理により取得されるリストデータの一例を説明するための図である。
【0026】
リストデータT2は、リストデータT1に対して「抽象化座標」の項目を追加したデータとして構成されている。リストデータT2の「抽象化座標」は、
図3のステップS4の処理により抽象化された輪郭により形成される図形(多角形)の頂点に相当する複数の輪郭点のグリッド面における座標位置を示す項目である。すなわち、演算部21aは、
図3のステップS2の処理により抽出された各構造物の輪郭を抽象化する際に、リストデータT1の抽出座標に含まれる各座標値に基づき、リストデータT2の抽象化座標の各座標値を取得するための処理を行っている。なお、以降においては、グリッド面の横方向における抽象化座標の位置を規定するX座標値が当該グリッド面の左側から右側へ向かうにつれて大きくなるとともに、当該グリッド面の縦方向における抽象化座標の位置を規定するY座標値が当該グリッド面の上側から下側へ向かうにつれて大きくなるものとして説明を行う。
【0027】
演算部21aは、
図3のステップS4の処理により抽象化された輪郭より形成される図形(多角形)の辺に相当する輪郭線を補正するための処理を行う(
図3のステップS5)。
【0028】
ここで、
図3のステップS5において行われる処理の具体例について、
図6等を参照しつつ説明する。
図6Aは、実施形態に係る情報提示装置において行われる処理の具体例の一部を示すフローチャートである。
図6Bは、
図6Aの処理の続きを示すフローチャートである。
【0029】
演算部21aは、リストデータT2においてID番号が付されている輪郭毎に輪郭線を補正するための処理であるループLAの処理を開始する(
図6AのステップS51)。なお、以降においては、リストデータT2に含まれる各ID番号の輪郭のうち、P番の輪郭がループLAの処理対象となっている場合を例に挙げて説明する。
【0030】
演算部21aは、リストデータT2を参照することにより、P番の輪郭に3つ以上の抽象化座標の輪郭点が含まれているか否かを判定する(
図6AのステップS52)。
【0031】
演算部21aは、P番の輪郭に3つ以上の抽象化座標の輪郭点が含まれていないとの判定結果を得た場合(S52:NO)には、後述の
図6BのステップS62の処理を続けて行う。また、演算部21aは、P番の輪郭に5つ以上の抽象化座標の輪郭点が含まれているとの判定結果を得た場合(S52:YES)には、後述の
図6AのステップS53の処理を続けて行う。
【0032】
演算部21aは、P番の輪郭の抽象化座標に含まれる各輪郭点の座標位置を時計回りの描画順に整列するための処理を行った(
図6AのステップS53)後、当該P番の輪郭において隣接する輪郭点γ、α及びβを用い、輪郭点α及びβを結ぶ輪郭線αβを補正するための処理であるループLBの処理を開始する(
図6AのステップS54)。なお、輪郭点γ、α及びβは、
図6AのステップS53の処理により整列した順番で(P番の輪郭において時計回りに)それぞれ選択されるものとする。
【0033】
演算部21aは、輪郭線γαがグリッド面において相互に直交する2つの方向(縦方向及び横方向)のグリッド線のいずれか一方に一致しているか否かを判定する(
図6AのステップS55)。
【0034】
演算部21aは、輪郭線γαが縦方向のグリッド線に一致する垂直な輪郭線または横方向のグリッド線に一致する水平な輪郭線のいずれかに該当するとの判定結果を得た場合(S55:YES)には、後述の
図6AのステップS56の処理を続けて行う。また、演算部21aは、輪郭線γαが縦方向及び横方向の両方のグリッド線の両方から外れた斜めの輪郭線であるとの判定結果を得た場合(S55:NO)には、後述の
図6BのステップS61の処理を続けて行う。
【0035】
具体的には、演算部21aは、P番の輪郭における抽象化座標の輪郭点γ及びαのX座標値が一致していることを検出した場合に、輪郭線γαが縦方向のグリッド線に一致するとの判定結果を得る。また、演算部21aは、P番の輪郭における抽象化座標の輪郭点γ及びαのY座標値が一致していることを検出した場合に、輪郭線γαが横方向のグリッド線に一致するとの判定結果を得る。また、演算部21aは、P番の輪郭における抽象化座標の輪郭点γ及びαのX座標値が一致せず、かつ、当該輪郭点γ及びαのY座標値が一致しないことを検出した場合に、輪郭線γαが斜めの輪郭線であるとの判定結果を得る。
【0036】
演算部21aは、輪郭線αβがグリッド面において相互に直交する2つの方向(縦方向及び横方向)のグリッド線の両方から外れた斜めの輪郭線であるか否かを判定する(
図6AのステップS56)。
【0037】
演算部21aは、輪郭線αβが斜めの輪郭線であるとの判定結果を得た場合(S56:YES)には、後述の
図6AのステップS57の処理を続けて行う。また、演算部21aは、輪郭線αβが縦方向のグリッド線に一致する垂直な輪郭線または横方向のグリッド線に一致する水平な輪郭線のいずれかに該当するとの判定結果を得た場合(S56:NO)には、後述の
図6BのステップS61の処理を続けて行う。
【0038】
具体的には、演算部21aは、P番の輪郭における抽象化座標の輪郭点α及びβのX座標値が一致せず、かつ、当該輪郭点α及びβのY座標値が一致しないことを検出した場合に、輪郭線αβが斜めの輪郭線であるとの判定結果を得る。また、演算部21aは、P番の輪郭における抽象化座標の輪郭点α及びβのX座標値が一致していることを検出した場合に、輪郭線αβが縦方向のグリッド線に一致するとの判定結果を得る。また、演算部21aは、P番の輪郭における抽象化座標の輪郭点α及びβのY座標値が一致していることを検出した場合に、輪郭線αβが横方向のグリッド線に一致するとの判定結果を得る。
【0039】
演算部21aは、P番の輪郭における輪郭点γからαへの経路の方向を示すベクトルVγαが上向きになるように、当該輪郭点γを基点として当該P番の輪郭の各輪郭線により形成される図形を反時計回りに回転するための処理を行う(
図6AのステップS57)。
【0040】
具体的には、演算部21aは、例えば、ベクトルVγαが右向きであること、すなわち、P番の輪郭における抽象化座標の輪郭点γのX座標値が輪郭点αのX座標値よりも小さく、かつ、当該輪郭点γのY座標値と当該輪郭点αのY座標値とが等しいことを検出した場合に、当該輪郭点γを基点として当該P番の輪郭の各輪郭線により形成される図形を反時計回りに90度回転する。
【0041】
また、演算部21aは、例えば、ベクトルVγαが下向きであること、すなわち、P番の輪郭における抽象化座標の輪郭点γのX座標値と輪郭点αのX座標値とが等しく、かつ、当該輪郭点γのY座標値が当該輪郭点αのY座標値よりも小さいことを検出した場合に、当該輪郭点γを基点として当該P番の輪郭の各輪郭線により形成される図形を反時計回りに180度回転する。
【0042】
また、演算部21aは、例えば、ベクトルVγαが左向きであること、すなわち、P番の輪郭における抽象化座標の輪郭点γのX座標値が輪郭点αのX座標値よりも大きく、かつ、当該輪郭点γのY座標値と当該輪郭点αのY座標値とが等しいことを検出した場合に、当該輪郭点γを基点として当該P番の輪郭の各輪郭線により形成される図形を反時計回りに270度回転する。
【0043】
また、演算部21aは、例えば、ベクトルVγαが上向きであること、すなわち、P番の輪郭における抽象化座標の輪郭点γのX座標値と輪郭点αのX座標値とが等しく、かつ、当該輪郭点γのY座標値が当該輪郭点αのY座標値よりも大きいことを検出した場合には、当該輪郭点γを基点として当該P番の輪郭の各輪郭線により形成される図形を反時計回りに360度回転する。なお、演算部21aは、ベクトルVγαが上向きであることを検出した場合に、P番の輪郭の各輪郭線により形成される図形を回転せず、かつ、後述の
図6AのステップS59の処理をスキップしてもよい。
【0044】
演算部21aは、
図6AのステップS57の処理により得られた回転後のP番の輪郭において、ベクトルVγαと、輪郭点αからβへの経路の方向を示すベクトルVαβと、がなす角度θvを算出した(
図6AのステップS58)後、当該回転後のP番の輪郭を元に(
図6AのステップS57の処理を行う前の状態に)戻すための処理を行う(
図6AのステップS59)。
【0045】
演算部21aは、
図6AのステップS58により算出した角度θvに応じた輪郭点δを輪郭点αからβへの経路の途中に設定することにより、
図6AのステップS59の処理が行われた後の(回転前の)P番の輪郭に含まれる斜めの輪郭線αβを補正するための処理を行った(
図6BのステップS60)後、後述の
図6BのステップS61の処理を続けて行う。
【0046】
具体的には、演算部21aは、例えば、
図7に示すように、角度θvが0度よりも大きくかつ90度以下である場合には、P番の輪郭の外側における輪郭点αからβへの経路の途中に、輪郭点αのX座標値と、輪郭点βのY座標値と、を具備する新たな輪郭点δを追加することにより、
図6AのステップS59の処理が行われる前の(回転前の)P番の輪郭に含まれる斜めの輪郭線αβを、グリッド面の縦方向のグリッド線に一致する輪郭線αδと、グリッド面の横方向のグリッド線に一致する輪郭線δβと、を具備する連続線になるように補正する。なお、角度θvが0度よりも大きくかつ90度以下である場合に追加される輪郭点δは、P番の輪郭の外側に位置する限りにおいては、例えば、輪郭点αのY座標値と、輪郭点βのX座標値と、を具備するものであってもよい。
図7は、抽象化された輪郭の輪郭線を補正するための処理の一例を説明するための図である。
【0047】
また、演算部21aは、例えば、
図8に示すように、角度θvが90度よりも大きくかつ180度以下である場合には、輪郭点γのX座標値と、輪郭点γのY座標値と、を具備する輪郭点δを輪郭点αからβへの経路の途中に設定することにより、
図6AのステップS59の処理が行われる前の(回転前の)P番の輪郭に含まれる斜めの輪郭線αβを、グリッド面の縦方向のグリッド線に一致する輪郭線αδと、グリッド面の横方向のグリッド線に一致する輪郭線δβと、を具備する連続線になるように補正する。すなわち、演算部21aは、角度θvが90度よりも大きくかつ180度以下である場合には、輪郭点γの座標位置を輪郭点δの座標位置として設定する。
図8は、抽象化された輪郭の輪郭線を補正するための処理の一例を説明するための図である。
【0048】
また、演算部21aは、例えば、
図9に示すように、角度θvが180度よりも大きくかつ270度以下である場合には、P番の輪郭の外側における輪郭点αからβへの経路の途中に、輪郭点αのX座標値と、輪郭点βのY座標値と、を具備する新たな輪郭点δを追加することにより、
図6AのステップS59の処理が行われる前の(回転前の)P番の輪郭に含まれる斜めの輪郭線αβを、グリッド面の縦方向のグリッド線に一致する輪郭線αδと、グリッド面の横方向のグリッド線に一致する輪郭線δβと、を具備する連続線になるように補正する。なお、角度θvが180度よりも大きくかつ270度以下である場合に追加される輪郭点δは、P番の輪郭の外側に位置する限りにおいては、例えば、輪郭点αのY座標値と、輪郭点βのX座標値と、を具備するものであってもよい。
図9は、抽象化された輪郭の輪郭線を補正するための処理の一例を説明するための図である。
【0049】
また、演算部21aは、例えば、
図10に示すように、角度θvが270度よりも大きくかつ360度以下である場合には、P番の輪郭の外側における輪郭点αからβへの経路の途中に、輪郭点αのX座標値と、輪郭点βのY座標値と、を具備する新たな輪郭点δを追加することにより、
図6AのステップS59の処理が行われる前の(回転前の)P番の輪郭に含まれる斜めの輪郭線αβを、グリッド面の縦方向のグリッド線に一致する輪郭線αδと、グリッド面の横方向のグリッド線に一致する輪郭線δβと、を具備する連続線になるように補正する。なお、角度θvが270度よりも大きくかつ360度以下である場合に追加される輪郭点δは、P番の輪郭の外側に位置する限りにおいては、例えば、輪郭点αのY座標値と、輪郭点βのX座標値と、を具備するものであってもよい。
図10は、抽象化された輪郭の輪郭線を補正するための処理の一例を説明するための図である。
【0050】
すなわち、
図6AのステップS57〜ステップS59、及び、
図6BのステップS60の処理によれば、グリッド面において相互に直交する2つの方向(縦方向及び横方向)のグリッド線の両方から外れた斜めの輪郭線を、当該2つの方向のグリッド線のうちの第1の方向のグリッド線に一致する第1の輪郭線と、当該2つの方向のグリッド線のうちの第2の方向のグリッド線に一致する第2の輪郭線と、を具備する連続線になるように補正するための処理が演算部21aにより行われる。
【0051】
演算部21aは、ループLBの終端処理を行う(
図6BのステップS61)。具体的には、演算部21aは、P番の輪郭において隣接する輪郭点γ、α及びβの全ての組合せに対する処理が完了していない場合には、
図6AのステップS54に戻り、ループLBの処理を再度行う。また、演算部21aは、P番の輪郭において隣接する輪郭点γ、α及びβの全ての組合せに対する処理が完了した場合には、ループLBの処理を終了し、後述の
図6BのステップS62の処理を続けて行う。
【0052】
演算部21aは、ループLAの終端処理を行う(
図6BのステップS62)。具体的には、演算部21aは、リストデータT2においてID番号が付されている各輪郭のうち、P番の輪郭以外に未処理の輪郭が存在する場合には、
図6AのステップS51に戻り、ループLAの処理を再度行う。また、演算部21aは、リストデータT2においてID番号が付されている各輪郭のうち、P番の輪郭以外に未処理の輪郭が存在しない場合には、ループLAの処理を終了するとともに、
図6A及び
図6Bの一連の処理を終了する。
【0053】
すなわち、輪郭補正部としての機能を備えた演算部21aは、
図3のステップS4の処理により抽象化された輪郭を構成する各輪郭線のうち、グリッド面において相互に直交する2つの方向のグリッド線の両方から外れた輪郭線を、当該2つの方向のグリッド線のうちの少なくとも1つの方向のグリッド線に一致させるように補正する。
【0054】
ところで、例えば、
図3のステップS4の処理により抽象化した各輪郭を出力デバイス25に表示する場合においては、当該各輪郭の形状の多様性に起因する可視性の低下が生じるおそれがある。これに対し、本実施形態においては、
図3のステップS4の処理により抽象化した各輪郭の輪郭線を、グリッド面において相互に直交する2つの方向(縦方向及び横方向)のグリッド線に合わせるように補正することにより、当該各輪郭を出力デバイス25に表示する際の可視性の低下を防ぎつつ、当該各輪郭を出力デバイス25に表示する際の審美性を向上させるようにしている。
【0055】
演算部21aは、
図3のステップS5の処理結果に応じて更新されたリストデータT2を用い、
図3のステップS4の抽象化に係る処理により欠損した情報を補完するための処理を行う(
図3のステップS6)。
【0056】
ここで、
図3のステップS6において行われる処理の具体例について、
図11等を参照しつつ説明する。
図11は、実施形態に係る情報提示装置において行われる処理の具体例を示すフローチャートである。
【0057】
演算部21aは、輪郭の抽象化に伴って欠損した情報の有無をリストデータT2においてID番号が付されている輪郭毎に特定するための処理であるループLCの処理を開始する(
図11のステップS71)。なお、以降においては、リストデータT2に含まれる各ID番号の輪郭のうち、Q番の輪郭がループLCの処理対象となっている場合を例に挙げて説明する。
【0058】
演算部21aは、Q番の輪郭の抽象化に伴って欠損した情報の有無を特定するための処理であるループLDの処理を開始する(
図11のステップS72)。なお、以降においては、リストデータT2に含まれる各ID番号の輪郭のうち、Q番とは異なる番号であるR番の輪郭がループLDの処理対象となっている場合を例に挙げて説明する。
【0059】
演算部21aは、R番の輪郭における抽象化座標の全ての座標位置がQ番の輪郭における抽象化座標の全ての座標位置に一致するか否かを判定する(
図11のステップS73)。
【0060】
演算部21aは、R番の輪郭における抽象化座標の全ての座標位置がQ番の輪郭における抽象化座標の全ての座標位置に一致するとの判定結果を得た場合(S73:YES)には、後述のリストデータT3にR番の輪郭の情報を記録した(
図11のステップS74)後、後述の
図11のステップS75の処理を続けて行う。また、演算部21aは、R番の輪郭における抽象化座標のうちの少なくとも1つの座標位置がQ番の輪郭における抽象化座標の座標位置に一致しないとの判定結果を得た場合には、(
図11のステップS74の処理をスキップし、)後述の
図11のステップS75の処理を続けて行う。
【0061】
演算部21aは、ループLDの終端処理を行う(
図11のステップS75)。具体的には、演算部21aは、リストデータT2においてQ番とは異なるID番号が付されている各輪郭のうち、R番の輪郭以外に未処理の輪郭が存在する場合には、
図11のステップS72に戻り、ループLDの処理を再度行う。また、演算部21aは、リストデータT2においてQ番とは異なるID番号が付されている各輪郭のうち、R番の輪郭以外に未処理の輪郭が存在しない場合には、ループLDの処理を終了し、後述の
図11のステップS76の処理を続けて行う。
【0062】
演算部21aは、リストデータT3に1つ以上のID番号の輪郭の情報が存在するか否かを判定する(
図11のステップS76)。
【0063】
演算部21aは、リストデータT3に輪郭の情報が存在しないとの判定結果を得た場合(S76:NO)には、後述の
図11のステップS81の処理を続けて行う。また、演算部21aは、リストデータT3に輪郭の情報が存在するとの判定結果を得た場合(S76:YES)には、Q番の輪郭の情報をリストデータT3に追加した(
図11のステップS77)後、後述の
図11のステップS78の処理を続けて行う。
【0064】
ここで、
図11のステップS77の処理が行われた場合には、例えば、
図12に示すようなリストデータT3が取得される。
図12は、実施形態に係る情報提示装置において行われる処理により取得されるリストデータの一例を説明するための図である。
【0065】
図12のリストデータT3は、
図11のステップS74の処理により記録されたR番の輪郭の抽象化座標及び面積比の値と、
図11のステップS77の処理により追加されたQ番の輪郭の抽象化座標及び面積比の値と、を具備するデータとして構成されている。すなわち、
図11のステップS74の処理が行われた直後においては、Q番の輪郭の情報を含まず、かつ、
図11のステップS73の処理の判定条件に該当する1つ以上の輪郭の情報を含むようなリストデータT3が取得される。
【0066】
なお、リストデータT3に含まれるQ番の抽象化座標及び面積比の値は、リストデータT2に含まれるQ番の輪郭の同項目から抽出した情報である。また、リストデータT3に含まれるR番の抽象化座標及び面積比の値は、リストデータT2に含まれるR番の輪郭の同項目から抽出した情報である。また、
図11のステップS73の処理における判定条件に該当する輪郭が存在しない場合、すなわち、Q番の輪郭の抽象化に伴って欠損した輪郭が存在しない場合には、ループLDの処理の処理結果として、例えば、項目名(「ID」、「抽象化座標」及び「面積比」)の欄のみを具備するリストデータT3が取得される。また、以降においては、
図12のリストデータT3に示すような場合、すなわち、Q番の輪郭の抽象化に伴って欠損した輪郭がR番の輪郭(1つの輪郭)のみである場合の例について説明する。
【0067】
演算部21aは、
図11のステップS77の処理により取得したリストデータT3を用いて輪郭を描画するための処理を行う(
図11のステップS78)。具体的には、演算部21aは、
図12のリストデータT3に含まれるQ番及びR番のうちのいずれか一方のID番号の抽象化座標に応じた輪郭をグリッド面上に描画するための処理を行う。すなわち、演算部21aは、
図11のステップS78において、リストデータT3に含まれる複数のID番号のうちのいずれか1つのID番号の抽象化座標に応じた1つの輪郭をグリッド面上に描画するための処理を行う。
【0068】
演算部21aは、リストデータT3に含まれる各ID番号の面積比の値に応じた新たな輪郭線を、
図11のステップS78の処理により描画された1つの輪郭の内部にかつID番号の小さい順に追加するための処理を行う(
図11のステップS79)。具体的には、演算部21aは、
図12のリストデータT3に含まれるQ番及びR番の面積比の値に基づき、例えば、
図11のステップS78の処理により描画された1つの輪郭を4:1に区切るとともに、グリッド面における縦方向または横方向のグリッド線に一致するような新たな輪郭線(区切り線)を当該輪郭内に追加するための処理を行う。
【0069】
演算部21aは、
図11のステップS78の処理により描画された1つの輪郭の輪郭線と、
図11のステップS79の処理により当該1つの輪郭の内部に追加した輪郭線と、により形成される複数の輪郭の座標位置を補完座標の座標位置として取得する。また、演算部21aは、前述のように取得した補完座標の座標位置をリストデータT2に追加するための処理を行う(
図11のステップS80)。そして、演算部21aは、
図11のステップS80の処理結果として、例えば、
図13に示すようなリストデータT4を取得する。
図13は、実施形態に係る情報提示装置において行われる処理により取得されるリストデータの一例を説明するための図である。
【0070】
リストデータT4は、リストデータT2に対して「補完座標」の項目を追加したデータとして構成されている。リストデータT4の「補完座標」は、
図11のステップS80の処理により追加された補完座標の座標位置を示す項目である。なお、
図13のリストデータT4においては、
図11のステップS76の処理によりリストデータT3に輪郭の情報が存在しないとの判定結果が得られたID番号の「補完座標」の項目を「−」で示している。すなわち、リストデータT4は、リストデータT2に含まれる最初のID番号の輪郭がループLCの処理の処理対象になっている期間中に生成される。
【0071】
演算部21aは、ループLCの終端処理を行う(
図11のステップS81)。具体的には、演算部21aは、リストデータT4においてID番号が付されている各輪郭のうち、Q番の輪郭以外に未処理の輪郭が存在する場合には、
図11のステップS71に戻り、ループLCの処理を再度行う。また、演算部21aは、リストデータT4においてID番号が付されている各輪郭のうち、Q番の輪郭以外に未処理の輪郭が存在しない場合には、ループLCの処理を終了するとともに、
図11の一連の処理を終了する。
【0072】
すなわち、輪郭情報補完部としての機能を備えた演算部21aは、
図3のステップS2の処理により抽出された複数の輪郭が
図3のステップS4の処理により1つの輪郭として統合されている場合に、当該複数の輪郭の面積比に応じ、当該複数の輪郭各々をグリッド面において識別可能とするための視覚情報を当該1つの輪郭の内部に追加するための処理を行う。また、演算部21aは、
図3のステップS2の処理により抽出された複数の輪郭が
図3のステップS4の処理により1つの輪郭として統合されている場合に、当該複数の輪郭の面積比及び個数に応じ、グリッド面において相互に直交する2つの方向のグリッド線うちのいずれか一方の方向のグリッド線に一致する新たな輪郭線を当該1つの輪郭の内部に追加するための処理を行う。
【0073】
ところで、例えば、隣接する2つの設備MCQ及びMCRの輪郭が
図3のステップS2の処理により抽出された場合には、
図3のステップS4の抽象化に係る処理に伴い、相対的に小さな面積を具備する設備MCRの輪郭が、相対的に大きな面積を具備する設備MCQの輪郭に統合(包摂)されてしまうような現象が生じ得る(
図14参照)。これに対し、本実施形態においては、設備MCQ及びMCRの面積比に応じた輪郭線を追加する(
図14参照)ことにより、設備MCQの輪郭の抽象化に伴って欠損した設備MCRの情報を補完することができるため、
図3のステップS4の処理により抽象化した各輪郭を出力デバイス25に表示する際の可視性の低下を防ぐことができる。
図14は、輪郭の抽象化に伴って欠損した情報を補完するための処理の概要を説明するための図である。
【0074】
なお、本実施形態によれば、
図3のステップS5の輪郭線の補正に係る処理を経ずに、すなわち、
図3のステップS4の処理の直後にステップS6の処理を行うようにしてもよい。
【0075】
また、本実施形態によれば、
図3のステップS6の欠損情報の補完に係る処理を経ずに、すなわち、
図3のステップS5の処理の直後にステップS7の処理を行うようにしてもよい。
【0076】
また、本実施形態によれば、
図11のステップS79において、リストデータT3に含まれる輪郭の面積比及び個数に応じた新たな輪郭線を追加するための処理が行われるものに限らず、例えば、当該輪郭の面積比及び個数に応じた異なる色または模様を用いて各輪郭を分別するための処理が行われるものであってもよい。
【0077】
また、本実施形態によれば、
図11の処理により輪郭内に追加される新たな輪郭線(区切り線)が、グリッド面において相互に直交する2つの方向のグリッド線のうちのいずれか一方の方向のグリッド線に一致するものでなくともよい。具体的には、本実施形態によれば、
図11の処理を経て輪郭内に追加される新たな輪郭線(区切り線)が、グリッド面において相互に直交する2つの方向のグリッド線のうちのいずれか一方の方向のグリッド線に対して平行である限りにおいては、当該2つの方向のグリッド線の両方から外れていてもよい(
図14参照)。
【0078】
また、本実施形態によれば、
図11のステップS79の処理において、輪郭線の代わりに、例えば、複数の点を直線状に並べて形成した点列を追加するための処理が行われるものであってもよい。
【0079】
また、本実施形態によれば、輪郭線の追加の要否に係る処理が、リストデータT2に含まれる全てのID番号の輪郭に対して施されるものに限らず、例えば、リストデータT2に含まれる一部のID番号の輪郭のみに対して施されるようにしてもよい。具体的には、演算部21aは、例えば、
図11のステップS75とステップS76との間において、
図15に示すようなリストデータT5を参照しつつ、輪郭線の追加の要否に係る処理をQ番の輪郭に対して施すか否を判定するようにしてもよい。
図15は、実施形態に係る情報提示装置において行われる処理に利用可能なリストデータの一例を説明するための図である。
【0080】
リストデータT5の「グループID」は、1つ以上のID番号の輪郭を有する1つのグループ毎に付されるユニークな値を示す項目である。リストデータT5の「IDリスト」は、「グループID」に属するID番号の輪郭を示す項目である。
【0081】
すなわち、演算部21aは、例えば、リストデータT5に含まれる全てのIDリストのうちのいずれか1つにQ番の輪郭が含まれている場合に限り、
図11のステップS76(または
図11のステップS76からステップS80まで)の処理を行うようにしてもよい。または、演算部21aは、例えば、リストデータT5に含まれる所定のグループIDのIDリストの中にQ番の輪郭が含まれている場合に限り、
図11のステップS76(または
図11のステップS76からステップS80まで)の処理を行うようにしてもよい。
【0082】
演算部21aは、
図3のステップS6までの処理によりグリッド面に描画した各輪郭を具備する画像である抽象化画像を出力デバイス25に表示させるための表示用のファイルを生成するための処理を行う(
図3のステップS7)。なお、
図3のステップS7の処理においては、html形式またはsvg形式等のようなファイル形式を表示用のファイルのファイル形式として適宜利用することができる。
【0083】
制御部21bは、
図3のステップS7の処理により生成された表示用のファイルに応じた抽象化画像と、当該抽象化画像における抽象度の変更に係るユーザの操作を受付可能とするGUI(グラフィカルユーザインターフェース)である抽象度変更UIと、を具備する表示画像を出力デバイス25に併せて表示させるための処理を行う(
図3のステップS8)。
【0084】
ここで、抽象度変更UIの生成に係る処理の具体例について、
図16を参照しつつ説明する。
図16は、実施形態に係る情報提示装置において行われる処理の具体例を示すフローチャートである。
【0085】
制御部21bは、出力デバイス25の表示画面を構成する最小ピクセル(例えば1ピクセル)を抽象度変更UIの最小グリッド幅Gminとして設定するための処理を行う(
図16のステップS91)。
【0086】
制御部21bは、
図3のステップS1において読み込まれた図面画像のデータの縦幅が横幅以下であるか否かを判定する(
図16のステップS92)。
【0087】
制御部21bは、
図3のステップS1において読み込まれた図面画像のデータの縦幅が横幅以下であるとの判定結果を得た場合(S92:YES)には、当該縦幅に相当する縦方向のピクセル数を抽象度変更UIの最大グリッド幅Gmaxとして設定するための処理を行う(
図16のステップS93)。また、制御部21bは、
図3のステップS1において読み込まれた図面画像のデータの縦幅が横幅よりも大きいとの判定結果を得た場合(S92:NO)には、当該横幅に相当する横方向のピクセル数を抽象度変更UIの最大グリッド幅Gmaxとして設定するための処理を行う(
図16のステップS94)。なお、本実施形態においては、抽象度変更UIの最大グリッド幅Gmaxが、
図3のステップS1において読み込まれた図面画像のデータの縦幅及び横幅のうちの短い方のピクセル数に合わせて設定されるものでなくともよい。
【0088】
制御部21bは、最小グリッド幅Gminと、最大グリッド幅Gmaxと、最小グリッド幅Gminより大きくかつ最大グリッド幅Gmax未満の範囲に属する1つ以上のグリッド幅と、のそれぞれに対応するピクセル数を、抽象度変更UIにおいて変更可能なグリッド幅のピクセル数に対応する目盛値として設定するための処理を行う(
図16のステップS95)。
【0089】
制御部21bは、
図16のステップS95により設定した各目盛値に基づき、例えば、
図17に示すような抽象度変更UI102を生成するための処理を行う(
図16のステップS96)。なお、
図17の抽象度変更UI102は、最小グリッド幅Gminが1ピクセルに設定され、かつ、最大グリッド幅Gmaxが500ピクセルに設定された場合の例を示しているものとする。
図17は、実施形態に係る情報提示装置において行われる処理により生成される抽象度変更UIの一例を示す図である。
【0090】
抽象度変更UI102は、最小グリッド幅Gminから最大グリッド幅Gmaxまでの間におけるグリッド幅の可変範囲を示す細長な枠102aと、ユーザにより操作される操作子102bと、を有して構成されている。
【0091】
操作子102bは、ユーザによる入力デバイス24の操作に応じ、枠102aに沿って移動することができるように構成されている。また、操作子102bは、ユーザによる入力デバイス24の操作に応じ、
図16のステップS95の処理により設定された各目盛値のうちの1つの目盛値に相当するピクセル数を抽象化画像のグリッド幅として設定可能なインターフェースとして構成されている。
【0092】
そして、以上に述べたような処理によれば、
図3のステップS8の処理結果として、例えば、
図18に示すような、抽象化画像101と、抽象化画像101よりも上部に配置された抽象度変更UI102と、を具備する表示画像100が出力デバイス25に表示される。すなわち、提示処理部としての機能を備えた制御部21bは、グリッド面において隣接するグリッド線同士の間隔の変更に係るユーザの操作を受付可能とするグラフィカルユーザインターフェースを生成し、当該生成したグラフィカルユーザインターフェースと、
図3のステップS5及びステップS6のうちの少なくとも1つの処理の処理結果として得られた各輪郭を含む抽象化画像と、を併せて提示する。なお、
図18の抽象化画像101においては、例えば、工場内に設置された各設備のうち、稼働中の設備に対応する輪郭をドット模様で示しているとともに、停止中の設備に対応する輪郭を塗りつぶしで示している。
図18は、実施形態に係る情報提示装置において行われる処理に応じて表示される表示画像の一例を示す図である。
【0093】
制御部21bは、抽象化画像101の抽象度の変更に係る操作、すなわち、抽象度変更UI102の操作子102bを現在の位置から移動させるための操作が入力デバイス24において行われたか否かを判定する(
図3のステップS9)。
【0094】
制御部21bは、抽象化画像101の抽象度の変更に係る操作が行われたことを検出した場合(S9:YES)には、操作子102bの位置に基づいて変更後のグリッド幅を特定するとともに、当該変更後のグリッド幅を具備するグリッド面において
図3のステップS4〜ステップS8の処理を再度行わせるための制御を演算部21aに対して行う。また、制御部21bは、抽象化画像101の抽象度を変化させるための操作を検出できなかった場合(S9:NO)には、
図3の一連の処理を終了する。
【0095】
すなわち、本実施形態においては、抽象度変更UI102の操作により、ユーザの用途等に応じた所望の抽象度で抽象化された抽象化画像101を出力デバイス25に表示させることができる。
【0096】
以上に述べたように、本実施形態によれば、構造物を抽象化して提示する際の可視性の低下を防ぐことができる。
【0097】
本実施形態の情報提示システム1の情報提示装置11の各機能は、プログラムとして構成することができる。例えば、コンピュータの不図示の補助記憶装置に格納され、CPU21が補助記憶装置に格納された情報提示装置11の各機能毎のプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムをCPU21が実行し、コンピュータに本発明の各部の機能を動作させることができる。すなわち、本実施形態の情報提示システム1の情報提示装置11の各機能毎のプログラムがインストールされたコンピュータは、本実施形態の情報提示システム1の情報提示装置11の各機能を遂行するコンピュータ装置として動作することが可能である。
【0098】
また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、コン
ピュータに提供することも可能である。コンピュータ読取可能な記録媒体としては、CD
−ROM等の光ディスク、DVD−ROM等の相変化型光ディスク、MO(Magnet Optical)やMD(Mini Disk)などの光磁気ディスク、フロッピー(登録商標)ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路(ICチップ等)等のハードウェア装置も記録媒体として含まれる。
【0099】
本発明の実施形態を説明したが、これらの実施形態は、例として示したものであり、本発明の範囲を限定することは意図していない。これら新規の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。