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 floors in one or more buildings (facilities).

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

Illustration

Before and after the tool is applied

Usage

  • The Input Level Features parameter 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 buildings or floors, 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 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 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 building's floors 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 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.

Syntax

GenerateIndoorPathways(in_level_features, in_detail_features, target_pathways, {lattice_rotation}, {lattice_density}, {restricted_unit_features}, {restricted_unit_exp}, {detail_exp})
ParameterExplanationData Type
in_level_features

The input polygon features representing building floors. 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 may serve as barriers to travel within a building. In the Indoors model, this will be the Details layer

Feature Layer
target_pathways

The Indoors geodatabase (file or enterprise) 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 building. 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 in which the tool should not generate pathways.

SQL Expression
detail_exp
(Optional)

An SQL expression used to select Input Detail Features across which the tool should 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