Summary
Returns selected features in a trace network based on connectivity or traversability from the specified starting points.
The trace capabilities of the trace network allow you to analyze paths in your network. Traversability refers to paths established by connected features that also meet configuration requirements.
By default, trace results are returned as a selection and include the entire line feature. To return partial feature results, set the Result Types parameter to Aggregate Geometry. When a starting point or barrier is placed on a junction with midspan connectivity, trace results will return partial elements of the edge feature. When a barrier is placed along an edge, trace results can be stopped at the nearest junction with midspan connectivity. The resulting selection set or output feature class generated by the trace can then be propagated to another map, propagated to a diagram view of the network, or used as input to another tool or trace.
Usage
-
The network topology must be enabled.
When working with an enterprise geodatabase, an input trace network must be from a feature service; a trace network from a database connection is not supported.
Because the Trace tool relies on the network topology, the trace results are not guaranteed to be accurate if dirty areas exist in the trace extent. The network topology for the area to be traced must be validated to reflect the most recent edits or updates to the network.
When working with network attributes assigned to a date field for condition barriers, function barriers, functions, and output conditions, the date value should be formatted as yyyy-mm-dd hh:mm:ss, for example, 2020-10-12 18:45:31.
Syntax
arcpy.tn.Trace(in_trace_network, trace_type, starting_points, {barriers}, {path_direction}, {shortest_path_network_attribute_name}, {include_barriers}, {validate_consistency}, {ignore_barriers_at_starting_points}, {allow_indeterminate_flow}, {condition_barriers}, {function_barriers}, {traversability_scope}, {functions}, {output_conditions}, {result_types}, selection_type, {clear_all_previous_trace_results}, {trace_name}, {aggregated_points}, {aggregated_lines}, {out_network_layer}, {use_trace_config}, {trace_config_name})
Parameter | Explanation | Data Type |
in_trace_network | The trace network on which the trace will be run. When working with an enterprise geodatabase, an input trace network must be from a feature service; a trace network from a database connection is not supported. | Trace Network; Trace Network Layer |
trace_type | Species the type of trace to execute.
| String |
starting_points | A feature layer created using the Starting Points tool in the Trace Locations pane, or a table or feature class containing one or more records that represent the starting points of the trace. The TN_Temp_Starting_Points feature class is used by default and is generated in the default geodatabase of the project when you create starting points using the Starting Points tool in the Trace Locations pane. | Feature Layer; Table View |
barriers (Optional) | A table or feature class containing one or more features that represent the barriers of the trace that prevent the trace from traversing beyond that point. The TN_Temp_Barriers feature class is used by default and is generated in the default geodatabase of the project when you create barriers using the Barriers tool in the Trace Locations pane. | Feature Layer; Table View |
path_direction (Optional) | Specifies the direction of the trace path. The cost of traversing the path is determined by the shortest_path_network_attribute_name parameter value. This parameter is only honored when running a SHORTEST_PATH trace type.
| String |
shortest_path_network_attribute_name (Optional) | The name of the network attribute used to calculate the path. When running a shortest path trace type, the shortest path is calculated using a numeric network attribute such as shape length. Cost and distance based paths can both be achieved. This parameter is required when running a shortest path trace. | String |
include_barriers (Optional) | Specifies whether the traversability barrier features will be included in the trace results.
| Boolean |
validate_consistency (Optional) | Specifies whether an error will be returned if dirty areas are encountered in any of the traversed features. This is the only way to guarantee a trace is passing through features with consistent status in the network. To remove dirty areas, validate the network topology.
| Boolean |
ignore_barriers_at_starting_points (Optional) | Specifies whether barriers in the trace configuration will be ignored for starting points.
| Boolean |
allow_indeterminate_flow (Optional) | Specifies whether features that have indeterminate or uninitialized flow will be traced. This parameter is only honored when running an upstream or downstream trace.
| Boolean |
condition_barriers [Name, Operator, Type, Value, Combine Using,...] (Optional) | Sets a traversability barrier condition on features based on a comparison to a network attribute. A condition barrier uses a network attribute, an operator and a type, and an attribute value. For example, stop a trace when a feature has the Code attribute equal to the specific value of ArtificialPath. When a feature meets this condition, the trace stops. If you're using more than one attribute, you can use the Combine Using component to define an And or an Or condition. Condition barrier components are as follows:
Operator components are as follows:
Type components are as follows:
Combine Using component are as follows:
| Value Table |
function_barriers [Function, Attribute, Operator, Value, Use Local Values,...] (Optional) | Sets a traversability barrier on features based on a function. Function barriers can be used, for example, to restrict how far the trace travels from the starting point or to set a maximum value to stop a trace. For example, the length of each line traveled is added to the total distance traveled so far. When the total length traveled reaches the value specified, the trace stops. Function barrier components are as follows:
Function components are as follows:
Operator components are as follows:
Use Local Values components are as follows:
| Value Table |
traversability_scope (Optional) | Specifies the type of traversability to enforce. Traversability scope determines whether traversability is enforced at junctions, edges, or both. For example, in a network of recreational trails, if a condition barrier is defined to stop the trace if the path type is gravel and traversability scope is set to junctions only, the trace will not stop even if it encounters a gravel path, because the path type is only applicable to edges. In other words, this parameter indicates to the trace whether to ignore junctions, ignore edges, or include both junctions and edges in the trace.
| String |
functions [[Function, Attribute, Filter Name, Filter Operator, Filter Type, Filter Value],...] (Optional) | Applies a calculation function to the trace results. Functions components are as follows:
Function component options are as follows:
For example, you have a starting point feature with a value of 20. The next feature has a value of 30. If you are using the MIN function, the result is 20. MAX is 30, ADD is 50, AVERAGE is 25, COUNT is 2, and SUBTRACT is -10. Filter Operator component options are as follows:
Filter Type component options are as follows:
| Value Table |
output_conditions [[Name, Operator, Type, Value, Combine Using],...] (Optional) | The types of features that will be returned based on a network attribute. For example, in a trace configured to filter out everything but Tap features, any traced features that do not have the Tap attribute assigned to them are not included in the results. Any traced features that do are returned in the result selection set. If using more than one attribute, you can use the Combine Using option to define an And or an Or condition. Output conditions components are as follows:
Operator component options are as follows:
Type component options are as follows:
Combine Using component options are as follows:
| Value Table |
result_types [result_types,...] (Optional) | Specifies the type of results returned by the trace.
| String |
selection_type | Specifies how the selection will be applied and what to do if a selection already exists.
| String |
clear_all_previous_trace_results (Optional) | Specifies whether content will be truncated from or appended to the feature classes chosen to store aggregated geometry. This parameter is only applicable to the aggregated geometry result type.
| Boolean |
trace_name (Optional) | The name of the trace operation. This value is stored in the TRACENAME field of the output feature class to assist with identification of the trace results. This parameter is only applicable to the aggregated geometry result type. | String |
aggregated_points (Optional) | An output multipoint feature class containing the aggregated result geometry. By default, the parameter is populated with a system-generated feature class named Trace_Results_Aggregated_Points that will be stored in the project's default geodatabase. This feature class will be created automatically if it does not exist. An existing feature class can also be used to store aggregated geometry. If a feature class other than the default is used, it must be a multipoint feature class and contain a string field named TRACENAME. This parameter is only applicable to the aggregated geometry result type. | Feature Class |
aggregated_lines (Optional) | An output polyline feature class containing the aggregated result geometry. By default, the parameter is populated with a system-generated feature class named Trace_Results_Aggregated_Lines that will be stored in the project's default geodatabase. This feature class will be created automatically if it does not exist. An existing feature class can also be used to store aggregated geometry. If a feature class other than the default is used, it must be a polyline feature class and contain a string field named TRACENAME. This parameter is only applicable to the aggregated geometry result type. | Feature Class |
out_network_layer (Optional) | The name of the output group layer that contains feature layers with selection sets of features returned by the trace. The layer provides access to work with the output of a trace in ModelBuilder and Python. This parameter is only applicable to the network layers result type. | Group Layer |
use_trace_config (Optional) | Specifies whether an existing trace configuration will be used to populate the parameters of the Trace tool.
Note:This parameter requires Trace Network Version 2 or later. | Boolean |
trace_config_name (Optional) | Specifies the name of the trace configuration that will be used to define the properties of the trace. This parameter is only enabled when the use_trace_config parameter is set to USE_TRACE_CONFIGURATION. Note:This parameter requires Trace Network Version 2 or later. | String |
Derived Output
Name | Explanation | Data Type |
updated_trace_network | The updated trace network. | Any Value |
Code sample
Run a downstream trace on a trace network named HydroNetwork using the Trace function.
import arcpy
arcpy.Trace_tn(r"C:\MyProject\NHD.gdb\Hydro\HydroNetwork",
"DOWNSTREAM", r"C:\MyProject\NHD.gdb\TN_Temp_Starting_Points")
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes