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
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 feature layer or feature class that conforms to the Indoors Model for the PointsOfInterest feature class.
- Routable locations will be used while thinning the input pathway and transition features to determine which required features make an efficient network.
- Points 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 are to be processed.
- It is recommended that you filter the number of routable locations included for processing if you have a large number of points 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 points 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
ThinIndoorPathways(in_level_features, in_pathway_features, in_transition_features, routable_locations, target_pathways, target_transitions, {search_tolerance}, {neighbor_solve_count})
Parameter | Explanation | Data 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 features representing the locations used to calculate routes. In the Indoors Model, this will be the PointsOfInterest 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 to find Routable Locations features near the input pathways. Routable Locations features farther away than this value won't 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
Name | Explanation | Data Type |
updated_pathways | The updated Target Pathways layer. | Feature Class |
updated_transitions | The updated Target Transitions layer. | Feature Class |
Code sample
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'",
r"C:\Indoors\ExampleCampus.gdb\Network\Pathways",
r"C:\Indoors\ExampleCampus.gdb\Network\Transitions",
5, 50)
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"]
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
Licensing information
- Basic: No
- Standard: No
- Advanced: Requires Indoors, 3D Analyst, and Network Analyst