Generate Indoor Pathways (Indoors)

Available for an ArcGIS organization licensed with the Indoors extension.

Summary

Generates preliminary pathways that are cut according to obstructions, such as walls or columns, on selected levels in one or more facilities.

Once stair or elevator floor transitions are added, the Thin Indoor Pathways tool is used to create the final indoor network dataset.

Illustration

Generate Indoor Pathways tool example

Usage

  • The feature layers or feature classes used for the Input Level Features, Input Detail Features, and Restricted Unit Features parameters can be from an indoor dataset (created using the Create Indoor Dataset tool) or an Indoors geodatabase (created using the Create Indoors Database tool). The feature layer or feature class used for the Target Pathways parameter can be from a preliminary indoor network dataset (created using the Create Indoor Network Dataset tool) or an Indoors geodatabase.

  • 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 the tool.
    • If a feature class or a feature layer that has no features selected is specified, the tool will generate pathways for all features present.

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

    • If Input Detail Features contains polylines representing both barriers (such as walls and windows) and nonbarriers (such as stairs and doorways), use the Detail Expression parameter to identify which features represent barriers. In the Indoors model, values from the USE_TYPE field are typically used.

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

    • If Target Pathways already contains pathways for the levels defined by Input Level Features, the tool will overwrite the existing pathways.

  • The Lattice Rotation parameter defines the angle the generated lattice of pathways will be rotated from due west.

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

  • The Lattice Density parameter defines the maximum distance, in meters, between adjacent connected nodes in the lattice of pathways.

    • You can use Lattice Density to generate a lattice with spacing tight enough to pass through the narrowest doorways in your floor plans.
    • Avoid making the lattice denser than necessary. A dense lattice takes longer to generate and requires more space on disk.
    • The default value (0.6 meters) works well for most situations. You can experiment with a single floor to find an optimal lattice density for your floor plans.

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

    • You can use Restricted Unit Features to define areas of a floor plan for which pathways should not be generated, such as interior landscaping, maintenance access, or atrium spaces that are open to the floor below.
    • If Restricted Unit Features contains polygons representing both restricted and unrestricted spaces, use the Restricted Unit Expression parameter to identify which features represent restricted spaces. In the Indoors model, values from the USE_TYPE field are typically used.

Parameters

LabelExplanationData Type
Input Level Features

The input polygon features representing levels in facilities. In the Indoors model, this will be the Levels layer. The tool honors selections and definition queries applied to the layer.

Feature Layer
Input Detail Features

The input polyline features representing architectural details that can serve as barriers to travel within a facility. In the Indoors model, this will be the Details layer

Feature Layer
Target Pathways

The feature class or feature layer to which generated pathway polylines will be written. In the Indoors model, this will be the PrelimPathways layer.

Feature Layer
Lattice Rotation
(Optional)

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

The value must be between 0.0 and 180.0.

Double
Lattice Density
(Optional)

The longest distance, in meters, allowed between nodes in the generated lattice of pathways. The default value is 0.6.

The value must be between 0.25 and 0.9.

Double
Restricted Unit Features
(Optional)

The input polygon features representing restricted and unrestricted spaces within a facility. In the Indoors model, this will be the Units layer.

Feature Layer
Restricted Unit Expression
(Optional)

An SQL expression used to select Restricted Unit Features values in which the tool will not generate pathways.

SQL Expression
Detail Expression
(Optional)

An SQL expression used to select Input Detail Features values across which the tool will not generate pathways.

SQL Expression

Derived Output

LabelExplanationData Type
Updated Pathways

The updated Target Pathways layer.

Feature Class

arcpy.indoors.GenerateIndoorPathways(in_level_features, in_detail_features, target_pathways, {lattice_rotation}, {lattice_density}, {restricted_unit_features}, {restricted_unit_exp}, {detail_exp})
NameExplanationData Type
in_level_features

The input polygon features representing levels in facilities. In the Indoors model, this will be the Levels layer. The tool honors selections and definition queries applied to the layer.

Feature Layer
in_detail_features

The input polyline features representing architectural details that can serve as barriers to travel within a facility. In the Indoors model, this will be the Details layer

Feature Layer
target_pathways

The feature class or feature layer to which generated pathway polylines will be written. In the Indoors model, this will be the PrelimPathways layer.

Feature Layer
lattice_rotation
(Optional)

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

The value must be between 0.0 and 180.0.

Double
lattice_density
(Optional)

The longest distance, in meters, allowed between nodes in the generated lattice of pathways. The default value is 0.6.

The value must be between 0.25 and 0.9.

Double
restricted_unit_features
(Optional)

The input polygon features representing restricted and unrestricted spaces within a facility. In the Indoors model, this will be the Units layer.

Feature Layer
restricted_unit_exp
(Optional)

An SQL expression used to select Restricted Unit Features values in which the tool will not generate pathways.

SQL Expression
detail_exp
(Optional)

An SQL expression used to select Input Detail Features values across which the tool will not generate pathways.

SQL Expression

Derived Output

NameExplanationData Type
updated_pathways

The updated Target Pathways layer.

Feature Class

Code sample

GenerateIndoorPathways example (Python window)

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

import arcpy
arcpy.indoors.GenerateIndoorPathways(r"C:\ExampleCampus.gdb\Indoors\Levels", 
                                      r"C:\ExampleCampus.gdb\Indoors\Details", 
                                      r"C:\ExampleCampus.gdb\PrelimNetwork\PrelimPathways", 
                                      28.2, 0.65, 
                                      r"C:\ExampleCampus.gdb\Indoors\Units", 
                                      "USE_TYPE = 'Landscaping'", 
                                      "USE_TYPE IN ('I-WALL', 'A-WALL-GLAS', 'A-WALL-EXTR')")
GenerateIndoorPathways example 2 (stand-alone script)

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

# Name: Indoors_GenerateIndoorPathways_example2.py
# Description: Generates pathways for specified levels

# import system modules
import arcpy

# set input features
in_level_features = r"C:\ExampleCampus.gdb\Indoors\Levels"
in_detail_features = r"C:\ExampleCampus.gdb\Indoors\Details"
target_pathways = r"C:\temp\ExampleCampus.gdb\PrelimNetwork\PrelimPathways"

# Define which Details features represent barriers
detail_exp = "USE_TYPE IN ('Interior Wall', 'Column')"

# Let tool calculate rotation for each facility
lattice_rotation = None

# Set max distance in meters between lattice nodes 
lattice_density = 0.55

# Don't generate pathways for maintenance areas
restricted_unit_features = r"C:\ExampleCampus.gdb\Indoors\Units"
restricted_unit_exp = "USE_TYPE IN ('AC Duct Shaft', 'Janitor''s Closet', 'Electrical Room')"

arcpy.indoors.GenerateIndoorPathways(in_level_features, in_detail_features, 
                                     target_pathways, lattice_rotation, 
                                     lattice_density, restricted_unit_features, 
                                     restricted_unit_exp, detail_exp)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Requires Indoors and 3D Analyst

Related topics