Generate Indoor Network Features (Indoors)

Summary

Generates indoor pathways and floor transitions on selected levels in one or more facilities. This tool can generate horizontal pathways and vertical floor transitions for the indoor routable network in a single tool run.

Usage

  • The Input Level Features parameter value must be a feature layer or feature class that conforms to the ArcGIS Indoors Information Model for the Levels feature class.

    • To generate pathways for specific facilities or levels, use the Select Layer By Attribute tool to select the corresponding level features before running this tool.
    • If a feature class or a feature layer without a selection is specified, the tool will generate pathways for all features.

  • The Input Unit Features parameter value must be a feature layer or feature class that conforms to the Indoors model for the Units feature class.

  • The Input Obstacle Features parameter value must be a feature layer or feature class that represents untraversable features that will block pathway generation, such as walls, windows, and columns.

    • The input used for this parameter must contain a LEVEL_ID field, or be a map layer that has been configured as floor aware.
    • The optional Obstacle Expression parameter can be used to configure an SQL expression that defines a subset of features from the Input Obstacle Feature parameter value, to select attribute values that define barriers that will block pathway generation, such as walls, windows, or columns.

  • The Target Indoor Pathways parameter value must be a feature layer or feature class that conforms to the Indoors model for the Pathways feature class.

    • If the Target Indoor Pathways parameter value contains existing pathways for the levels defined by the Input Level Features parameter value, the tool will overwrite the existing pathways.
  • The optional Target Floor Transitions parameter value must be a feature layer or feature class that conforms to the Indoors model for the Transitions feature class. If no target transitions layer is provided for this parameter, the tool will only create horizontal pathway features.

    • If the layer provided for the Target Floor Transitions parameter contains existing transitions for the levels defined by the Input Level Features parameter value, the tool will overwrite the existing pathways.
    • The vertices of transition features created by the tool will be snapped to pathway features to ensure a connected network.
    • At least two level features must be included in the input level features to create transitions.
    • If transitions are provided, you must provide a value for the Stairway Unit Expression parameter, Elevator Expression parameter, or both.
  • The Pathway Generation Method parameter provides the following options for how the tool will create pathway features:

    • Universal Circulation Network—Horizontal pathways will be created using the Universal Circulation Network algorithm, which more closely resembles walking patterns and is well suited for buildings that are not composed of primarily 90 degree angles or at a consistent rotation. Transitions features are also created if input transitions are provided.
    • Transitions Only—If you have existing pathways, you can use this option to create the vertical transitions between floors and snap them to the existing pathways.
  • The optional Routable Locations parameter value must be a points feature layer or feature class that represents points of interest to which pathways will be generated in addition to unit centroids. If no routable locations are provided, the tool will only generate pathways to unit centroids.

  • The optional Obstacle Buffer parameter is used to define how much of a buffer will be created around barriers when defining pathways. Consider the following when using the obstacle buffer:

    • The lower the obstacle buffer, the closer to obstacles (such as wells) pathway features will be created.
    • The obstacle buffer should be a maximum of half the width of the narrowest entryway to ensure pathway connectivity between units.
    • If routable locations are within the buffer, the tool will not route to them.

  • The optional Elevator Delay parameter is used to define elevator wait time in seconds when transitioning between floors using an elevator.

  • The Search Radius parameter is used to locate nearby routable locations that should have a pathway connection from any given routable location during pathway generation. Consider the following when defining a search radius:

    • Increasing the search radius results in more generated pathways.
    • For large open spaces or long hallways, using a larger search radius can ensure pathway connectivity.
    • A large search radius may result in a longer tool run time.

  • This tool honors the Parallel Processing Factor environment. If the environment is not set, the default is 50 percent of the available cores. If the environment is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to determine the percentage of logical cores to use by applying the formula (Parallel Processing Factor / 100 * Logical Cores) rounded up to the nearest integer. If the result of this formula is 0 or 1, parallel processing will not be enabled.

Parameters

LabelExplanationData Type
Input Level Features

The feature class or layer that contains level features. In the Indoors model, this is the Levels layer. The tool honors selections and definition queries applied to the layer.

Feature Layer
Input Unit Features

The feature class or layer that contains unit features. In the Indoors model, this is the Units layer.

Feature Layer
Input Obstacle Features

The feature class or layer that contains polyline features representing nontraversable features, such as walls, windows, and columns. The obstacle features layer must contain a LEVEL_ID field or be defined as floor aware in the map.

Feature Layer
Target Indoor Pathways

The feature class or feature layer where generated pathway features will be created. In the Indoors model, this is the Pathways layer.

Feature Layer
Target Indoor Transitions
(Optional)

The feature class or feature layer where generated transition features, representing the vertical transitions between floors such as stairs and elevators, will be created. In the Indoors model, this is the Transitions layer.

Feature Layer
Obstacle Expression
(Optional)

An SQL expression that defines which subset of features from the Input Obstacle Features parameter are barriers through which pathways should not traverse. This includes features such as walls, windows, and columns.

SQL Expression
Routable Locations
(Optional)

Additional locations to which pathways should be generated. This parameter accepts point feature layers as input.

Feature Layer
Pathway Generation Method
(Optional)

Specifies the method that will be used to generate indoor pathways.

  • Universal Circulation NetworkHorizontal pathways will be created using the universal circulation network algorithm, which more closely resembles walking patterns. This method is well suited for buildings that are not composed of primarily 90 degree angles or at a consistent rotation. Transition features will also be created if input transitions are provided.
  • Transitions OnlyIf you have existing pathways, this option will create the vertical transitions between floors and will snap them to the existing pathways.
String
Stairway Unit Expression
(Optional)

An SQL expression that will define the features from the input Units layer that represent step-based transitions, such as stairs and escalators.

SQL Expression
Elevator Expression
(Optional)

An SQL expression that will define the features from the input Units layer that represent lift-based transitions, such as elevators.

SQL Expression
Elevator Delay
(Optional)

The average elevator transit time in seconds that an elevator passenger can expect to spend waiting to enter and exit the elevator. Using this parameter can improve routing and transit time calculations.

The value must be equal to or greater than zero.

Double
Obstacle Buffer
(Optional)

The buffer distance that will be applied to obstacle features defined as barriers.

Linear Unit
Search Radius
(Optional)

The distance that will be searched for routable locations from any given point. Providing a larger radius will result in more pathways generated. Large spaces and long hallways require a larger search radius for pathway generation.

Linear Unit

Derived Output

LabelExplanationData Type
Updated Pathways

The updated Target Indoor Pathways layer.

Feature Layer
Updated Target Transitions

The updated Target Indoor Transitions layer.

Feature Layer

arcpy.indoors.GenerateIndoorNetworkFeatures(in_level_features, in_unit_features, in_obstacle_features, target_indoor_pathways, {target_floor_transitions}, {obstacle_expression}, {routable_locations}, {generation_method}, {stairway_unit_exp}, {elevator_unit_exp}, {elevator_delay}, {obstacle_buffer}, {search_radius})
NameExplanationData Type
in_level_features

The feature class or layer that contains level features. In the Indoors model, this is the Levels layer. The tool honors selections and definition queries applied to the layer.

Feature Layer
in_unit_features

The feature class or layer that contains unit features. In the Indoors model, this is the Units layer.

Feature Layer
in_obstacle_features

The feature class or layer that contains polyline features representing nontraversable features, such as walls, windows, and columns. The obstacle features layer must contain a LEVEL_ID field or be defined as floor aware in the map.

Feature Layer
target_indoor_pathways

The feature class or feature layer where generated pathway features will be created. In the Indoors model, this is the Pathways layer.

Feature Layer
target_floor_transitions
(Optional)

The feature class or feature layer where generated transition features, representing the vertical transitions between floors such as stairs and elevators, will be created. In the Indoors model, this is the Transitions layer.

Feature Layer
obstacle_expression
(Optional)

An SQL expression that defines which subset of features from the in_obstacle_features parameter are barriers through which pathways should not traverse. This includes features such as walls, windows, and columns.

SQL Expression
routable_locations
[routable_locations,...]
(Optional)

Additional locations to which pathways should be generated. This parameter accepts point feature layers as input.

Feature Layer
generation_method
(Optional)

Specifies the method that will be used to generate indoor pathways.

  • UCNHorizontal pathways will be created using the universal circulation network algorithm, which more closely resembles walking patterns. This method is well suited for buildings that are not composed of primarily 90 degree angles or at a consistent rotation. Transition features will also be created if input transitions are provided.
  • TRANSITIONS_ONLYIf you have existing pathways, this option will create the vertical transitions between floors and will snap them to the existing pathways.
String
stairway_unit_exp
(Optional)

An SQL expression that will define the features from the input Units layer that represent step-based transitions, such as stairs and escalators.

SQL Expression
elevator_unit_exp
(Optional)

An SQL expression that will define the features from the input Units layer that represent lift-based transitions, such as elevators.

SQL Expression
elevator_delay
(Optional)

The average elevator transit time in seconds that an elevator passenger can expect to spend waiting to enter and exit the elevator. Using this parameter can improve routing and transit time calculations.

The value must be equal to or greater than zero.

Double
obstacle_buffer
(Optional)

The buffer distance that will be applied to obstacle features defined as barriers.

Linear Unit
search_radius
(Optional)

The distance that will be searched for routable locations from any given point. Providing a larger radius will result in more pathways generated. Large spaces and long hallways require a larger search radius for pathway generation.

Linear Unit

Derived Output

NameExplanationData Type
updated_pathways

The updated target_indoor_pathways layer.

Feature Layer
updated_transitions

The updated target_floor_transitions layer.

Feature Layer

Code sample

GenerateIndoorNetworkFeatures example (Python window)

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

import arcpy
arcpy.indoors.GenerateIndoorNetworkFeatures(r"C:\Indoors.gdb\Indoors\Levels",
                                 r"C:\Indoors.gdb\Indoors\Units",
                                 r"C:\Indoors.gdb\Indoors\Details",
                                 r"C:\Indoors.gdb\Network\Pathways",
                                 r"C:\Indoors.gdb\Network\Transitions",
                                 "USE_TYPE = 'Interior Wall'", "Occupants", 
                                 r"C:\Data.gdb\RoutableLocationPoints",
                                 "UCN",
                                 "USE_TYPE = 'Stairway'", "USE_TYPE = 'Elevator'", "",
                                 '0.5 Meters', '5 Meters'
                                 )
GenerateIndoorNetworkFeatures example 2 (stand-alone script)

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

#Name: Indoors_GenerateIndoorNetworkFeatures_example2.py
#Description: Generates indoor pathways on selected levels in one or more facilities.

import arcpy

# Set Local Variables
in_level_features=r"C:\data\Indoors.gdb\Indoors\Levels",
in_unit_features=r"C:\data\Indoors.gdb\Indoors\Units",
in_obstacle_features=r"C:\data\Indoors.gdb\Indoors\Details",
target_indoor_pathways=r"C:\data\Indoors.gdb\Network\Pathways",
target_transitions=r"C:\data\Indoors.gdb\Network\Transitions",
obstacle_expression="USE_TYPE = 'Interior Wall'",
routable_locations="Occupants",
generation_method="UCN"
stairway_unit_exp="USE_TYPE = 'Stairway'",
elevator_unit_exp="USE_TYPE = 'Elevator'",
elevator_delay="15"
obstacle_buffer="0.4 Meters",
search_radius="10 Meters"

#Call the function
arcpy.indoors.GenerateIndoorNetworkFeatures(
    in_level_features,
    in_unit_features,
    in_obstacle_features,
    target_indoor_pathways,
    target_floor_transitions,
    obstacle_expression,
    routable_locations,
    generation_method,
    stairway_unit_exp,
    elevator_unit_exp,
    elevator_delay,
    obstacle_buffer,
    search_radius,
)

Licensing information

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

Related topics