Импорт BIM в набор данных Indoor (Indoors)

Доступно для организации ArcGIS, имеющей лицензию на дополнительный модуль Indoors.

Краткая информация

Импортирует объекты из файла BIM в набор данных Indoor, который соответствует Информационной модели ArcGIS Indoors. Выходные данные этого инструмента можно использовать для создания карт и сцен с данными об этажах для использования в приложениях, учитывающих расположение на этаже, а также для создания сети внутри здания для маршрутизации.

Использование

  • Этот инструмент можно использовать для загрузки данных поэтажного плана в набор данных Indoor, созданный с помощью инструмента Создать набор данных Indoor, или в базу геоданных Indoors, созданную с помощью инструмента Создать базу данных Indoor.

  • Перед запуском инструмента необходимо выполнить географическую привязку исходных данных BIM.

    Более подробно о добавлении BIM данных в ArcGIS Pro

  • Значением параметра Входной полигональный слой BIM Floorplan будет векторный слой Floorplan_Polygon из набора данных Floorplan в исходном файле BIM.

    • Инструмент использует слой Floorplan_Polygon для построения объектов Levels и Units.
    • На основе значения параметра Входной полигональный слой BIM Floorplan инструмент получает доступ к дополнительным слоям из того же набора данных Floorplan для создания набора данных внутри помещения. Слой Footprint используется для построения пространственных объектов, а слой Floorplan_Polyline – для построения объектов Details.
  • Параметры Целевые объекты секций, Целевые объекты деталей, Целевые объекты уровней и Целевые объекты зданий должны ссылаться на классы объектов или векторные слои, которые содержат секции, детали, уровни и здания, соответствующие модели Indoors.

    Примечание:

    Все целевые объекты должны быть из одной файловой базы геоданных, многопользовательской базы геоданных или сервиса объектов.

  • Параметр Facility ID используется для заполнения поля FACILITY_ID для импортированных объектов зданий в наборе indoor. При установке этого параметра помните следующее:

    • Использование пробелов не допускается. Вы можете заменить пробелы символами подчеркивания. Например, пишите Building XYZ используйте Building_XYZ.
    • Чтобы добавить входные данные BIM в качестве нового объекта в существующий набор данных indoor, укажите ID здания, который не назначен другому зданию в целевых объектах зданий.
    • Чтобы обновить существующее здание, используйте значение поля FACILITY_ID для этого объекта здания в целевых объектах зданий.
      Примечание:

      Чтобы обновить существующий объект здания, значение параметра Facility ID должно соответствовать значению поля FACILITY_ID объекта здания, а значение параметра Facility Name должно соответствовать значению поля NAME объекта здания. Соответствие чувствительно к регистру.

  • Параметр Facility Name используется для заполнения поля NAME для импортированных объектов зданий в наборе indoor.

  • Параметр Имя наземного этажа определяет первый этаж здания. Вертикальный порядок, номер уровня и z-значение для каждого уровня в объектах целевого уровня выводятся из этих входных данных. Всем уровням с высотой меньше указанного первого этажа присваивается отрицательный вертикальный порядок.

    Примечание:
    • Вам не нужно импортировать этаж, который вы установили в качестве первого этажа, в набор данных indoor.
    • В качестве входных данных для этого параметра принимаются только занимаемые уровни.

  • Если данные существуют в местоположениях, которые вы задали для параметров целевого объекта, имена Facility и Level в исходном файле BIM будут сравниваться с именами Facility и Level, чтобы определить объекты, которые нужно обновить.

    • Объект Facilities будет обновлен, если значения параметров Facility ID и Facility Name совпадают со значениями полей FACILITY_ID и NAME, соответственно, для целевого объекта зданий.
    • Объект Levels и связанные с ним объекты Details и Units будут обновлены, если значение поля BldgLevel для объектов уровней в исходном файле BIM совпадает со значением поля NAME для целевых объектов уровней.
    Примечание:

    Если значения параметров Facility ID и Facility Name не совпадают с полями FACILITY_ID и NAME для существующего объекта здания, и полигон плана этажа BIM не пересекает существующий объект здания, инструмент импортирует данные BIM как новое здание с указанными значениями Facility ID и Facility Name.

  • Параметр Поле типа использования полигона плана этажа определяет поле из векторного слоя Floorplan_Polygon, которое будет использоваться для заполнения поля USE_TYPE для целевых объектов секций. Если поле не указано, используется значение поля RoomName из слоя Floorplan_Polygon.

  • Вы можете сопоставить дополнительные атрибуты из слоя Rooms в исходном BIM-файле с существующими полями для целевых объектов секций, используя следующие параметры:

    • Входной параметр BIM Rooms Layer определяет слой Rooms, расположенный в наборе данных Architectural в исходном BIM-файле.
    • Параметр Сопоставление свойств комнат можно использовать для сопоставления полей входного слоя BIM Rooms с полями целевого объекта секций. Поля должны существовать до запуска инструмента. Рекомендуется сопоставить поля исходного слоя BIM Rooms с целевыми полями с тем же типом данных.
  • Следующие поля сопоставляются по умолчанию, если они присутствуют в классе пространственных объектов Units и не могут быть сопоставлены с помощью параметра Сопоставление свойств комнат: AREA_GROSS, AREA_NET, AREA_UM, ELEVATION_ABSOLUTE, ELEVATION_RELATIVE, FACILITY_ID, FACILITY_NAME, LEVEL_ID, LEVEL_NAME, LEVEL_NUMBER, NAME, UNIT_ID, USE_TYPE и VERTICAL_ORDER.

  • Параметр Этажи для импорта определяет этажи во входном файле BIM, которые импортируются. Вы можете использовать этот параметр для добавления или обновления определенных уровней в данных indoor. Если этот параметр не указан, будут импортированы все этажи из файла BIM.

  • Используйте параметр Единицы измерения площадей для указания единиц для поля AREA_GROSS в классах объектов Levels и Units.

  • Используйте параметр Разрешить вставку нового перекрывающегося здания, чтобы предотвратить случайный импорт конфликтующих данных плана этажа.

    • По умолчанию этот параметр не отмечен. Если этот параметр не отмечен, инструмент проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах зданий. Если обнаружено пересечение, инструмент проверяет, соответствуют ли указанные значения параметров Facility ID и Facility Name значениям полей FACILITY_ID и NAME пересекающегося объекта Facility. Если значения совпадают, инструмент обновляет существующее здание. Если значения не совпадают, инструмент выдает предупреждающее сообщение и прекращает работу.
    • Когда этот параметр отмечен, инструмент не проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах зданий. Отметьте этот параметр, чтобы импортировать здание, которое перекрывает существующее здание или касается его.

Параметры

ПодписьОписаниеТип данных
Входной полигональный слой BIM Floorplan

Слой объектов Floorplan_Polygon из исходного BIM-файла, который был добавлен к текущей карте.

Feature Layer
Target Unit Features

Целевой векторный слой Units, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Levels и Details.

Feature Layer
Target Detail Features

Целевой векторный слой Details, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Levels и Units.

Feature Layer
Target Level Features

Целевой векторный слой Levels, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Units и Details.

Feature Layer
Target Facility Features

Целевой векторный слой Facilities, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Levels, Units и Details.

Feature Layer
ID здания

Уникальный ID здания, который будет присвоен выходным объектам Indoors. ID здания не может содержать пробелов.

String
Название здания

Общее название здания.

String
Имя наземного этажа

Цокольный этаж дома. Вертикальный порядок уровней определяется этими входными данными. Всем уровням с высотой меньше указанного первого этажа будет присвоен отрицательный вертикальный порядок.

String
Поле типа использования полигона плана этажа
(Дополнительный)

Поле из векторного слоя Floorplan_Polygon, которое будет использоваться для заполнения поля USE_TYPE для целевого объекта секций. Если поле не указано, используется значение поля RoomName из слоя Floorplan_Polygon.

String
Этажи для импорта
(Дополнительный)

Этажи во входном BIM-файле, который будет импортирован в целевые объекты. Если этажи не указаны, импортируются все этажи.

String
Единицы измерения площадей
(Дополнительный)

Задает единицы измерения, которые будут использоваться для полей площади в классах объектов Levels и Units.

  • Квадратные метрыЕдиницами измерения площади будут квадратные метры.
  • Квадратные футыЕдиницами измерения площади будут квадратные футы. Она используется по умолчанию.
String
Входной слой BIM Rooms.
(Дополнительный)

Слой Rooms из набора данных Architectural во входном BIM-файле. Этот слой будет использоваться для получения расширенных значений полей, которые можно сопоставить с существующими полями в классе пространственных объектов Units с помощью параметра Сопоставление свойств комнат.

Feature Layer
Сопоставление свойств комнат
(Дополнительный)

Управляет тем, какие поля атрибутов в классе пространственных объектов Units будут заполнены значениями полей из входного слоя BIM Rooms. Поля должны существовать до запуска инструмента. Рекомендуется сопоставить поля входного слоя BIM Rooms с полями из класса пространственных объектов Units, которые имеют тот же тип поля.

Field Mappings
Разрешить вставку нового перекрывающегося здания
(Дополнительный)

Определяет, будет ли импортировано здание из входного файла BIM, если будет обнаружено пересечение между планом этажа этого здания и существующим объектом Facilities в целевом объекте здания.

  • Не отмечено - инструмент проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах. Если обнаружено пересечение, инструмент проверяет, соответствуют ли указанные значения параметров Facility ID и Facility Name значениям полей FACILITY_ID и NAME пересекающегося объекта Facility. Если значения совпадают, инструмент обновляет существующее здание. Если значения не совпадают, инструмент выдает сообщение и прекращает работу. Она используется по умолчанию.
  • Отмечено - инструмент не проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах зданий. Вы можете использовать эту опцию, чтобы импортировать здание, которое перекрывает существующее здание или касается его.
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные Units

Обновленные целевые секции.

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

Слой объектов Floorplan_Polygon из исходного BIM-файла, который был добавлен к текущей карте.

Feature Layer
target_unit_features

Целевой векторный слой Units, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Levels и Details.

Feature Layer
target_detail_features

Целевой векторный слой Details, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Levels и Units.

Feature Layer
target_level_features

Целевой векторный слой Levels, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Facility, Units и Details.

Feature Layer
target_facility_features

Целевой векторный слой Facilities, класс пространственных объектов или сервис объектов, который соответствует Информационной модели ArcGIS Indoors и находится в той же рабочей области, что и целевые объекты Levels, Units и Details.

Feature Layer
facility_id

Уникальный ID здания, который будет присвоен выходным объектам Indoors. ID здания не может содержать пробелов.

String
facility_name

Общее название здания.

String
ground_floor_name

Цокольный этаж дома. Вертикальный порядок уровней определяется этими входными данными. Всем уровням с высотой меньше указанного первого этажа будет присвоен отрицательный вертикальный порядок.

String
floorplan_polygon_use_type_field
(Дополнительный)

Поле из векторного слоя Floorplan_Polygon, которое будет использоваться для заполнения поля USE_TYPE для целевого объекта секций. Если поле не указано, используется значение поля RoomName из слоя Floorplan_Polygon.

String
floors_to_import
[floors_to_import,...]
(Дополнительный)

Этажи во входном BIM-файле, который будет импортирован в целевые объекты. Если этажи не указаны, импортируются все этажи.

String
area_unit_of_measure
(Дополнительный)

Задает единицы измерения, которые будут использоваться для полей площади в классах объектов Levels и Units.

  • SQUARE_METERSЕдиницами измерения площади будут квадратные метры.
  • SQUARE_FEETЕдиницами измерения площади будут квадратные футы. Она используется по умолчанию.
String
in_bim_rooms_layer
(Дополнительный)

Слой Rooms из набора данных Architectural во входном BIM-файле. Этот слой будет использоваться для получения расширенных значений полей, которые можно сопоставить с существующими полями в классе пространственных объектов Units с помощью параметра Сопоставление свойств комнат.

Feature Layer
room_properties_mapping
(Дополнительный)

Управляет тем, какие поля атрибутов в классе пространственных объектов Units будут заполнены значениями полей из входного слоя BIM Rooms. Поля должны существовать до запуска инструмента. Рекомендуется сопоставить поля входного слоя BIM Rooms с полями из класса пространственных объектов Units, которые имеют тот же тип поля.

Field Mappings
allow_insert_new_facility
(Дополнительный)

Определяет, будет ли импортировано здание из входного файла BIM, если будет обнаружено пересечение между планом этажа этого здания и существующим объектом Facilities в целевом объекте здания.

  • NO_ALLOW_INSERT_NEW_FACILITYИнструмент проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах зданий. Если обнаружено пересечение, инструмент проверяет, соответствуют ли указанные значения параметров facility_id и facility_name значениям полей FACILITY_ID и NAME пересекающегося объекта Facility. Если значения совпадают, инструмент обновляет существующее здание. Если значения не совпадают, инструмент выдает сообщение и прекращает работу. Она используется по умолчанию.
  • ALLOW_INSERT_NEW_FACILITYИнструмент не проверяет, пересекает ли входной полигон плана этажа BIM какой-либо существующий полигон здания в целевых объектах зданий. Вы можете использовать эту опцию, чтобы импортировать здание, которое перекрывает существующее здание или касается его.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
updated_units

Обновленные целевые секции.

Feature Layer

Пример кода

ImportBIMToIndoorDataset, пример 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, пример 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: Нет
  • Standard: Нет
  • Advanced: Обязательно Indoors

Связанные разделы