すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_ImportIFC

最終更新日:Jul 02, 2024

このトピックでは、ST_ImportIFC関数について説明します。 この関数は、Industry Foundation Classes (IFC) ファイルをデータベースにインポートするために使用されます。

構文

  • 構文1

    boolean ST_ImportIFC(cstringプレフィックス、cstring url、cstringオプションデフォルト '{}');
  • 構文2

    boolean ST_ImportIFC(cstringプレフィックス、byteaコンテンツ、cstringオプションデフォルト '{}');

Parameters

パラメーター

説明

プレフィックス

IFCテーブルのプレフィックス。

url

IFCファイルがobject storage service (OSS) バケットなどのオブジェクトストレージサービスに保存されている場合は、このパラメーターを使用します。 詳細については、「オブジェクトストレージパス」をご参照ください。

コンテンツ

バイナリ表現を使用してIFCファイルをインポートする場合は、このパラメーターを使用します。 または、urlパラメーターを使用することもできます。

オプション

インポートのフィールド。

  • schema: ターゲットテーブルのスキーマ名。 データ型: String。 デフォルト値 : public

  • project: プロジェクトの名前。 データ型: String。 このフィールドの値は、各レコードのproject_nameフィールドに渡されます。

説明

この関数は、IFCファイルをデータベースにインポートするために使用されます。

説明
  • この関数を使用して、OSSバケットなどのオブジェクトストレージサービスに保存されているIFCファイルをデータベースにインポートできます。

  • この関数を使用して、IFCファイルのバイナリデータをメモリに読み込み、そのデータをデータベースにインポートできます。

インポート制限:

  • IfcOpeningElement型のデータは無視されます。

  • IfcProjectノードにアタッチできないOrphanノードは無視されます。

  • IfcElementType型のデータは一時的に無視されます。

インポートが成功すると、データベースに3つのテーブルが生成されます。

IFCオブジェクトテーブル

テーブル名の形式: [prefix]_ifc_elem

機能性: このテーブルは、すべての実際のIFCオブジェクトおよびそれらの関連属性を格納する。

スキーマ:

フィールド

データ型

説明

id

シリアル

テーブルのID。

family

text

テーブルの家族。

ほとんどの場合、テーブルはIfcBuildingElementまたはIfcSpatialStructureElementファミリーに属します。

project_uuid

text

プロジェクトの ID を設定します。

IFCファイル内のルートノードコンポーネントのUUID。

project_name

text

プロジェクトの名前。

project_nameフィールドに値を指定しない場合、列は空です。

ほとんどの場合、プロジェクトは複数のサブプロジェクトのテーブルを格納するために使用されます。

parent_uuid

text

親コンポーネントのUUID。

コンポーネントがIfcProject型の場合、parent_uuidフィールドの値はrootです。

uuid

text

コンポーネントのUUID。

この値は、IFCファイル内のコンポーネントのUUIDと同じです。

name

text

コンポーネントの名前を示します。

この値は、IfcRootからName属性の値を継承します。

attrs

jsonb

コンポーネントの固定属性。The fixed attributes of the component.

ビジネス要件に基づいて、型とその属性を追加できます。

props_set

jsonb

コンポーネントの固定されていないプロパティセット。

詳細については、「IfcRelDefinesByProperties」をご参照ください。

要素

sfmesh

コンポーネントのエンティティ。

ジオメトリコンポーネントテーブル

テーブル名の形式: [prefix]_ifc_geom_elem

機能: このテーブルは、すべてのジオメトリオブジェクトを格納します。

スキーマ:

フィールド

データ型

説明

id

シリアル

テーブルのID。

project_uuid

text

プロジェクトの ID を設定します。

この値は、IFCオブジェクトテーブルのプロジェクトIDと同じです。

project_name

text

プロジェクトの名前。

project_nameフィールドに値を指定しない場合、列は空です。

ほとんどの場合、プロジェクトは複数のサブプロジェクトのテーブルを格納するために使用されます。

geometry_id

text

コンポーネントのジオメトリID。

この値は、コンポーネントの幾何学的特性と材料特性で構成されます。

geom_element

sfmesh

コンポーネントに関するジオメトリ情報。

IFC素材テーブル

テーブル名の形式: [prefix]_ifc_material_elem

機能: このテーブルは、関連するすべてのマテリアルオブジェクトを格納します。

スキーマ:

フィールド

データ型

説明

id

シリアル

テーブルのID。

project_uuid

text

プロジェクトの ID を設定します。

この値は、IFCオブジェクトテーブルのプロジェクトIDと同じです。

project_name

text

プロジェクトの名前。

project_nameフィールドに値を指定しない場合、列は空です。

ほとんどの場合、プロジェクトは複数のサブプロジェクトのテーブルを格納するために使用されます。

material_name

text

マテリアルの名前。

material_element

素材

コンポーネントに関する材料情報。

例1: プロジェクト名が指定されていません。

SELECT ST_ImportIFC('Building ', 'OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_ifc');

---------
t 

例2: プロジェクト名を指定します。

SELECT ST_ImportIFC('Building' 、'OSS://<ak >:< ak_secret>@ oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_ifc','{"project":"building_1"}');

---------
t