Thin Indoor Pathways (Indoors)

Available for an ArcGIS organization licensed with the Indoors extension.

Summary

Removes preliminary network pathways that are not needed for routing between selected locations on each floor, reducing the network dataset size and improving its route-solving performance.

Illustration

Thin Indoor Pathways illustration

Usage

  • The Input Level Features parameter must be a polygon feature layer or feature class that conforms to the Indoors Model for the Levels feature class. The thinning of pathways can be limited to specific floors (levels) by making a selection on the input layer or by providing a definition query. Without a selection or definition query, the tool will thin pathways for all floors in the input layer.

  • The Input Pathway Features parameter must be a polyline feature layer or feature class that conforms to the Indoors Model for the PrelimPathways feature class. The preliminary pathways can be generated using the Generate Indoor Pathways tool. The tool ignores any selection or definition queries on this input layer.

  • The Input Transition Features parameter must be a polyline feature layer or feature class that conforms to the Indoors Model for the PrelimTransitions feature class. The preliminary transitions can be generated using the Generate Floor Transitions tool.

  • The Target Pathways parameter must be an existing polyline feature layer or feature class that conforms to the Indoors Model for the Pathways feature class. This dataset will be updated with the final thinned pathways for use in creating the network dataset.

  • The Target Transitions parameter must be an existing polyline feature layer or feature class that conforms to the Indoors Model for the Transitions feature class. This dataset will be updated with the final thinned transitions for use in creating the network dataset.

  • The Routable Locations parameter must include at least one point or polygon feature layer or feature class that conforms to the Indoors Model for the PointsOfInterest or the Units feature class.

    • Routable locations are used while thinning the input pathway and transition features to identify which required features make an efficient network.
    • Features that are outside the Search Tolerance parameter value will not be included in the route calculations.
    • Before running this tool, you can use a definition query or the Select Layer By Attribute tool to select which routable locations from the layer will be processed.
    • It is recommended that you filter the number of routable locations included for processing if you have a large number of points or polygons in close proximity and within the network tolerance.

  • The Neighbor Solve Count parameter can be used to increase network connectivity or reduce processing times by increasing or limiting, respectively, the number of potential routes to be calculated between routable locations.

    • It is recommended that you reduce this value if you have a large number of features in close proximity to reduce processing times at the potential expense of network connectivity.
    • You can increase this value to provide more direct routes at the expense of increased processing times.

  • Before running this tool, delete any network datasets using the input and target pathways or transitions.

Syntax

arcpy.indoors.ThinIndoorPathways(in_level_features, in_pathway_features, in_transition_features, routable_locations, target_pathways, target_transitions, {search_tolerance}, {neighbor_solve_count})
ParameterExplanationData Type
in_level_features

The input polygon features representing a floor or floors in one or more buildings (facilities). In the Indoors Model, this will be the Levels layer. The tool processes only the floors (levels) represented by these features.

Feature Layer
in_pathway_features

The input polyline features representing the preliminary pathways to be thinned. In the Indoors Model, this will be the PrelimPathways layer.

Feature Layer
in_transition_features

The input polyline features representing the preliminary transitions to be thinned. In the Indoors Model, this will be the PrelimTransitions layer.

Feature Layer
routable_locations
[routable_locations,...]

The input point or polygon features representing the locations used to calculate routes. In the Indoors Model, this will be the PointsOfInterest layer or the Units layer.

Feature Layer
target_pathways

The existing feature class or feature layer to which the thinned pathways will be added. In the Indoors Model, this will be the Pathways layer.

Feature Layer
target_transitions

The existing feature class or feature to which thinned transitions will be added. In the Indoors Model, this will be the Transitions layer.

Feature Layer
search_tolerance
(Optional)

The distance, in meters, the tool will search for Routable Locations features near the input pathways. Routable Locations features farther away than this value will not be used for thinning. The default value is 5.

Note:

The value must be 0 or greater.

Long
neighbor_solve_count
(Optional)

The number of closest neighboring locations to solve when calculating routes between a given location and other routable locations in the building (facility). The default value is 50.

Note:

The value must be 1 or greater.

Long

Derived Output

NameExplanationData Type
updated_pathways

The updated Target Pathways layer.

Feature Class
updated_transitions

The updated Target Transitions layer.

Feature Class

Code sample

ThinIndoorPathways example 1 (Python window)

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

import arcpy
arcpy.indoors.ThinIndoorPathways(r"C:\Indoors\ExampleCampus.gdb\Indoors\Levels", 
                                  r"C:\Indoors\ExampleCampus.gdb\PrelimNetwork\PrelimPathways", 
                                  r"C:\Indoors\ExampleCampus.gdb\PrelimNetwork\PrelimTransitions", 
                                  "'C:/Indoors/ExampleCampus.gdb/Indoors/PointsOfInterest';'C:/Indoors/ExampleCampus.gdb/Indoors/Events';'C:/Indoors/ExampleCampus.gdb/Indoors/Units'", 
                                  r"C:\Indoors\ExampleCampus.gdb\Network\Pathways", 
                                  r"C:\Indoors\ExampleCampus.gdb\Network\Transitions", 
                                  5, 50)
ThinIndoorPathways example 2 (stand-alone script)

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

# Name: Indoors_ThinIndoorPathways_example2.py
# Description: Thins preliminary pathways for use with an Indoors network dataset

import arcpy

# Set tool parameters
in_level_features = r"C:\Indoors\ExampleCampus.gdb\Indoors\Levels"
in_pathway_features = r"C:\Indoors\ExampleCampus.gdb\PrelimNetwork\PrelimPathways"
in_transition_features = r"C:\Indoors\ExampleCampus.gdb\PrelimNetwork\PrelimTransitions"
routable_locations = [r"C:\Indoors\ExampleCampus.gdb\Indoors\PointsOfInterest", 
                      r"C:\Indoors\ExampleCampus.gdb\Indoors\Events",
                      r"C:\Indoors\ExampleCampus.gdb\Indoors\Units"]
target_pathways = r"C:\Indoors\ExampleCampus.gdb\Network\Pathways"
target_transitions = r"C:\Indoors\ExampleCampus.gdb\Network\Transitions"
search_tolerance = 7
neighbor_solve_count = 75

# Run the tool
arcpy.indoors.ThinIndoorPathways(in_level_features, in_pathway_features, 
                                  in_transition_features, routable_locations, 
                                  target_pathways, target_transitions, 
                                  search_tolerance, neighbor_solve_count)

Environments

This tool does not use any geoprocessing environments.

Licensing information

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

Related topics