Generate Unit Openings (Indoors)

Summary

Creates unit openings as line features that model the location and physical extent of an entrance.

Line features that represent openings are required to export indoor data to the Indoor Mapping Data Format (IMDF) for use in Apple indoor positioning. This tool analyzes input unit and door features to identify entrances, such as gates and turnstiles, or physical doors that swing, slide, or rotate. Modeling openings as lines simplifies maps by avoiding complex door symbology.

Usage

  • The Input Unit Features and Input Detail Features parameter values can be feature layers or feature classes from an indoor dataset, created using the Create Indoor Dataset tool, or an Indoors geodatabase, created using the Create Indoors Database tool.

  • The Input Unit Features parameter value must be a polygon feature layer or feature class that conforms to the ArcGIS Indoors Information Model (Indoors model) for the Units feature class. These unit features are used to identify the edges along which the openings will be generated. You can limit the generation of openings to specific units by making a selection or defining a query on the input layer.

  • The Input Detail Features parameter value must be a polyline feature layer or feature class that conforms to the Indoors model for the Details feature class and contains architectural detail polylines.

    Note:

    Multipart detail lines that include doors and interior walls that define an entrance must be separated into singlepart features using the Multipart To Singlepart tool before running this tool.

    • Use the Door Detail Expression parameter to define the detail lines that represent door openings on units. This includes doors composed of single or multiple features, straight lines across an opening, curved lines representing doors swings, circular lines representing revolving doors, and other types of doors. This expression is applied in addition to any definition query or selection on the input detail layer.
    • Use the Wall Detail Expression parameter to define the detail lines that represent walls bounding the input units features. There may be different types of wall lines around the units, for example, Walls, Interior Walls, or Glass Walls, and the expression should include a condition for each type of wall feature.
  • The Wall Thickness Tolerance parameter specifies the distance that the tool will search inward and outward from the edge of a unit feature to find an input door feature. It allows the tool to detect both in-swing and out-swing doors as well as doors that are not coincident with the unit.

  • The generated door openings will be written to the Target Openings layer with the USE_TYPE field value set to Opening.

  • The z-values of the output openings features are derived from the z-values of the Input Unit Features parameter values.

Parameters

LabelExplanationData Type
Input Unit Features

The input polygon features representing unit footprints for one or more facilities. In the Indoors model, this is the Units layer. The tool only processes the levels that contain the selected features.

Feature Layer
Input Detail Features

The input polyline features representing the architectural detail polylines.

Feature Layer
Door Detail Expression

An SQL expression used to identify which detail polylines represent doors.

SQL Expression
Wall Detail Expression

An SQL expression used to identify which detail polylines represent walls.

SQL Expression
Target Openings

The existing polyline feature class or feature layer to which generated polylines will be written. In the Indoors model this is the Details layer.

Feature Layer
Wall Thickness Tolerance
(Optional)

The distance that will be searched inward and outward from the edge of a unit feature to find a door feature. The default unit of measurement is feet. The default value is 2 feet but can range from 0 to 6 feet.

Linear Unit
Delete Existing Openings
(Optional)

Specifies whether existing opening features with a USE_TYPE field value of Opening will be deleted before creating new opening features. If deleted, existing openings will be replaced with new openings if they are at the same location.

  • Checked—Existing openings will be deleted.
  • Unchecked—Existing openings will not be deleted. This is the default.
Boolean

Derived Output

LabelExplanationData Type
Updated Openings

The updated Target Openings feature layer or feature class.

Feature Layer

arcpy.indoors.GenerateUnitOpenings(in_unit_features, in_detail_features, door_detail_expression, wall_detail_expression, target_openings, {wall_thickness_tolerance}, {delete_existing_openings})
NameExplanationData Type
in_unit_features

The input polygon features representing unit footprints for one or more facilities. In the Indoors model, this is the Units layer. The tool only processes the levels that contain the selected features.

Feature Layer
in_detail_features

The input polyline features representing the architectural detail polylines.

Feature Layer
door_detail_expression

An SQL expression used to identify which detail polylines represent doors.

SQL Expression
wall_detail_expression

An SQL expression used to identify which detail polylines represent walls.

SQL Expression
target_openings

The existing polyline feature class or feature layer to which generated polylines will be written. In the Indoors model this is the Details layer.

Feature Layer
wall_thickness_tolerance
(Optional)

The distance that will be searched inward and outward from the edge of a unit feature to find a door feature. The default unit of measurement is feet. The default value is 2 feet but can range from 0 to 6 feet.

Linear Unit
delete_existing_openings
(Optional)

Specifies whether existing opening features with a USE_TYPE field value of Opening will be deleted before creating new opening features. If deleted, existing openings will be replaced with new openings if they are at the same location.

  • DELETE_EXISTINGExisting openings will be deleted.
  • KEEP_EXISTINGExisting openings will not be deleted. This is the default.
Boolean

Derived Output

NameExplanationData Type
updated_openings

The updated Target Openings feature layer or feature class.

Feature Layer

Code sample

GenerateUnitOpenings example 1 (Python window)

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

import arcpy
arcpy.indoors.GenerateUnitOpenings("C:/Indoors/ExampleCampus.gdb/Indoor/Units", 
                                  "C:/Indoors/ExampleCampus.gdb/Indoor/Details", 
                                  "USE_TYPE IN('Door')",
                                  "USE_TYPE IN ('Wall', 'Interior Wall')",
                                  "2 feet", 
                                  "KEEP_EXISTING")
GenerateUnitOpenings example 2 (stand-alone script)

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

# Name: Indoors_GenerateUnitOpenings_example2.py
# Description: Creates Unit Openings for selected doors features

import arcpy

# Set tool parameters
in_unit_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Units"
in_detail_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Details"


#Define which Details features represent doors and walls
door_detail_expression = "USE_TYPE IN ('Door')"
wall_detail_expression = "USE_TYPE IN ('Wall', 'Interior Wall')"

target_openings = "C:/Indoors/ExampleCampus.gdb/Indoor/Details"
wall_thickness_tolerance = "2 feet"
delete_existing_openings = "KEEP_EXISTING"


# Run the tool
arcpy.indoors.GenerateUnitOpenings(in_unit_features, in_detail_features, door_detail_expression, wall_detail_expression, target_openings, 
					wall_thickness_tolerance, delete_existing_openings)

Environments

Licensing information

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

Related topics