Import Features To Indoor Dataset (Indoors)

Summary

Accepts polyline features representing floor plan elements (such as walls, doors, and windows) as input and uses them to generate features in an Indoors workspace that conforms to the ArcGIS Indoors Information Model. The output of this tool can be used to create floor-aware maps.

Usage

  • You can use this tool as part of a larger workflow to import floor plan polylines generated from point cloud data into an Indoors workspace.

  • The Input Polyline Features parameter value must be a z-enabled polyline feature class or layer with a horizontal coordinate system defined. For example, you can use the output of the Generate Floor Plan From Point Cloud tool as input to this tool. The input polylines should represent the boundaries of interior spaces, such as walls, windows, and doors.

  • Input polyline features will be used to create features in the target Indoors workspace, including units, levels, facilities, and, optionally, details.

  • The tool imports data for one level of a facility at a time.

  • The layers selected for the Target Facility Features, Target Level Features, Target Unit Features, and Target Detail Features parameters must all be sourced from the same Indoors workspace. This can be either a geodatabase or a feature service.

  • The values provided for the Facility Name, Level Name, and Vertical Order parameters will be used to populate attributes in the Facilities and Levels layers.

  • The z-values for the Levels, Units, and Details layers will be populated with the z-values of the input polyline features. Facility footprint features are assigned a z-value of 0.

    Note:
    All input polyline features must have the same z-value. If the input polyline layer contains features from multiple levels, set a selection on the layer so that all input features are at the same elevation.
  • The tool does not honor the Allow geoprocessing tools to overwrite existing datasets option. If the data exists in the target feature layers when the tool is run, the following occurs based on the type of target layer:

    • Details—Existing features associated with the level specified in the tool will be deleted and reimported. Existing features associated with other levels will be preserved.
    • Units—Existing features associated with the level specified in the tool will be deleted and reimported. Existing features associated with other levels will be preserved.
    • Levels—If a level feature with the same associated facility, level name, and vertical order exists in the Indoors workspace, it will be updated to include the geometry of the new units being imported. Existing level features associated with other facilities, or with the same facility but having a different level name and vertical order value, will be preserved.
    • Facilities—If a feature with the specified facility name exists in the Indoors workspace, it will be updated to include the geometry of the new level being imported.

  • The Gap Tolerance parameter can be used to set the proximity snapping tolerance for dangling endpoints of input features. This can help with reducing the number of incomplete units or unused line segments. The default value is 0.039 international inches (1 millimeter).

    Note:

    Increasing gap tolerance temporarily increases the XY tolerance during tool processing, which may result in reduced accuracy when importing geometry. Verify the accuracy of imported geometry after running the tool when increasing the Gap Tolerance parameter.

Parameters

LabelExplanationData Type
Input Polyline Features

The input polyline feature layer or feature class containing unit boundary data that will be imported into the Indoors workspace.

Feature Layer
Target Facility Features

The Facilities feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
Target Level Features

The Levels feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
Target Unit Features

The Units feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
Facility Name

The name of the facility to which features will be imported.

An existing facility name can be selected from the target Facilities layer, or a new facility name can be provided.

String
Level Name

The name of the level feature that will be created.

An existing value can be selected from the target Levels layer, or a new value can be provided.

String
Vertical Order

An ordinal integer representing the vertical order of each floor. The vertical order of the ground floor is zero (0). Floors above the ground floor have positive vertical order values, and floors below the ground floor have negative values.

Long
Target Detail Features
(Optional)

The Details feature layer or feature class in the Indoors workspace to which features will be imported.

Feature Layer
Gap Tolerance
(Optional)

The proximity tolerance for dangling endpoints of input features that will be snapped together. Values can be provided in millimeters or international inches. The default is 0.039 international inches.

Linear Unit
Minimum Unit Width
(Optional)

The minimum width a polygon must be to be created as a unit in the target Units layer. Values can be provided in square meters or square international feet. The default is 3 international feet.

Linear Unit
Minimum Unit Area
(Optional)

The minimum area a polygon must be to be created as a unit in the target Units layer. Values can be provided in square meters or square international feet. The default is 9 square feet.

Areal Unit

Derived Output

LabelExplanationData Type
Updated Details

The updated Details feature layer or feature class.

Feature Layer
Updated Units

The updated Units feature layer or feature class.

Feature Layer
Updated Levels

The updated Levels feature layer or feature class.

Feature Layer
Updated Facilities

The updated Facilities feature layer or feature class.

Feature Layer

arcpy.indoors.ImportFeaturesToIndoorDataset(in_features, target_facility_features, target_level_features, target_unit_features, facility_name, level_name, vertical_order, {target_detail_features}, {input_gap_tolerance}, {input_unit_minimum_width}, {input_unit_minimum_area})
NameExplanationData Type
in_features

The input polyline feature layer or feature class containing unit boundary data that will be imported into the Indoors workspace.

Feature Layer
target_facility_features

The Facilities feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
target_level_features

The Levels feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
target_unit_features

The Units feature layer or feature class in the Indoors workspace that will be updated with imported features.

Feature Layer
facility_name

The name of the facility to which features will be imported.

An existing facility name can be selected from the target Facilities layer, or a new facility name can be provided.

String
level_name

The name of the level feature that will be created.

An existing value can be selected from the target Levels layer, or a new value can be provided.

String
vertical_order

An ordinal integer representing the vertical order of each floor. The vertical order of the ground floor is zero (0). Floors above the ground floor have positive vertical order values, and floors below the ground floor have negative values.

Long
target_detail_features
(Optional)

The Details feature layer or feature class in the Indoors workspace to which features will be imported.

Feature Layer
input_gap_tolerance
(Optional)

The proximity tolerance for dangling endpoints of input features that will be snapped together. Values can be provided in millimeters or international inches. The default is 0.039 international inches.

Linear Unit
input_unit_minimum_width
(Optional)

The minimum width a polygon must be to be created as a unit in the target Units layer. Values can be provided in square meters or square international feet. The default is 3 international feet.

Linear Unit
input_unit_minimum_area
(Optional)

The minimum area a polygon must be to be created as a unit in the target Units layer. Values can be provided in square meters or square international feet. The default is 9 square feet.

Areal Unit

Derived Output

NameExplanationData Type
updated_details

The updated Details feature layer or feature class.

Feature Layer
updated_units

The updated Units feature layer or feature class.

Feature Layer
updated_levels

The updated Levels feature layer or feature class.

Feature Layer
updated_facilities

The updated Facilities feature layer or feature class.

Feature Layer

Code sample

ImportFeaturesToIndoorDataset example 1 (Python window)

The following Python window script demonstrates how to use the ImportFeaturesToIndoorDataset function in immediate mode.

import arcpy
ImportFeaturesToIndoorDataset('C:/Data/InputData.gdb/Input_PolyLines', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                              'Facility 1', 'ground_floor', '0', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                               "", "", "")
ImportFeaturesToIndoorDataset example 2 (Python window)

The following stand-alone script demonstrates how to use the ImportFeaturesToIndoorDataset function.

#Name: Indoors_ImportFeaturesToIndoorDataset_example2.py
#Description: Imports polyline floor plan features into the Units layer of an Indoors dataset.

import arcpy

# Set input and target feature classes
in_features=r"C:\Data\InputData.gdb\Input_PolyLines",
target_unit_features=r"C:\data\Indoors.gdb\Indoor\Units",
target_facility_features=r"C:\data\Indoors.gdb\Indoor\Facilities",
target_level_features=r"C:\data\Indoors.gdb\Indoor\Levels",
target_detail_features=r"C:\data\Indoors.gdb\Indoor\Details",

# Set facility and level metadata
facility_name = "Facility 1"
level_name = "Level 3"
vertical_order = "2"

# Set tolerances

input_gap_tolerance="5 Millimeters",
min_unit_width="1.5 Meters",
min_unit_area="2 SquareMeters"

# Call the function
arcpy.indoors.ImportFeaturesToIndoorDataset(in_features, 
                                            target_facility_features, 
                                            target_level_features, 
                                            target_unit_features, 
                                            facility_name,
                                            level_name,
                                            vertical_order,
                                            target_detail_features,
                                            input_gap_tolerance, 
                                            min_unit_width, 
                                            min_unit_area)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Requires ArcGIS Indoors Pro or ArcGIS Indoors Maps

Related topics