BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset) (Indoors)

Indoors エクステンションのライセンスが付与された ArcGIS 組織で利用できます。

サマリー

フィーチャを BIM ファイルから、ArcGIS Indoors Information Model に準拠する Indoor データセットにインポートします。 このツールの出力を使用して、フロア対応アプリで使用するフロア対応マップおよびシーンを作成したり、ルート検索用の Indoor ネットワークを生成したりすることができます。

使用法

  • このツールを使用すると、Indoor データセット ([Indoor ネットワーク データセットの作成 (Create Indoor Network Dataset)] ツールを使用して作成) または Indoors ジオデータベース ([Indoors データベースの作成 (Create Indoors Database)] ツールを使用して作成) にフロア プラン データを読み込むことができます。

  • ソース BIM データは、このツールの実行前にジオリファレンスする必要があります。

    ArcGIS Pro への BIM データ追加の詳細

  • [入力 BIM フロアプラン ポリゴン レイヤー] パラメーター値は、ソース BIM ファイルの Floorplan データセットの Floorplan_Polygon フィーチャ レイヤーになります。

    • このツールは、Floorplan_Polygon レイヤーを使用して、Levels フィーチャと Units フィーチャを構築します。
    • [入力 BIM フロアプラン ポリゴン レイヤー] パラメーター値に基づき、ツールは、同じ [Floorplan] データセットの追加のレイヤーにアクセスして、Indoor データセットを構築します。 Footprint レイヤーを使用して Facilities フィーチャを構築し、Floorplan_Polyline レイヤーを使用して、Details フィーチャを構築します。
  • [ターゲット ユニット フィーチャ][ターゲット詳細フィーチャ][ターゲット レベル フィーチャ]、および [ターゲット施設フィーチャ] パラメーターは、Indoors モデルに準拠するユニット、詳細、レベル、および施設フィーチャを含むフィーチャクラスまたはフィーチャ レイヤーを参照する必要があります。

    注意:

    ターゲット フィーチャはすべて、同じファイル ジオデータベース、エンタープライス ジオデータベース、またはフィーチャ サービスから生成される必要があります。

  • [施設 ID] パラメーターは、Indoor データセットにインポートされる施設フィーチャの FACILITY_ID フィールドの入力に使用します。 このパラメーターを設定する際には、次の点に留意してください。

    • 空白文字は使用できません。 空白文字はアンダースコア文字で置換できます。 たとえば、Building XYZ の代わりに Building_XYZ を使用します。
    • 入力 BIM データを既存の Indoor データセットの新しい施設として追加するには、ターゲット施設フィーチャの別の施設に割り当てられていない施設 ID を指定します。
    • 既存の施設を更新するには、ターゲット施設フィーチャにあるその施設フィーチャの FACILITY_ID フィールド値を使用します。
      注意:

      既存の施設フィーチャを更新するには、[施設 ID] パラメーター値がその施設フィーチャの FACILITY_ID フィールド値に一致する必要があり、また、[施設名] パラメーター値がその施設フィーチャの NAME フィールド値に一致する必要があります。 この一致では大文字と小文字が区別されます。

  • [施設名] パラメーターは、Indoor データセットにインポートされる施設フィーチャの NAME フィールドの入力に使用します。

  • [グラウンド フロア名] パラメーターは、建物の地上階を決定します。 ターゲット レベル フィーチャの各レベルの垂直方向の順序、レベル数、Z 値は、この入力から取得されます。 特定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

    注意:
    • 地上階として設定したフロアを Indoor データセットにインポートする必要はありません。
    • 占有可能なレベルのみがこのパラメーターの入力として使用可能です。

  • ターゲット フィーチャ パラメーターに設定した位置にデータが存在する場合、ソース BIM ファイルの施設およびレベルの名前がフィーチャの施設およびレベルの名前と比較され、更新するフィーチャが決定されます。

    • [施設 ID] および [施設名] パラメーター値がそれぞれ、ターゲット施設フィーチャの FACILITY_ID および NAME フィールド値に一致する場合は、Facilities フィーチャが更新されます。
    • ソース BIM ファイルのレベル フィーチャの BldgLevel フィールド値がターゲット レベル フィーチャの NAME フィールド値に一致する場合は、Levels フィーチャとその関連する Details および Units フィーチャが更新されます。
    注意:

    [施設 ID] および [施設名] パラメーター値が、既存の施設フィーチャの FACILITY_ID および NAME フィールドに一致せず、BIM フロアプラン ポリゴンが既存の施設フィーチャと交差しない場合、ツールは、指定された [施設 ID] および [施設名] の値を使用する新しい施設として BIM データをインポートします。

  • [Floorplan ポリゴン Use Type フィールド] パラメーターは、ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールドを定義します。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

  • 次のパラメーターを使用すると、ソース BIM ファイルの Rooms レイヤーからターゲット ユニット フィーチャの既存のフィールドへ追加の属性をマッピングできます。

    • 入力 [BIM Rooms レイヤー] パラメーターは、ソース BIM ファイルの Architectural データセット内にある Rooms レイヤーを定義します。
    • [ルーム プロパティのマッピング] パラメーターを使用すると、入力 BIM Rooms レイヤーのフィールドをターゲット ユニット フィーチャのフィールドにマッピングできます。 ツールを実行する前に、フィールドが存在している必要があります。 ソース BIM Rooms レイヤーのフィールドは、同じデータ タイプのターゲット フィールドにマッピングすることをお勧めします。
  • 次のフィールドは、Units フィーチャクラスに存在する場合にデフォルトでマッピングされ、[ルーム プロパティのマッピング] パラメーターを使用してマッピングすることはできません: AREA_GROSSAREA_NETAREA_UMELEVATION_ABSOLUTEELEVATION_RELATIVEFACILITY_IDFACILITY_NAMELEVEL_IDLEVEL_NAMELEVEL_NUMBERNAMEUNIT_IDUSE_TYPEVERTICAL_ORDER

  • [インポートするフロア] パラメーターは、インポートされる入力 BIM ファイルのフロアを定義します。 このパラメーターを使用して、屋内データの特定のレベルを追加または更新できます。 このパラメーターが指定されないと、BIM ファイルのすべてのフロアがインポートされます。

  • [Area Unit of Measure] パラメーターを使用すると、Levels および Units フィーチャクラスの AREA_GROSS フィールドの単位を指定できます。

  • [新しい重複施設の挿入を許可] パラメーターを使用すると、競合するフロア プラン データが誤ってインポートされるのを防ぐことができます。

    • このパラメーターはデフォルトでオフになっています。 このパラメーターがオフの場合、ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した [施設 ID] および [施設名] パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールは警告メッセージを出力して、実行を停止します。
    • このパラメーターがオンの場合、ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このパラメーターは、既存の施設に重複するか、接する建物をインポートする場合にオンにします。

パラメーター

ラベル説明データ タイプ
入力 BIM フロアプラン ポリゴン レイヤー

現在のマップに追加されているソース BIM ファイルの Floorplan_Polygon フィーチャ レイヤーです。

Feature Layer
ターゲット ユニット フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Details フィーチャと同じワークスペースに存在するターゲット Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット詳細フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Units フィーチャと同じワークスペースに存在するターゲット Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット レベル フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Units、および Details フィーチャと同じワークスペースに存在するターゲット Levels フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット施設フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Levels、Units、および Details フィーチャと同じワークスペースに存在するターゲット Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
施設 ID

出力 Indoors フィーチャに割り当てられる一意の施設 ID。 施設 ID に空白文字を含めることはできません。

String
施設名

建物の一般名。

String
グラウンド フロアの名前

グラウンド フロア名 レベルの垂直順序は、この入力から取得されます。 指定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

String
Floorplan ポリゴン Use Type フィールド
(オプション)

ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールド。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

String
インポートするフロア
(オプション)

ターゲット フィーチャにインポートされる入力 BIM ファイルのフロア。 フロアを指定しない場合、すべてのフロアがインポートされます。

String
Area Unit of Measure
(オプション)

Levels および Units フィーチャクラスのエリア フィールドで使用される計測単位を指定します。

  • 平方メートル面積単位は平方メートル。
  • 平方フィート面積単位は平方フィート。 これがデフォルトです。
String
入力 BIM Rooms レイヤー
(オプション)

入力 BIM ファイルの Architectural データセットにある Rooms レイヤー。 このレイヤーは、[ルーム プロパティのマッピング] パラメーターを使用して Units フィーチャクラスの既存のフィールドにマッピングできる拡張フィールド値の取得に使用されます。

Feature Layer
ルーム プロパティのマッピング
(オプション)

入力 BIM Rooms レイヤーのフィールド値が入力される Units フィーチャクラスの属性フィールドを制御します。 ツールを実行する前に、これらのフィールドが存在している必要があります。 入力 BIM Rooms レイヤーのフィールドは、同じフィールド タイプの Units フィーチャクラスのフィールドにマッピングすることをお勧めします。

Field Mappings
新しい重複施設の挿入を許可
(オプション)

入力 BIM ファイルの建物のフロア プランとターゲット施設フィーチャの既存の Facilities レイヤーの交差が検出された場合に、その建物をインポートするかどうかを指定します。

  • オフ - ツールは、入力 BIM フロアプラン ポリゴンがターゲット フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した [施設 ID] および [施設名] パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールはメッセージを出力して、実行を停止します。 これがデフォルトです。
  • オン - ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このオプションは、既存の施設に重複するか、接する建物をインポートするために使用できます。
Boolean

派生した出力

ラベル説明データ タイプ
ユニットを更新しました

更新されたターゲット ユニット フィーチャ。

Feature Layer

arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features, target_level_features, target_facility_features, facility_id, facility_name, ground_floor_name, {floorplan_polygon_use_type_field}, {floors_to_import}, {area_unit_of_measure}, {in_bim_rooms_layer}, {room_properties_mapping}, {allow_insert_new_facility})
名前説明データ タイプ
in_bim_floorplan_layer

現在のマップに追加されているソース BIM ファイルの Floorplan_Polygon フィーチャ レイヤーです。

Feature Layer
target_unit_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Details フィーチャと同じワークスペースに存在するターゲット Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_detail_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Units フィーチャと同じワークスペースに存在するターゲット Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_level_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Units、および Details フィーチャと同じワークスペースに存在するターゲット Levels フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_facility_features

ArcGIS Indoors Information Model に準拠し、ターゲット Levels、Units、および Details フィーチャと同じワークスペースに存在するターゲット Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
facility_id

出力 Indoors フィーチャに割り当てられる一意の施設 ID。 施設 ID に空白文字を含めることはできません。

String
facility_name

建物の一般名。

String
ground_floor_name

グラウンド フロア名 レベルの垂直順序は、この入力から取得されます。 指定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

String
floorplan_polygon_use_type_field
(オプション)

ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールド。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

String
floors_to_import
[floors_to_import,...]
(オプション)

ターゲット フィーチャにインポートされる入力 BIM ファイルのフロア。 フロアを指定しない場合、すべてのフロアがインポートされます。

String
area_unit_of_measure
(オプション)

Levels および Units フィーチャクラスのエリア フィールドで使用される計測単位を指定します。

  • SQUARE_METERS面積単位は平方メートル。
  • SQUARE_FEET面積単位は平方フィート。 これがデフォルトです。
String
in_bim_rooms_layer
(オプション)

入力 BIM ファイルの Architectural データセットにある Rooms レイヤー。 このレイヤーは、[ルーム プロパティのマッピング] パラメーターを使用して Units フィーチャクラスの既存のフィールドにマッピングできる拡張フィールド値の取得に使用されます。

Feature Layer
room_properties_mapping
(オプション)

入力 BIM Rooms レイヤーのフィールド値が入力される Units フィーチャクラスの属性フィールドを制御します。 ツールを実行する前に、これらのフィールドが存在している必要があります。 入力 BIM Rooms レイヤーのフィールドは、同じフィールド タイプの Units フィーチャクラスのフィールドにマッピングすることをお勧めします。

Field Mappings
allow_insert_new_facility
(オプション)

入力 BIM ファイルの建物のフロア プランとターゲット施設フィーチャの既存の Facilities レイヤーの交差が検出された場合に、その建物をインポートするかどうかを指定します。

  • NO_ALLOW_INSERT_NEW_FACILITYツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した facility_id および facility_name パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールはメッセージを出力して、実行を停止します。 これがデフォルトです。
  • ALLOW_INSERT_NEW_FACILITYツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このオプションは、既存の施設に重複するか、接する建物をインポートするために使用できます。
Boolean

派生した出力

名前説明データ タイプ
updated_units

更新されたターゲット ユニット フィーチャ。

Feature Layer

コードのサンプル

ImportBIMToIndoorDataset (BIM を Indoor データセットにインポート) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで ImportBIMToIndoorDataset 関数を使用する方法を示しています。

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset('C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                                        'Building_A',
                                        'Building A',
                                        'LEVEL 01',
                                        'RoomName',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET',
                                        'C:/ExampleCampus.rvt/Architectural/Rooms',
                                       'UNIT_ID "Unit ID" true true false 255 Text 0 0,First,#,Rooms,ObjectId,0,255;'
                                       'NAME "Name" true true false 100 Text 0 0,First,#;'
                                       'NAME_LONG "Long Name" true true false 255 Text 0 0,First,#,Rooms,Department,0,255;LEVEL_ID "Level ID" true true false 255 Text 0 0,First,#;'
                                       'AREA_GROSS "Gross Area" true true false 8 Double 0 0,First,#;'
                                       'HEIGHT_RELATIVE "Relative Height" true true false 8 Double 0 0,First,#,Rooms,SourceHeight,-1,-1',
                                       'NO_ALLOW_INSERT_NEW_FACILITY')
ImportBIMToIndoorDataset (BIM を Indoor データセットにインポート) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、ImportBIMToIndoorDataset 関数を使用する方法を示します。

# Name: ImportBIMToIndoorDataset_example2.py
# Description: Imports features from a BIM file into the indoor dataset

import arcpy

# Set tool parameters 
in_bim_floorplan_fc = 'C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon'
arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'in_bim_floorplan_layer')

target_unit_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units' 
target_detail_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Details' 
target_level_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Levels' 
target_facility_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities' 
facility_id = 'BUILDING_A'
facility_name = 'Building A'
ground_floor_name = 'LEVEL 01'
floorplan_polygon_use_type_field = 'Category'
floors_to_import = ['BASEMENT', 'LEVEL 01', 'LEVEL 02']
area_unit_of_measure = 'SQUARE_FEET'
in_bim_rooms_layer = 'C:/ExampleCampus.rvt/Architectural/Rooms'
room_properties_mapping = ""
allow_insert_new_facility = 'NO_ALLOW_INSERT_NEW_FACILITY'

# Create field mapping object
room_properties_mapping = arcpy.FieldMappings()
#set target schema
TargetSchema = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units'
room_properties_mapping.addTable(TargetSchema)

# Map the target field "NAME_LONG", using values from "RoomNumber" field from source BIM file
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'RoomNumber')
RoomNumber = fldMap.outputField
RoomNumber.name, RoomNumber.aliasName, RoomNumber.type = 'NAME_LONG', 'Long Name', 'TEXT'
fldMap.outputField = RoomNumber
room_properties_mapping.addFieldMap(fldMap)

# Map the target field "HEIGHT_RELATIVE", using values from "SourceHeight"
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
SourceHeight = fldMap.outputField
SourceHeight.name, SourceHeight.aliasName, SourceHeight.type = 'HEIGHT_RELATIVE', 'Relative Height', 'DOUBLE'
fldMap.outputField = SourceHeight
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
room_properties_mapping.addFieldMap(fldMap)

# Run the tool
arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features,
                                       target_level_features, target_facility_features, facility_id, facility_name,
                                       ground_floor_name, floorplan_polygon_use_type_field, floors_to_import,
                                       area_unit_of_measure, in_bim_rooms_layer, room_properties_mapping,
                                       allow_insert_new_facility)

環境

特殊なケース

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: 次のものが必要 Indoors

関連トピック