Available for an ArcGIS organization licensed with the Indoors extension.
Summary
Imports floor plans from CAD files into a workspace that contains the ArcGIS Indoors Information Model.
Usage
The geodatabase into which floor plan data will be loaded must already exist and contain required Indoors model items.
When using an enterprise geodatabase, the connection file must connect directly to the database and the connection should be made as a database owner.
The input CAD data should be in DWG or DGN format.
CAD file paths are stored in an Excel spreadsheet. A template file is included with the ArcGIS Pro installation, in the Resources\Indoors\MappingFile folder.
Learn more about mapping fields from floor plans to the geodatabase
The Unique ID Delimiter parameter will separate key values in the Indoors model hierarchy. For example, using a period will result in an ID such as ESRI.REDLANDS.OOA. Using an underscore will produce an ID such as ESRI_REDLANDS_OOA.
When the Sliver Threshold parameter is used, identified sliver features will be placed in the review geodatabase located in the scratch folder of the ArcGIS Pro project.
The Door Close Buffer parameter is used to account for poor CAD topology—for example, line gaps between doors and walls—when the CLOSE_DOORS column is set to Y in the configuration spreadsheet.
Caution:
Identify polylines that are to be merged in the OPENINGS column of the CAD Layer to FC Mapping sheet before running the tool with CLOSE_DOORS set to Y.
The optional Area Unit of Measure parameter defines the unit of measure used to calculate area fields when importing floor plans. The default is square feet.
Z-values for the Levels, Units, Sections, and Zones features are calculated based on the ELEVATION_RELATIVE attribute values in the Level Properties sheet.
If data exists in the input geodatabase, the FACILITY_ID and LEVEL_ID attribute values are used to determine the features to replace.
Syntax
arcpy.indoors.ImportFloorplansToIndoorsGDB(in_geodatabase, in_excel_template, uniqueid_delimiter, {sliver_threshold}, {door_close_buffer}, {area_unit_of_measure})
Parameter | Explanation | Data Type |
in_geodatabase | The Indoors geodatabase (file or enterprise) into which the floor plan data will be loaded. | Workspace |
in_excel_template | An Excel spreadsheet (.xls or .xlsx file) that contains input and configuration parameters. | File |
uniqueid_delimiter | Specifies the delimiter that will separate key values in the Indoors model hierarchy.
| String |
sliver_threshold (Optional) | The ratio of perimeter to area that defines a sliver polygon. It is used when importing Unit polygons to improve the quality of the imported data. Unit polygons that are determined to be slivers are placed in a review geodatabase located in the scratch folder of the ArcGIS Pro project. The default value is 2. | Long |
door_close_buffer (Optional) | The distance, in inches, the tool will search from a door to find and snap to the nearest wall. This parameter is used when the CLOSE_DOORS column is set to Y in the input Excel template file. The default value is 0. | Double |
area_unit_of_measure (Optional) | Specifies the unit of measure used to calculate area for the AREA_GROSS and AREA_NET fields when importing floor plans.
| String |
Derived Output
Name | Explanation | Data Type |
updated_gdb | The updated input geodatabase with the floor plan data loaded. | Workspace |
Code sample
The following Python window script demonstrates how to use the ImportFloorplansToIndoorsGeodatabase function in immediate mode.
import arcpy
arcpy.indoors.ImportFloorplansToIndoorsGDB('C:/Indoors/ExampleCampus.gdb',
'C:/Indoors/ExampleCampus/Config_ExampleCampus_CAD.xlsx',
'PERIOD', 2, 0, 'SQUARE_FEET')
The following stand-alone script demonstrates how to use the ImportFloorplansToIndoorsGeodatabase function.
# Name: Indoors_ImportFloorplansToIndoorsGDB_example2.py
# Description: Imports CAD data into an Indoors geodatabase.
import arcpy
# Set geodatabase that is populated with the Indoors Model
in_geodatabase = 'C:/Indoors/ExampleCampus.gdb'
# Spreadsheet that points to CAD files and defines field mapping
in_excel_template = 'C:/Indoors/Config_ExampleCampus_CAD.xlsx'
# Set tool parameters
uniqueid_delimiter = 'PERIOD'
sliver_threshold = 2
door_close_buffer = 0
area_unit_of_measure = 'SQUARE_FEET'
# Run the tool
arcpy.indoors.ImportFloorplansToIndoorsGDB(in_geodatabase, in_excel_template,
uniqueid_delimiter, sliver_threshold,
door_close_buffer, area_unit_of_measure)
Environments
Licensing information
- Basic: No
- Standard: No
- Advanced: Requires Indoors