AttributeEvaluator

Summary

A base class for a network attribute custom evaluator.

Discussion

This class is used as the base class when creating a custom evaluator class (class MyCustEval(arcpy._na.AttributeEvaluator):).

The attribute_name property is the attribute that the custom evaluator will apply to and is required. If an attribute by that name is not found, the custom evaluator will not be attached to the network dataset.

A list of specific source feature class names that the custom evaluator will apply to is optional. If the specific_sources argument is not provided, the custom evaluator will apply to all sources.

The attribute, networkQuery, and attached properties are set after the custom evaluator is associated with a specific network dataset.

Syntax

AttributeEvaluator (attribute_name, {specific_sources})
ParameterExplanationData Type
attribute_name

The name of the network attribute.

String
specific_sources

A list of network source names. The source names can be of type string or none.

(The default value is None)

List

Properties

PropertyExplanationData Type
attached
(Read Only)

Indicates whether the evaluator is attached to a network.

Boolean
attribute
(Read Only)

The network attribute that the custom evaluator applies to.

Attribute
attributeName
(Read Only)

The network attribute name that the custom evaluator applies to.

String
networkQuery
(Read Only)

The network query object for the network that the attribute evaluator is attached to.

NetworkQuery
sourceNames
(Read Only)

The list of network source names that the custom evaluator applies to. The list is comprised of string types.

String

Method Overview

MethodExplanation
attach (network_query)

Indicates whether the custom evaluator will be applied to the network, such as checking whether the required attributes exist. This method is invoked when a custom evaluator is attached to the network dataset.

Note:

The method may be invoked multiple times depending on the number of threads accessing the network.

refresh ()

Manages the state of a custom evaluator object. The method can be used to refresh an evaluator's state, such as re-reading specific resources or refreshing object-specific caches. This method is automatically invoked before each solve is run.

edgeValue (edge)

The final evaluated attribute value for an edge. Custom logic can be applied in this method to determine the final attribute value. The method is invoked at the end of the solver's evaluation of the edge.

edgeValueAtTime (edge, time, time_usage)

The final evaluated attribute value for an edge when time is used. Custom logic can be applied in this method to determine the final attribute value. The method is invoked at the end of the solver's evaluation of the edge when time has been used (for evaluators that support time).

junctionValue (junction)

The final evaluated attribute value for a junction. Custom logic can be applied in this method to determine the final attribute value. This method is invoked at the end of the solver's evaluation of the junction.

junctionValueAtTime (junction, time, time_usage)

The final evaluated attribute value for a junction when time is used. Custom logic can be applied in this method to determine the final attribute value. The method is invoked at the end of the solver's evaluation of the junction when time has been used (for evaluators that support time).

turnValue (turn)

The final evaluated attribute value for a turn. Custom logic can be applied in this method to determine the final attribute value. The method is invoked at the end of the solver's evaluation of the turn.

turnValueAtTime (turn, time, time_usage)

The final evaluated attribute value for a turn when time is used. Custom logic can be applied in this method to determine the final attribute value. The method is invoked at the end of the solver's evaluation of the turn when time has been used (for evaluators that support time).

Methods

attach (network_query)
ParameterExplanationData Type
network_query

The network query instance for the current network dataset.

NetworkQuery
Return Value
Data TypeExplanation
Boolean

True, if the network has the specified attribute.

refresh ()
edgeValue (edge)
ParameterExplanationData Type
edge

The edge being evaluated.

Edge
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float or, a boolean.

edgeValueAtTime (edge, time, time_usage)
ParameterExplanationData Type
edge

The edge being evaluated.

Edge
time

The time the edge will be encountered along the route.

DateTime
time_usage

The time usage type.

NetworkTimeUsage
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float or, a boolean value.

junctionValue (junction)
ParameterExplanationData Type
junction

The junction being evaluated.

Junction
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float, or a boolean value.

junctionValueAtTime (junction, time, time_usage)
ParameterExplanationData Type
junction

The junction being evaluated.

Junction
time

The time the junction will be encountered along the route.

DateTime
time_usage

The time usage type.

NetworkTimeUsage
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float, or a boolean value.

turnValue (turn)
ParameterExplanationData Type
turn

The turn being evaluated.

Turn
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float, or a boolean value.

turnValueAtTime (turn, time, time_usage)
ParameterExplanationData Type
turn

The turn being evaluated.

Turn
time

The time the turn will be encountered along the route.

DateTime
time_usage

The time usage type.

NetworkTimeUsage
Return Value
Data TypeExplanation
Object

The attribute value. This can be an integer, a float, or a boolean value.