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:

    • Lattice—Horizontal pathways will be created using a lattice-based approach, which is well suited to buildings that contain a single orientation or many right angles. Transitions features will also be created if input transitions are provided. This is the default.
    • 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 will also be 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 specifies 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 walls) 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 specifies the elevator wait time in seconds when transitioning between floors using an elevator.

  • The Search Radius parameter locates 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.

  • The Lattice Rotation parameter specifies the angle the generated lattice of pathways will be rotated from due west. Consider the following when using lattice rotation:

    • You can use this parameter to generate pathways that better align with the input level features' primary direction of travel.
    • If no value is provided, the tool will calculate a rotation value based on the minimum bounding rectangle of each facility's level using the Input Level Features parameter value.

  • The Lattice Spacing parameter specifies the maximum distance between adjacent connected nodes in the lattice of pathways. The parameter value must be between 0.25 and 2.9 meters or 0.6 and 9.5 international feet. Consider the following when using lattice spacing:

    • You can use this parameter to generate a lattice with spacing tight enough to pass through the narrowest doorways in a floor plan.
    • Do not make the lattice denser than necessary. A dense lattice takes longer to generate and requires more disk space.
    • The default value (0.6 meters) works well for most situations.

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 will 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.
  • LatticeHorizontal pathways will be created using lattice-based generation, which is well suited to buildings with a single orientation and many right angles. This is the default.
  • 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. The value must be between 0.25 and 2.9 meters or 0.6 and 9.5 international feet. If no value is provided, a default value will be based on the Pathway Generation Method parameter value as follows:

  • Lattice—0.05 meters
  • Universal Circulation Network—0.4 meters

Linear Unit
Search Radius
(Optional)

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

Linear Unit
Lattice Spacing
(Optional)

The longest distance allowed between nodes in the generated lattice of pathways. The tool will use the unit of measure from the coordinate system of the Indoors dataset. The default value is 0.6 meters.

The value must be between 0.25 and 2.9 meters or 0.6 and 9.5 international feet.

Linear Unit
Lattice Rotation
(Optional)

The number of degrees by which the input floors' primary travel direction will be rotated clockwise from due west. If no value is provided, a default value will be based on the minimum bounding rectangle of each floor.

The value must be between 0 and 180.

Double

Derived Output

LabelExplanationData Type
Updated Pathways

The updated Target Indoor Pathways layer.

Feature Layer
Updated 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}, {lattice_spacing}, {lattice_rotation})
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 will 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.
  • LATTICEHorizontal pathways will be created using lattice-based generation, which is well suited to buildings with a single orientation and many right angles. This is the default.
  • 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. The value must be between 0.25 and 2.9 meters or 0.6 and 9.5 international feet. If no value is provided, a default value will be based on the generation_method parameter value as follows:

  • LATTICE—0.05 meters
  • UCN—0.4 meters

Linear Unit
search_radius
(Optional)

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

Linear Unit
lattice_spacing
(Optional)

The longest distance allowed between nodes in the generated lattice of pathways. The tool will use the unit of measure from the coordinate system of the Indoors dataset. The default value is 0.6 meters.

The value must be between 0.25 and 2.9 meters or 0.6 and 9.5 international feet.

Linear Unit
lattice_rotation
(Optional)

The number of degrees by which the input floors' primary travel direction will be rotated clockwise from due west. If no value is provided, a default value will be based on the minimum bounding rectangle of each floor.

The value must be between 0 and 180.

Double

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 1 (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: Requires ArcGIS Indoors Pro or ArcGIS Indoors Maps
  • Advanced: Requires ArcGIS Indoors Pro or ArcGIS Indoors Maps

Related topics