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 level, reducing the network dataset size and improving its route-solving performance.

Illustration

Thin Indoor Pathways tool illustration

Usage

  • The Input Level Features parameter can be a feature layer or feature class from an indoor dataset (created using the Create Indoor Dataset tool) or an Indoors geodatabase (created using the Create Indoors Database tool). The following input parameters can be feature layers or feature classes from an indoor network dataset (created using the Create Indoor Network Dataset) or an Indoors geodatabase: Input Pathway Features, Input Transition Features, Target Pathways, and Target Transitions.

  • 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. Thinning pathways can be limited to specific levels by making a selection on the input layer or by providing a definition query. Without a selection or definition query, pathways will be thinned for all levels 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. Selection or definition queries on the input layer will be ignored.

  • 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 feature class 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 feature class 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. Routable locations can come from the following types of layers and feature classes:

    • A point or polygon feature layer or feature class from an indoor dataset
    • A point or polygon feature layer or feature class from an Indoors geodatabase
    • A point or polygon feature layer or feature class that is configured as floor aware
    • A point or polygon feature layer or feature class with a LEVEL_ID field that associates the feature to the level on which it is located

    Keep the following in mind when setting the Routable Locations parameter:

    • 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.
    • Consider filtering 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.

    • Consider reducing 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 in the same feature dataset where the target pathways and transitions exist.

  • The Search Tolerance parameter value defines the search tolerance in meters. The default value is 5.

Parameters

LabelExplanationData Type
Input Level Features

The input polygon features representing a level or levels in one or more facilities. In the ArcGIS Indoors Information Model, this will be the Levels layer. Only the levels represented by these features will be processed.

Feature Layer
Input 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
Input 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

The input point or polygon features representing the locations used to calculate routes. This can be any point or polygon features that conform to the Indoors model or are configured as floor aware.

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 that will be solved when calculating routes between a given location and other routable locations in the facility. The default value is 50.

Note:

The value must be 1 or greater.

Long

Derived Output

LabelExplanationData Type
Updated Pathways

The updated Target Pathways layer.

Feature Class
Updated Transitions

The updated Target Transitions layer.

Feature Class

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

The input polygon features representing a level or levels in one or more facilities. In the ArcGIS Indoors Information Model, this will be the Levels layer. Only the levels represented by these features will be processed.

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. This can be any point or polygon features that conform to the Indoors model or are configured as floor aware.

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 that will be solved when calculating routes between a given location and other routable locations in the 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\Indoor\Levels", 
                                  r"C:\Indoors\ExampleCampus.gdb\PrelimIndoorNetwork\PrelimPathways", 
                                  r"C:\Indoors\ExampleCampus.gdb\PrelimIndoorNetwork\PrelimTransitions", 
                                  "'C:/Indoors/ExampleCampus.gdb/Indoor/Units';'C:/Indoors/ExampleCampus.gdb/Indoor/FloorAwarePoints';'C:/Indoors/ExampleCampus.gdb/Indoor/FloorAwarePolygons'", 
                                  r"C:\Indoors\ExampleCampus.gdb\IndoorNetwork\Pathways", 
                                  r"C:\Indoors\ExampleCampus.gdb\IndoorNetwork\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 indoor network dataset

import arcpy

# Set tool parameters
in_level_features = r"C:\Indoors\ExampleCampus.gdb\Indoor\Levels"
in_pathway_features = r"C:\Indoors\ExampleCampus.gdb\PrelimIndoorNetwork\PrelimPathways"
in_transition_features = r"C:\Indoors\ExampleCampus.gdb\PrelimIndoorNetwork\PrelimTransitions"
routable_locations = [r"C:\Indoors\ExampleCampus.gdb\Indoor\Units",  
                      r"C:\Indoors\ExampleCampus.gdb\Indoor\FloorAwarePoints", 
                      r"C:\Indoors\ExampleCampus.gdb\Indoor\FloorAwarePolygons"]
target_pathways = r"C:\Indoors\ExampleCampus.gdb\IndoorNetwork\Pathways"
target_transitions = r"C:\Indoors\ExampleCampus.gdb\IndoorNetwork\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