Skip to main content

AttributeEvaluator

Résumé

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.nax.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.

Syntaxe

AttributeEvaluator(attribute_name, {specific_sources})

Nom Explication Type de données

attribute_name

The name of the network attribute.

String

specific_sources

(Facultatif)

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

The default value is None.

List

Propriétés

Nom Explication Type de données

attached

(Lecture seule)

Indicates whether the evaluator is attached to a network.

Boolean

attribute

(Lecture seule)

The network attribute that the custom evaluator applies to.

Attribute

attributeName

(Lecture seule)

The network attribute name that the custom evaluator applies to.

String

networkQuery

(Lecture seule)

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

NetworkQuery

sourceNames

(Lecture seule)

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

String

Méthodes

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.

Remarque :

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

Nom Explication Type de données

network_query

The network query instance for the current network dataset.

NetworkQuery

Valeur de retour

Type de données Explication

Boolean

True, if the network has the specified attribute.

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.

Nom Explication Type de données

edge

The edge being evaluated.

Edge

Valeur de retour

Type de données Explication

Object

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

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).

Nom Explication Type de données

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

Valeur de retour

Type de données Explication

Object

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

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.

Nom Explication Type de données

junction

The junction being evaluated.

Junction

Valeur de retour

Type de données Explication

Object

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

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).

Nom Explication Type de données

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

Valeur de retour

Type de données Explication

Object

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

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.

Nom Explication Type de données

turn

The turn being evaluated.

Turn

Valeur de retour

Type de données Explication

Object

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

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).

Nom Explication Type de données

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

Valeur de retour

Type de données Explication

Object

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