図面 (/)

技術 検索装置および検索方法

出願人 株式会社東芝
発明者 岩政幹人
出願日 2014年11月17日 (4年8ヶ月経過) 出願番号 2016-559713
公開日 2017年5月18日 (2年2ヶ月経過) 公開番号 WO2016-079792
状態 特許登録済
技術分野 検索装置 CAD
主要キーワード 統合手順 サブ要素 制御構文 代入式 モデルエディタ 関数型言語 関係モデル ビル情報
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年5月18日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題・解決手段

[課題]部品間の意味関係と、部品の3次元情報とを利用した、柔軟な検索を可能にする。[解決手段]本発明の実施形態としての検索装置は、部品間に成立する意味関係、および前記部品の3次元情報を記憶する記憶手段と、前記意味関係を利用して部品の条件を定義する第1検索条件と、前記3次元情報とを利用して部品の条件を定義する第2検索条件とを含む入力検索式を解析して構造情報を生成する解析手段と、前記意味関係に基づく検索式解釈および実行可能な第1検索手段と、前記3次元情報に基づく検索式を解釈および実行可能な第2検索手段と、前記構造情報において前記第1検索条件に対応する部分から第1の検索式を生成し、前記第2検索条件に対応する部分から第2の検索式を生成する生成手段と、前記第1検索手段による前記第1の検索式の検索結果と、前記第2検索手段による前記第2の検索式の検索結果を統合する検索結果統合手段とを備える。

概要

背景

従来の検索技術として、ビル情報モデルに含まれる建物の情報を、ビル情報の意味モデル(例えば、IFC(Industry Foundation Classes,ISO16739)に代表されるスキーマにて定義される)に従って検索するものがあった。しかしながら、建物部品の形状および位置といった、建物部品の3D情報を活用しておらず、柔軟な検索機能を提供しているとは言えなかった。

概要

[課題]部品間の意味関係と、部品の3次元情報とを利用した、柔軟な検索を可能にする。[解決手段]本発明の実施形態としての検索装置は、部品間に成立する意味関係、および前記部品の3次元情報を記憶する記憶手段と、前記意味関係を利用して部品の条件を定義する第1検索条件と、前記3次元情報とを利用して部品の条件を定義する第2検索条件とを含む入力検索式を解析して構造情報を生成する解析手段と、前記意味関係に基づく検索式解釈および実行可能な第1検索手段と、前記3次元情報に基づく検索式を解釈および実行可能な第2検索手段と、前記構造情報において前記第1検索条件に対応する部分から第1の検索式を生成し、前記第2検索条件に対応する部分から第2の検索式を生成する生成手段と、前記第1検索手段による前記第1の検索式の検索結果と、前記第2検索手段による前記第2の検索式の検索結果を統合する検索結果統合手段とを備える。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

次元空間に配置された部品について、前記部品間に成立する意味関係、および前記部品の3次元情報を記憶する記憶手段と、前記意味関係を利用して部品の条件を定義する第1検索条件と、前記3次元情報を利用して部品の条件を定義する第2検索条件とを含み、前記第1検索条件と前記第2検索条件を満たす部品の入力検索式を解析することにより、前記入検索式構造情報を生成する解析手段と、前記意味関係に基づく検索式を解釈および実行可能な第1検索手段と、前記3次元情報に基づく検索式を解釈および実行可能な第2検索手段と、前記構造情報において前記第1検索条件に対応する部分から、前記第1検索手段により解釈可能な第1の検索式を生成し、前記構造情報において前記第2検索条件に対応する部分から、前記第2検索手段により解釈可能な第2の検索式を生成し、前記第1の検索式と前記第2の検索式の検索結果を統合するための統合情報を生成する生成手段と、前記第1検索手段による前記第1の検索式の検索結果と、前記第2検索手段による前記第2の検索式の検索結果を前記統合情報に基づき統合することにより、前記入力検索式を満たす部品を特定する検索結果統合手段と、を備えた検索装置

請求項2

前記統合情報は、前記第1の検索式の検索結果を、前記第2の検索式に適用して、前記第1の検索式の検索結果のうち、前記第2の検索式を満たす検索結果を抽出することを記述したスクリプトであり、前記検索結果統合手段は、前記スクリプトに従って、前記第1の検索式の検索結果に基づき前記第2の検索式を実行することで、前記入力検索式を満たす部品を特定する請求項1に記載の検索装置。

請求項3

前記生成手段は、前記スクリプトを、前記構造情報において前記第2検索条件に対応する部分の最後の文の演算子に基づいて、予め用意されたテンプレートから選択する請求項2に記載の検索装置。

請求項4

前記入力検索式は、複数の文を含み前記生成手段は、前記文が、予め定めた3次元検索用関数を含むか否かにより、前記第1検索条件に関連する部分に属するか、前記第2検索条件に関連する部分に属するかを判断する請求項1ないし3のいずれか一項に記載の検索装置。

請求項5

前記第2検索条件は、3次元空間内の指定範囲に前記部品の全部または一部が含まれことを要求する請求項1ないし4のいずれか一項に記載の検索装置。

請求項6

前記第1の検索式は、所定の問い合わせ言語で記述され、前記第2の検索式は、手続型言語で記述された請求項1ないし5のいずれか一項に記載の検索装置。

請求項7

前記構造情報は、前記構文木である請求項1ないし6のいずれか一項に記載の検索装置。

請求項8

前記検索結果統合手段は、前記特定した部品を表す情報を出力する請求項1ないし7のいずれか一項に記載の検索装置。

請求項9

前記検索結果統合手段は、前記特定した部品を表す情報として、前記特定した部品を識別するテキスト、または、前記特定した部品の3次元情報を出力する請求項8に記載の検索装置。

請求項10

検索式を入力するための入力手段をさらに備え、前記解析手段は、前記入力手段で入力された検索式を解析する請求項1ないし9のいずれか一項に記載の検索装置。

請求項11

前記検索結果統合手段により出力された情報を表示する表示手段をさらに備えた請求項1ないし10のいずれか一項に記載の検索装置。

請求項12

前記部品を、建物を構成する部品である請求項1ないし11のいずれか一項に記載の検索装置。

請求項13

3次元空間に配置された部品について、前記部品間に成立する意味関係、および前記部品の3次元情報を記憶する記憶手段に基づき、前記意味関係を利用して部品の条件を定義する第1検索条件と、前記3次元情報を利用して部品の条件を定義する第2検索条件とを含み、前記第1検索条件と前記第2検索条件を満たす部品の入力検索式を解析することにより、前記入力検索式の構造情報を生成する解析ステップと、前記構造情報において前記第1検索条件に対応する部分から、前記意味関係に基づく検索式を解釈および実行可能な第1検索手段により解釈可能な形式を有する第1の検索式を生成し、前記構造情報において前記第2検索条件に対応する部分から、前記3次元情報に基づく検索式を解釈および実行可能な第2検索手段により解釈可能な形式を有する第2の検索式を生成し、前記第1の検索式と前記第2の検索式の検索結果の統合手順を表す統合情報を生成する生成ステップと、前記第1検索手段による前記第1の検索式の検索結果と、前記第2検索手段による前記第2の検索式の検索結果を前記統合情報に基づき統合することにより、前記入力検索式を満たす部品を特定する検索結果統合ステップとをコンピュータが実行する検索方法

技術分野

0001

本発明の実施形態は、検索装置および検索方法に関する。

背景技術

0002

従来の検索技術として、ビル情報モデルに含まれる建物の情報を、ビル情報の意味モデル(例えば、IFC(Industry Foundation Classes,ISO16739)に代表されるスキーマにて定義される)に従って検索するものがあった。しかしながら、建物部品の形状および位置といった、建物部品の3D情報を活用しておらず、柔軟な検索機能を提供しているとは言えなかった。

先行技術

0003

特開2013−190849号公報
特開2013−171579号公報

発明が解決しようとする課題

0004

本発明の実施形態は、部品間の意味関係と、部品の3次元情報とを利用した、柔軟な検索を可能にしようとするものである。

課題を解決するための手段

0005

本発明の実施形態は、記憶手段と、解析手段と、第1検索手段と、第2検索手段と、生成手段と、検索結果統合手段とを備える。

0006

前記記憶手段は、3次元空間に配置された部品について、前記部品間に成立する意味関係、および前記部品の3次元情報を記憶する。

0007

前記解析手段は、前記意味関係を利用して部品の条件を定義する第1検索条件と、前記3次元情報を利用して部品の条件を定義する第2検索条件とを含み、前記第1検索条件と前記第2検索条件を満たす部品の入力検索式を解析することにより、前記入検索式構造情報を生成する。

0008

前記第1検索手段は、前記意味関係に基づく検索式を解釈および実行可能である。

0009

前記第2検索手段は、前記3次元情報に基づく検索式を解釈および実行可能である。

0010

前記生成手段は、前記構造情報において前記第1検索条件に対応する部分から、前記第1検索手段により解釈可能な第1の検索式を生成し、前記構造情報において前記第2検索条件に対応する部分から、前記第2検索手段により解釈可能な第2の検索式を生成し、前記第1の検索式と前記第2の検索式の検索結果を統合するための統合情報を生成する。

0011

前記検索結果統合手段は、前記第1検索手段による前記第1の検索式の検索結果と、前記第2検索手段による前記第2の検索式の検索結果を前記統合情報に基づき統合することにより、前記入力検索式を満たす部品を特定する。

図面の簡単な説明

0012

本実施形態に係る検索装置のブロック図。
クラス図の例を示す図。
建物内のある箇所の平面図を模式的に示す図。
検索式を構文解析して得られる構文木を示す図。
構文木を、up関係を辿った階層構造で表した図。
ブロック間の階層構造を示す図。
構文木を2つに分離する例を示す図。
本実施形態に係る検索装置の全体の動作のフローチャート
解析処理の詳細動作のフローチャート。
検索式分離処理の詳細な動作のフローチャート。
検索処理および統合処理の詳細な動作のフローチャート。
検索装置のハードウェア構成例を示す図。

実施例

0013

以下、図面を参照しながら、本発明の実施形態について説明する。

0014

図1に、本実施形態に係る検索装置のブロック図を示す。建物情報DB(記憶手段)106には、3次元空間に配置される部品(あるいはオブジェクト)として、建物を構成する部品間に成立する意味関係を表す情報(関係モデル)が記憶されている。また建物情報DB106には、各部品の3次元(3D)情報あるいは3Dモデルが格納されている。3次元情報は、形状情報(geometry)を含む。この形状情報(geometory情報)は、建物の占める空間の絶対座標系にて記述されており、従って、物品位置情報も含んでいる。建物情報DB106の詳細は後述する。

0015

検索式入力手段201は、検索式を入力するためのインターフェイスである。検索式入力手段201で入力される検索式は、意味関係を利用して部品の条件を定義する第1検索条件と、3次元情報を利用して部品の条件を定義する第2検索条件とを含み、第1検索条件と第2検索条件を満たす部品を検索するものである。検索式入力手段201は、一例として、タッチパネルマウス、およびキーボード等のユーザにより操作されるインターフェイスでもよいし、検索式が格納された記憶装置でもよいし、記録媒体からデータを読み出す読み出しドライブ等でもよい。記憶装置は、SSD、ハードディスクUSBメモリ等の永続的に情報を記憶する装置または不揮発性メモリでもよいし、DRAM等の揮発性メモリでもよい。読み出しドライブは、一例として、DVD、CD−ROM等のドライブである。

0016

解析手段101は、検索式入力手段201に接続されており、検索式入力手段201から入力された検索式を構文解析して、検索式の構造情報を生成する。具体的に、検索式分離手段102が解釈可能な形式、例えば木構造に変換する。ここでは木構造に変換する場合を想定する。解析手段101は、検索式分離手段102に接続されており、変換により得られた木構造の検索式を、検索式分離手段102に出力する。

0017

検索式分離手段102は、解析手段101から木構造を受け取り、意味関係に基づく検索に関連する部分と、3D空間検索(空間検索とも呼ぶ)に関連する部分とに分解し、それぞれから意味関連検索手段104(第1検索手段)により解釈可能な検索式(意味関連検索式)および3D空間検索手段105(第2検索手段)により解釈可能な検索式(3D空間検索式)を生成する。3D空間検索とは、3D空間において、3D情報を利用した検索、例えば、3D空間において、指定した範囲に含まれるオブジェクト(部品)を検索するものである。範囲の指定は、任意の方法でよく、例えば起点(視点)と、方位と、形状とによって指定してもよいし、3D空間において複数の範囲の交差領域でもよい。オブジェクトが、指定された範囲に含まれるとは、オブジェクトの全部が当該範囲に含まれるとしてもよいし、オブジェクトの少なくとも一部が当該範囲に含まれるとしてもよい。また、検索式分離手段102は、意味関連検索式の検索結果と、3D空間検索式の検索結果との統合手順を表す統合情報(統合スクリプト)を生成する。統合スクリプトの一形態は、意味関連検索式の実行結果(検索結果)を、3D空間検索式に適用して、意味関連検索式の検索結果のうち、3D空間検索式を満たす検索結果を抽出することを記述したスクリプトである。

0018

意味関連検索手段104は、検索式分離手段102に接続されており、検索式分離手段102から意味関連検索式を受け取る。意味関連検索手段104は、当該意味関連検索式に基づき、建物情報DB106を検索し、検索結果として、所望の建物部品(オブジェクト)を取得する。意味関連検索手段104は、例えば所定の問い合わせ言語で記述された検索式を解釈および実行可能である。意味関連検索手段104の動作は、検索結果統合手段103により制御可能である。

0019

3D空間検索手段105は、検索式分離手段102に接続されており、検索式分離手段102から3D空間検索式を受け取る。3D空間検索手段105は、当該3D空間検索式に基づき、建物情報DB106における3D情報を用いて検索を行う。3D空間検索手段105は、例えば所定の手続型言語で記述された検索式を解釈および実行可能である。3D空間検索手段105の動作は、検索結果統合手段103により制御可能である。

0020

検索結果統合手段103は、検索式分離手段102に接続されており、検索式分離手段102から統合スクリプトを受け取る。また検索結果統合手段103は、意味関連検索手段104と3D空間検索手段105に接続されており、統合スクリプトに基づき、意味関連検索手段104の検索結果と3D空間検索手段105の検索結果を統合する。具体的に、検索結果統合手段103は、統合スクリプトに従って、意味関連検索式の検索結果に基づき3D空間検索式を実行することで、検索式入力手段から入力された検索式を満たす部品を特定する。検索結果統合手段103は、得られた結果の情報(検索式入力手段201で入力された検索式を満たす部品を表す情報)を検索結果表示手段202に出力する。

0021

検索結果表示手段202は、検索結果統合手段103に接続されており、検索結果統合手段103から入力された検索結果(部品)を表す情報を表示する。検索結果表示手段202は、検索結果を表示する画面装置であり、一例として、液晶表示ディスプレイである。単独の独立したディスプレイでもよいし、携帯端末のディスプレイでもよい。テキストとして出力することもできるし、検索された部品を、3D画像で表示することもできる。

0022

ここで、前述したように、建物情報DB106には、建物を構成する部品(あるいはオブジェクト)間に成立する意味関係の情報(関係モデル)が記憶されている。関係モデルは、一例としてビル情報モデル(BIM:Building Information Model)である。関係モデルの形式は任意で良いが、一例として、関係モデルが、建物を構成する部品毎にクラス分けされたエンティティと、エンティティ間に成り立つ関係(意味関係)とを含む。例えば、エンティティ間の接続関係を含む意味情報を規定するIFC(Industry Foundation Classes,ISO16739)をスキーマとしたデータベース(関係モデル)でもよい。この場合、関係モデルは、クラス図によって表現されてもよい。

0023

図2に、ISO 16739:2013 Industry Foundation Classes (IFC) for data sharing in the construction and facility management industriesから抜粋したクラス図を示す。矩形の枠が製品または部品のクラスを表し、矩形の四隅が弧状にカーブしている枠は、クラス間の関係を表すクラス(この例ではIfcRelSpaceBoundary)である。直線の実線で結合された矩形間は、上位から下位方向へ、is−a関係を表している。例えばIfcProductはIfcElementである(IfcProduct is an IfcElement.)。

0024

意味情報の一例として、例えばドア(IfcDoor)に接続する部屋(IfcSpace)が、関係(IfcRelSpaceBoundary)によってづけられている。具体的に、ドア(IfcDoor)から部屋(IfcSpace)方向へ辿る場合は、プロパティとして、(INV)ProvidesBoundaries S[0:?]とRelatingSpaceとを介して紐付けられ、部屋(IfcSpace)からドア(IfcDoor)方向へ辿る場合は、(INV)BoundedBy S[0:?]とRelatedBuildingElementとを介して紐付けられる。

0025

「ABS」はABSTRACTのことであり、「ABS」が記入された矩形のクラスは、抽象クラスのことである。「ABS」が記入されていない矩形のクラスは、インスタンスの生成が可能な通常のクラスである。

0026

以下、具体的な事例に基づき、建物情報DB106について、さらに詳細に説明する。

0027

建物情報DB106では、オブジェクト指向考え方に従って、建物を構成する部品(インスタンス)が、型(クラス)毎に分類されている。インスタンスは、固有の状態を持つオブジェクトであり、クラスを実体化したものである。また、クラス間の継承に関する関係(前述したis_a関係)、構造上の階層関係(has_a関係)および、クラス間に成立する建物特有の関係(例:接続)が記録されている。また、各部品のプロパティ(属性)に関する情報を有している。

0028

また、前述したように、建物情報DB106は、各部品の形状情報を持っている。この形状情報は、建物の占める空間の絶対座標系にて記述されている。

0029

また建物情報DB106には、オブジェクト指向DBの考え方に従って、検索のための手段が具備されていてもよい。このように検索手段を備えた建物情報DBの例として、BIMserverがある。BIMserverは、ビルの情報を、BIM標準に従って記述されたIFCファイルから読み込み、これをオブジェクト指向の考え方に沿ってデータベースとして保持する。BIMserverは、このデータベースを利用して、SQLに代表される検索式を実行する検索サービスを提供している。外部の装置は、検索式をBIMサーバに送信し、BIMサーバから検索結果を受け取る。BIMをデータベースに保存し、これに対して検索を行う言語の既存技術の例としては、BIMQL(Building Information Model Query Language)がある。

0030

以下、部品(オブジェクト)間に成立する関係(「接続」等の意味関係)に関する情報を利用した検索の例を示す。
(例1)ドアを介して接続する2つの部屋を想定し、2つの部屋の床の高さの差分が200mm以上であるドアを見つける検索の例を示す。この検索式の例を、以下に検索式1として示す。検索式は、検索式入力手段201から入力する。検索式を直接入力する他、3Dモデルエディタを用いるならば、ドアと部屋の接続、床間の関係を3D図として入力してもよい。この場合、入力された3D図を、解析手段101または別の任意の手段で、検索式に展開する。ここで、検索式は、3D空間上での具体的な状況を記述するものであり、手続き的な処理または制御構文を持たないものを想定する。説明のため、本実施形態で用いる検索式は、SQL風の文法準拠するものとする。なお、下記のAbs()は絶対値を計算する関数である。
<検索式1>
Select $Var1
Where $Var1.type == IfcDoor
Rooms = $Var1.ConnectedSpace
Abs(Rooms[0].floor.height ?Rooms[1].floor.height) > 200

0031

IfcDoorは、型(type)が、"Door"であるインスタンスを指定している。この検索式では、Where以下の条件を満たすインスタンスを検索し、Select文で$Var1として返す。インスタンスから接続する部屋(複数)をConnectedSpaceプロパティを利用して、$Var1.ConnectedSpaceで取得して、取得した部屋数をRoomsに代入する。取得した部屋Rooms[0]、Rooms[1]のフロアの高さ(Rooms[0].floor.height 、Rooms[1].floor.height)の差の絶対値をAbs()により求め、当該絶対値が20cmより大きいDoorインスタンスを、$Var1として選択している。

0032

(例2)別の例として、建物内のコーナー(角)のうち、鏡が設置されてない角を見つける検索の例を示す。この検索式の例を、以下に検索式2として示す。
<検索式2>
Select $Var1
Where $Var1.type == IfcCorner
$Var.Mirror == null

0033

IfcCornerは、型(type)が、"Corner"であるインスタンスを指定している。Mirrorプロパティの値がヌル(null)、すなわち鏡が設置されていないCornerインスタンスを見つけ、$Var1として返している。

0034

次に、3D空間検索の検索例を示す。例えば、ある起点(視点)から、ある方位に対して、30度の円錐の範囲に含まれるオジェクトを検索する場合の検索式の例を示す。以下の検索式3がその一例である。
<検索式3>
Cone =3DCone(poinsts,dir,30)
Objects=3DGetInclude(Cone)

0035

3DCone(poinsts,dir,30)は、起点pointsから、dirの方向に見て30度の円錐を表すオブジェクトを表す。このオブジェクトを代入文により、Coneに与えている。3DInclude(Cone)で、このConeに含まれるオブジェクト(部品)を取得して、代入文により、Objectsに与えている。

0036

ここでは、3D空間内で指定された範囲に含まれるオブジェクトを取得する例を示したが、指定されたオブジェクト同士が交差する領域を取得する命令(3DIntersect)もある。また、指定されたオブジェクト同士の論理演算、たとえば指定されたオブジェクト同士が交差するか否かの論理演算命令(Intersect)などもある。その他、3D空間に関する様々な命令が存在する。

0037

以下では、部品間の意味関係の情報を利用した検索(意味関係検索)と、3D空間検索を組み合わせた例を示す。本実施形態では、このような検索式を検索式入力手段201から入力する。この検索式の例を、検索式4に示す。図3に検索式4の内容を模式的に表した建物内のある箇所の平面図を示す。直線上の通路が途中で直角に曲がっており、角部には鏡が配置されている。
<検索式4>
--------------------------------------------------
Select $Var1
Where $Var1.Type == IfcCorner
$Var1.Mirror !=null
Connections = $Var.AdjacentConnections
Cone1= 3DCorn(Connections[0].points,Connections[0].dir, 30)
Cone2= 3DCorn(Connections[1].points,Connections[1].dir,30)
Intersect = 3DIntersect(Cone1,Cone2)
3DIsIntersect(Cone1,Cone2)
3DInclude(Intersect, $Var.Mirror.geometory)
(3DIntercept(Connections[0].points,$Var.Mirror.geometory) ||
3DIntercept(Connections[1].points,$Var.Mirror.geometory))
--------------------------------------------------

0038

この事例では、角(IfcCorner)に鏡が設置してある場合でも、視界を遮る他のオブジェクト(障害物)により、角につながる経路から鏡が見えないこととなる角を検索している(なお図3では障害物を明示していない)。検索式入力手段201では、上記の検索式を直接入力してもよいし、3Dエディタを用いて、角に鏡が設置してあるが、角に向かう経路からの視野角で鏡が見えない場合を、3D画面で定義して、これを検索式に3Dエディタまたは別の変換アプリケーションにより展開して、入力してもよい。

0039

IfcCornerは、型(type)が、"Corner"であるインスタンスを指定している。この検索式では、Where以下の条件を満たすインスタンスを検索し、Select文で$Var1として返す。$Var1.Mirror !=nullは、Mirrorプロパティの値がヌル(null)でない、すなわち鏡が設置されていることを示す。「!」は否定を表す。

0040

$Var.AdjacentConnectionsは、角の接続点(Connections)を表し、これをConnectionsとして取得している。ここでは2つの接続点Connections[0]およびConnections[1]が取得される。

0041

3DCorn(Connections[0].points,Connections[0].dir, 30)は、接続点Connections[0]の位置または座標点(Connections[0].points)から、当該接続点に設定されている方向(Connections[0].dir)に見て、30度の円錐を指し、これをCone1に入力している。

0042

同様に、3DCorn(Connections[1].points,Connections[1].dir, 30)は、接続点Connections[1]の位置または座標点(Connections[1].points)から、当該接続点に設定されている方向(Connections[1].dir)に見て、30度の円錐を指し、これをCone2に入力している。

0043

3DIntersect(Cone1,Cone2)は、円錐Cone1,Cone2が交差する空間(交差部)を表し、これをIntersectに入力している。

0044

3DIsIntersect(Cone1,Cone2)は、円錐Cone1,Cone2が交差しているか否かを判定する論理式である。交差していれば真、交差していなければを返す。

0045

3DInclude(Intersect, $Var.Mirror.geometory)は、交差部Intersectが 鏡の幾何形状($Var.Mirror.geometory)を含んでいるかを判定する論理式である。鏡の幾何形状を含んでいれば真、含んでいなければ偽を返す。幾何形状を含んでいるとは、ここでは幾何形状の全てを包含している場合を想定しているが、一部が包含されている場合を指すように定義してもよい。

0046

3DIntercept(Connections[0].points,$Var.Mirror.geometory)は、接続点の位置(Connections[0].points)と、鏡の幾何形状との間に、視界を阻害しているオブジェクト(障害物)があるかを判定する論理式である。障害物があれば真、なければ偽を返す。

0047

同様に、3DIntercept(Connections[1].points,$Var.Mirror.geometory)は、接続点の位置(Connections[1].points)と、鏡の幾何形状との間に障害物があるかを判定する論理式である。障害物があれば真、なければ偽を返す。

0048

「||」は、論理和(OR)を表す。
よって、 (3DIntercept(Connections[0].points,$Var.Mirror.geometor) ||
3DIntercept(Connections[1].points,$Var.Mirror.geometory))
は、接続点の位置(Connections[0].points)と、鏡の幾何形状との間、および接続点の位置(Connections[1].points)と、鏡の幾何形状との間の少なくとも一方に障害物がある場合に真を返す。それ以外の場合は、偽を返す。

0049

上述の検索式では、上記のすべての条件が真となるようなインスタンスを検索する。

0050

検索式4は、SQL風に宣言的に記述されるが、3D空間検索の部分は、手続き型の処理が行われるので、後述するように、3D空間検索の部分と、そうでない部分(意味関連検索の部分)に分離して、それぞれに適合した(すなわち、意味関連検索手段および3D空間検索手段により解釈可能な)検索式を生成する。

0051

解析手段101は、検索式を解析して、検索式の構造情報を生成する。具体的に、検索式の構造情報として、検索式を、検索式の文法に従った構文木に展開する、検索式に不整合またはエラーがある場合は、この旨を、表示装置を介してユーザに通知してもよい。構文木の生成は、既存の任意の手法を用いればよく、具体例については後述する。

0052

検索式分離手段102は、構文木を解析し、意味関連検索に係る部分(部分木)と、3D空間検索に係る部分(部分木)に分離し、それぞれから意味関連検索式と3D空間検索式(3D空間検索関数)を生成する。また、検索式分離手段102は、意味関連検索式と3D空間検索式の統合手順を表す情報(統合スクリプト)を生成する。

0053

上述した検索式4から構文木を生成し、それぞれ意味関連検索に係る部分(部分木)と、3D空間検索に係る部分(部分木)に分離し、それぞれから意味関連検索式と3D空間検索式(3D空間検索関数)を生成する例を以下に示す。

0054

<意味関連検索式1>
Select $Var1, $Connections
Where $Var1.Type == IfcCorner
$Var1.Mirror !=null
$Connections = $Var1.AdjacentConnections

0055

$Var1, $Connectionsは、以下の3D空間検索関数への引数cornerおよびconnectionsとしてそれぞれ渡される。意味関連検索式の読み方は、前述した説明から自明であるため省略する。なお、意味関連検索式で取得される角は、1つとは限らず、建物内に鏡のない角が複数あれば、複数の角が取得される。意味関連検索式1は、所定の問い合わせ言語で記述される。

0056

<3D空間検索関数1>
function 3Dfunc1(corner,connections){
var Cone1= 3DCorn(connections[0].points,connections[0].dir,30)
var Cone2= 3DCorn(connections[1].points,connections[1].dir,30)
Intersect = 3DIntersect(Cone1,Cone2)
if (3DIsIntersect(Cone1,Cone2) &&
3DInclude(Intersect, corner.Mirror.geometory) &&
(3DIntercept(connections[0].points,corner.Mirror.geometor) ||
3DIntercept(connections[1].points,corner.Mirror.geometory)))
return true;
else
return false;
}

0057

3D空間検索関数は、手続き型言語の関数形式で表現され、かつ変数定義や、条件文から構成されている。この関数は、戻り値として、真(true)または偽(false)を返す。関数3Dfunc1は、cornerとconnectionsを引数に有し、これらを意味関連検索式の実行結果(検索結果)として受け取る。

0058

2つの円錐3DCorn(conns[0].points,connections[0].dir, 30)、
3DCorn(conns[1].points,connections[1].dir,30)を、それぞれCone1およびCone2に代入している。Cone1およびCone2は、それぞれvarによって定義されている。
3DIsIntersect(Cone1,Cone2)が成立し、
かつ3DInclude(Intersect, corner.Mirror.geometory)が成立し、
かつ、(3DIntercept(conns[0].points,corner.Mirror.geometory) ||
3DIntercept(conns[1].points,corner.Mirror.geometory)))が成立した場合、真(true)が返され、それ以外の場合は、偽(false)が返される。

0059

また検索式分離手段102は、意味関連検索式と3D空間検索式の統合手順を表す情報(統合スクリプト)を生成する。以下は統合スクリプトの例である。
<統合スクリプト1>
(let res1 意味関連検索結果
(booleanfilter
(map (fun x (3Dfunc1 (get2nd x))) res1)
(map (get1st res1))
)
)

0060

統合スクリプトの処理では、集合演算(map処理)とフィルタ処理(booleanfilter処理)が行われる。統合スクリプトは、本実施形態では関数型言語風の記述を採用しているが、他の形式で記述してもかまわない。

0061

“()”はリストを表し、リストの最初が、“union”, “map”, “let”, “get1st”, “get2nd”, “booleanfilter”であるものは、以下の意味をもつ特別なリストであるとする(なお、上記の例では、“union”は含まれていない)。
・(let a b)はbを変数aに代入する
・(union リスト1 リスト2)は、リスト1,2の和集合を、リストとして計算する。例えば、union(a,b)(a,c)の結果は、(a,b,c)となる。
・mapは 、f()内の各要素についてf()を適用し、その結果の集合を取るもので、(map fun1 (a b c d))の場合、(fun1(a), fun1(b), fun1(c), fun1(d))となる。
・(get1st (a b))は(a)を得、(get2nd (a b))は(b)を得るものとする
・(booleanfilter (true false false true) (1 2 3 4))は、true/falseに応じて、(1 2 3 4)をフィルタリングする。具体的に(1 2 3 4)のうち、対応する値がtrueの要素のみを取り出す。この場合、(1 4)を得る。
・(map (fun x (3Dfunc1 (get2nd x))) res1) のfun xは無名関数を定義する。簡単な例として、 (fun x x*2)を考える。これは 無名関数(x)=x*2 を意味する。この場合、(map (fun x x*2) (1 2 3 4))は、(map 無名関数 (1 2 3 4))になり、さらにこれは、(無名関数(1) 無名関数(2) 無名関数(3) 無名関数(4))となる。無名関数(x)=x*2に相当するため、 (2 4 6 8)が得られる。同様にして、(map (fun x (3Dfunc1 (get2nd x))) res1)も考えればよい。

0062

意味関連検索手段104は、意味関連検索式1を元に検索を行い、検索結果の集合(統合スクリプトの「意味関連検索結果」に対応)を得る。検索結果の集合の各要素は、3Dfunction1の引数となり、それぞれ($Var1,Connections)である。検索結果の集合を、検索結果統合手段103に渡す。

0063

ここで、統合スクリプトに記載されているmapおよびbooleanfiterの処理について簡単な事例で説明する。
map f(a,b,c,d)は、f()内の各要素についてf()を適用し、その結果の集合を取る処理であり、この場合、{f(a),f(b),f(c),f(d)}が得られる。
booleanfilter {false,true,true,false}{a,b,c,d}は、{a,b,c,d}のうち、対応する値が真(true)の要素のみを取り出し、この場合、(b,c)となる。
従って、
booleanfilter
map f(a,b,c,d)
{a,b,c,d}
は、
booleanfilter
{f(a),f(b),f(c),f(d)}
{a,b,c,d}と表される。さらに、f(a),f(b),f(c),f(d)が、それぞれfalse,true,true,falseであれば、
booleanfilter
{false,true,true,false}
{a,b,c,d}となり、
最終的に(b,c)が得られる。

0064

検索結果統合手段103は、意味関連検索手段104の出力である検索結果の集合に対して、map関数が示すように、当該集合内の全ての要素(検索結果)に、3D空間検索手段105を用いて計算を実施する。例えば、意味関連検索手段104の出力である検索結果集合要素数が3の場合、すなわち、意味関連検索結果が{要素1、要素2、要素3}の場合は、3Dfunc1(要素1)、3Dfunc1(要素2)、3Dfunc1(要素3)を計算する。

0065

3D空間検索手段105は、意味関連検索手段104の検索結果に基づき与えられた引数に対して、3D空間検索を実施(先に示した3D検索関数1を実施)し、結果をtrueまたはfalseで返す。上記の例では、3Dfunc1(要素1)、3Dfunc1(要素2)、3Dfunc1(要素3)のそれぞれを計算し、結果をtrueまたはfalseで返す。

0066

検索結果統合手段103は、3D空間検索手段105から返された検索結果の集合(trueまたはfalseの要素から構成される集合から)に基づき、booleanfilterにより、trueに対応する、意味関連検索手段104の検索結果を選択する。上記の例では、3Dfunc1(要素1)、3Dfunc1(要素2)、3Dfunc1(要素3)がそれぞれtrue,false,trueであったとすると、
booleanfilter
{ true,false,true }
{要素1、要素2、要素3}
からtrueの要素が選択され、{要素1、要素3}となる。

0067

このように、建物情報DB106に対する検索を、3D空間検索に関連する部分と、3D空間検索に関連しない部分(意味関連検索に関連する部分)に分離し、それぞれを統合させて、所望の検索結果を得ることができる。

0068

次に、別の例として、検索式入力手段201から、以下の検索式5が入力された場合の処理を示す。
<検索式5>
Select $Var1,Objects
Where $Var1.Type == IfcCorner
$Var1.Mirror !=null
Connections = $Var.AdjacentConnections
Cone1= 3DCorn(Connections[0].points,Connections[0].dir, 30)
Objects = 3DGetInclude(Cone1)

0069

Select文で、Objectsが追加されている。末尾の文では、3DGetInclude(Cone1)により円錐(Cone1)内に含まれるオブジェクトを取得して、変数Objectsに代入している。取得されるオブジェクトの個数は0または1つとは限らず、複数の場合もある。検索式5では、鏡が設置された角について、当該角の接続点から、ある方向(dir)を見たときの30度の円錐内に含まれるオブジェクトを取得し、当該角のインスタンス($Var1)と、取得されたオブジェクト(Objects)を返す。

0070

解析手段101は、検索式5を構文解析して、構文木を生成する。図4に、検索式5を構文解析して得られる構文木を示す。なお、“eq”、“assign”、“and”等は、演算子、すなわち分の意味を表す情報である。“3dassign”および“3dfunc”は構文解析の結果、3D空間検索に関する文であると解析されたことを指している。図4に示すように構文木は13個の文から構成される。

0071

図4において、“ID”は文の番号、“OP”は演算子、“args”は引数、“up”はこの文の上位の文のID、“invars”は文が参照する変数リスト、“outvars”は文が出力する変数リストであるとする。ここで論理演算子(and等)は引数として、下位の文IDがリストとして与えられているものとする。また、演算子が3dassigneであるID10の{"Cone1",11}等の「11」は、文IDが11の文を指す。構文木を、up関係を辿った階層構造で表すと図5のようになる。

0072

検索式分離手段102は、解析された構文木を、意味関連検索に関する部分(部分木)と、3D空間検索に関連する部分(部分木)に分解し、それぞれを意味関連検索式と、3D空間検索関数(3D空間検索式)に展開する。また検索式分離手段102は、意味関連検索式および3D空間検索式の検索結果を統合するための統合スクリプトを生成し、統合スクリプトを検索結果統合手段103に渡す。以下、より具体的に示す。

0073

構文木の中で、3D空間検索に関連する部分(3dassign,3dfunc)を特定し、構文木をブロック(BLK)という単位で分離する。ここで構文木の全体を全体ブロックBLK0と表すと、構文木(BLK0)は、ブロックBLK1およびブロックBLK2の2つに分離できる。すなわち、BLK0、BLK1およびBLK2の階層構造は図6のようになる。

0074

構文木(BLK0)のうち、BLK1の部分木(ブロック)は、図7の枠301で示すように文1〜文8までの8個の文からなる。一方、BLK2の部分木(ブロック)は、図7の枠302で示すように文9〜13までの5個の文からなる。このように構文木は、2つブロックに分離できる。

0075

(引数の抽出処理
各々のブロックの変数invars、outvarsを特定する。この際、ブロック内でoutvarsがinvarsに対応している場合は、これはブロック内での入出力に相当し、特定の対象から除外する。すなわち、ブロック内での入出力でないものを、ブロックのinvars,outvarsとして特定する。この結果、以下のようになる。
BLK0のinvarsは無し(すなわち{})、outvarsは、{$Var1,Objects}となる。
BLK1のinvarsは無し(すなわち{})、outvarsは、{$Var1,Connections}となる。
BLK2のinvarsは、{Connections}、outvarsは、{Objects}となる。

0076

(意味関連検索式作成)
引数の抽出処理で特定したBLK1におけるoutvarをselect文の引数に追加する。具体的には、元の検索文のSelect文の引数($Var1、Objects)を、$Var1,Connectionsに置き換える動作になる。置き換え後の部分木を、SQL風の元の検索式の形式に戻すことにより、以下の意味関連検索式を得る。これにより、ブロック(BLK1)が意味関連検索式へ展開されたことになる。

0077

Select $Var1, Connections
Where $Var1.Type == IfcCorner
$Var1.Mirror !=null
Connections = $Var.AdjacentConnections

0078

(3D空間検索関数作成)
BLK2のinvarsは、関数の引数に設定する。3dasignの文に基づき代入式を生成する。3dfuncの文の引数を、所定のルールで展開して関数を生成する。本例ではこの関数が代入文の入力側となっている。BLK2のoutvarsは、返り値に設定する(例えばreturn命令でoutvarsを返す)。この結果、以下の3D空間検索関数(3D空間検索式)が得られる。これにより、ブロック(BLK2)が3D空間検索関数へ展開されたことになる。なお、木構造を3D空間検索関数の形式にするルールは事前に定められている。

0079

function 3Dfunc1(Connections){
var Cone1= 3DCorn(Connections[0].points,Connections[0].dir, 30)
var Objects = 3DGetInclude(Cone1)
return Objects;
}

0080

(統合スクリプト作成)
[ブロック間の変数の依存関係を明確化]
ブロック間の変数の依存関係を把握する。各々のブロックの変数invars、outvarsは、上述したように以下の通りである。

0081

BLK0,{},{$Var1,Objects}
BLK1,{},{$Var1,Connections}
BLK2,{Connections},{Objects}

0082

変数の依存関係を抽出する(変数間やりとり分析する)と、BLK1では、$Var1からConnectionsへの依存関係が得られる。BLK2では、ConnectionsからObjectへの依存関係が得られる。よって、Objectsは、最初に与えられる$Var1に1対1対応していることが分かる。

0083

$Var1は複数検索され得るため、全体の返り値の形式は、以下のように、$Var1とObjectsの組みのリストになる。もちろんリストの要素数が1の場合もあり得る。{$Var1,Objects}が1つの要素に相当する。
{{$Var1,Objects},{$Var1,Objects},....{$Var1,Objects}}

0084

テンプレートの選択]
BLK2の最終出力の文が、演算子が3dassignまたは3dfuncの文であるため、以下の型のテンプレートを選択する。

0085

(let res1 意味関連検索結果
(map 処理 res1)
)
)

0086

上述したように、()はリストを表し、リストの最初が“union”、 “map”、 “let”等の場合は、特別なリストであるとする。“union”、 “map”、 “let”等について、再度簡単に説明すると以下の通りである。
・(let a b)は、bを変数aに代入する。
・(union リスト1 リスト2)は、リスト1,2の和集合をリストとして計算する。
・(map fun1 (a b c d))は、fun1を各要素に展開して、(fun(a) fun(b) fun(c))となる。
・(get1st (a b))は、(a)を得、(get2nd (a b))は、(b)を得る。

0087

[引数の分析]
上述したように、意味関連検索結果が{$Var1,Connections}のリストを返すのに対し、3D空間検索関数は Connectionsを入力として、Objectsを出力する。全体の検索結果は、{$Var1,Objects}のリストであるから、意味関連検索結果を
res1={{$Var1,Connections},{$Var1,Connections},...,{$Var1,Connections}}と表すと、リストres1内のそれぞれの要素に対して、当該要素内の1番目の要素(第1サブ要素)と、当該要素内の2番目の要素(第2サブ要素)を3D空間検索関数に入力して、検索結果の組のリストを得ることになる。

0088

リストres1内のそれぞれの要素に対して、「処理」した結果のリストを得るための記述は以下の通りである。
(map 「処理」 元のリスト=res1)

0089

「処理」が、当該要素内の1番目の要素(第1サブ要素)と、当該要素内の2番目の要素(第2サブ要素)を3D空間検索関数に入力して検索された結果との組
(fun x ((get1st x) (3dfunc (get2nd x)))
に対応する。fun xは、前述したように無名関数(x)を表す。xは、当該要素を表し、例えば、get1st xは、xの1番目の要素(第1サブ要素)を得る。
よって、最終的に統合スクリプトは、以下のように得られる。

0090

(let res1 意味関連検索結果
(map (fun x ((get1st x) (3dfunc (get2nd x)) res1)
)

0091

なお、上述した説明から理解されるように、「let res1 意味関連検索結果」は、意味関連検索結果{{$Var1,Connections},{$Var1,Connections},...,{$Var1,Connections}}をres1にすべて代入することを意味する。

0092

次に、さらに別の例として、検索式入力手段201から、以下の検索式6が入力された場合の処理を示す。検索式5と異なる点として、末尾の文に“In($Var1.Mirror, Objects)”が追加されている。「In($Var1.Mirror, Objects)」は、$Var1.Mirrorが Objects集合に含まれるかを表す。$Var1.Mirrorが Objects集合に含まれることを、集合演算で記述すると、$Var1.Mirror∈Objects、となる。

0093

<検索式6>
Select $Var1
Where $Var1.Type == IfcCorner
$Var1.Mirror !=null
Connections = $Var.AdjacentConnections
Cone1= 3DCorn(Connections[0].points,Connections[0].dir, 30)
Objects = 3DGetInclude(Cone1)
In($Var1.Mirror, Objects)

0094

検索式6に対して統合スクリプトを生成するまでの処理を以下に示す。なお、構文木およびその生成過程の説明は省略する。

0095

(統合スクリプト作成)
[テンプレートの選択]
ブロックBLK2の最終出力の文が、演算子が3dassignまたは3dfuncの文でないため、以下の型のテンプレートを選択する。すなわち、最終出力の文は、「In($Var1.Mirror, Objects)」に対応する文であり、これは論理演算の文に相当する(演算子(OP)はinである。)。

0096

(let res1 意味関連検索結果
(booleanfilter
(map 処理 res1)結果リスト)
)
)

0097

[引数の分析]
まず、意味関連検索結果が{$Var1,Connections}のリストを返すのに対し、3D空間検索関数は Connectionsを入力として、Objectsを出力する。全体の検索結果は、{$Var1 }のリストであるから、意味関連検索結果を
res1={{$Var1,Connections},{$Var1,Connections},...,{$Var1,Connections}}と表すと、リストres1内のそれぞれの要素内の2番目の要素(第2サブ要素)を3D空間検索関数に入力して、検索結果の組であるtrue/falseのリストを求める。$Var1.Mirrorが Objects集合に含まれていればtrue(真)、含まれていなければfalse(偽)である。そして、true/falseに応じて、trueに対応する要素のみを選択し、さらに選択した要素(すなわち{$Var1,Connections})の1番目の要素(第1サブ要素)を抽出したリストを、最終的に得る。

0098

リストres1内のそれぞれの要素に対して、「処理」した結果のリストを得るための記述は以下の通りである。
(map 「処理」 元のリスト=res1)

0099

「結果リスト」は、{$Var1,Connections}の1番目の要素(第1サブ要素)のリストであるため
(map get1st res1)
と表される。

0100

「処理」は、3D空間検索関数に、2番目の要素(第2サブ要素)を入力した結果であるので
(fun x (3dfunc (get2nd x))
と表される。
よって、最終的に、以下の統合スクリプトを得る。

0101

(let res1 意味関連検索結果
(booleanfilter
(map (fun x (3dfunc (get2nd x)) res1)
(map get1st res1))
)
)

0102

このように、検索式6のように3D空間検索式の最後が、論理式である場合は、式が成立するか否かに応じて答え絞り込むbooleanfilterを用いる。

0103

図8に、本実施形態に係る検索装置の全体の動作のフローチャートを示す。解析手段101が、検索式入力手段201から入力された検索式に対して解析処理を行い、構文木を生成する(S101)。図9に解析処理の詳細動作のフローチャートを示す。検索式入力部より入力された検索式に対して、構文解析を実施し(S201)、エラーがある場合はエラーを表示終了し(S202)、エラーが無い場合は、構文木を作成して(S203)、終了する。

0104

次に、図8において、検索式分離手段102は、構文木に基づき、検索式分離処理を行う。図10に、検索式分離処理の詳細な動作のフローチャートを示す。構文木に対して、3D空間検索に係る部分を特定し(S301)、特定した部分(部分木)を構文木から分離する(S302)。分離した部分から引数を特定(抽出)する(S303)。また、構文木のうち、ステップS301で特定した部分以外の部分から、意味関連検索式を作成する(S304)。3D空間検索に係る部分と、抽出した引数とから3D空間検索関数(3D空間検索式)を作成する(S305)。最後に、意味関連検索式の検索結果と、3D空間検索関数の検索結果を統合するための統合スクリプトを生成する(S306)。統合スクリプトの一形態は、意味関連検索式の実行結果(検索結果)を、3D空間検索式に適用して、意味関連検索式の検索結果のうち、3D空間検索式を満たす検索結果を抽出することを記述したスクリプトである。なお、本フローのステップの順序図10に限定されない。

0105

次に、図8において、意味関連検索手段104および3D空間検索手段105により検索処理を行い、続いて検索結果統合手段103が統合処理を行う(S103)。図11に検索処理および統合処理の詳細な動作のフローチャートを示す。意味関連検索手段104が意味関連検索式を用いて意味関連検索を行い(S401)、次に意味関連検索の検索結果と3D空間検索式に基づき3D空間検索を実施し(S402)、最後に、統合スクリプトに従って、これらの検索結果を統合する(S403)。より詳細には、統合スクリプトに従って、意味関連検索式の検索結果に基づき3D空間検索式を実行することで、検索式入力手段から入力された検索式を満たす部品を特定する。検索結果統合手段103は、得られた結果(検索された部品の情報)を出力する。

0106

図12は、検索装置のハードウェア構成例を示す。検索装置は、CPU401、入力部402、表示部403、通信部404、主記憶部405、外部記憶部406を備え、これらはバス407により相互に通信可能に接続される。

0107

入力部402は、キーボード、マウス等の入力デバイスを備える。表示部403は、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等の表示ディスプレイを含む。通信部404は、無線または有線の通信手段を有し、所定の通信方式で通信を行う。

0108

外部記憶部406は、例えば、HDD、SSD、メモリ装置、CD−R、CD−RW、DVD−RAM、DVD−R等の記憶媒体等を含む。外部記憶部406は、図1の各処理部の機能を、CPU401に実行させるためのプログラムを記憶している。また、建物情報DB106も、外部記憶部406に含まれる。ここでは、外部記憶部406を1つのみ示しているが、複数存在しても構わない。

0109

主記憶部405は、CPU401による制御の下で、外部記憶部406に記憶された制御プログラムを展開し、当該プログラムの実行時に必要なデータ、当該プログラムの実行により生じたデータ等を記憶する。主記憶部405は、例えば不揮発性メモリ等の任意のメモリを含む。

0110

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

0111

101:解析手段
102:検索式分離手段(生成手段)
103:検索結果統合手段
104:意味関連検索手段
105:3D空間検索手段
106:建物情報DB(記憶手段)
201:検索式入力手段
202:検索結果表示手段
401:CPU
402:入力部
403:表示部
404:通信部
405:主記憶装置
406:補助記憶装置
407:バス

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ