Network Attributes
Summary
Provides information about network attributes that are defined for a given network dataset.
Discussion
For a given network attribute, edgeDirectionX, sourceNameX, evaluatorTypeX, and dataX are dynamic properties where X indicates a particular evaluator. The possible range of values for X depends on the evaluatorCount property. For example, if a network attribute named DriveTime has two evaluators as indicated by the evaluatorCount property, the DriveTime attribute will support edgeDirection0, sourceName0, evaluatorType0, data0, edgeDirection1, sourceName1, evaluatorType1, and data1 properties.
Similarly, for a given network attribute, parameterNameX, parameterTypeX, and parameterDefaultValueX are dynamic properties where X indicates a particular parameter. The possible range of values for X depends on the parameterCount property. For example, if a network attribute named DriveTime has two parameters as indicated by the parameterCount property, the DriveTime attribute will support parameterName0, parameterType0, parameterDefaultValue0, parameterName1, parameterType1,and parameterDefaultValue1 properties.
Properties
Property | Explanation | Data Type |
name (Read Only) |
The name of the network attribute. | String |
units (Read Only) |
The units for the network attribute. Units of a cost attribute are either distance or time units—for example, centimeters, meters, miles, minutes, seconds. Descriptors, hierarchies, and restrictions have unknown units. | String |
usageType (Read Only) |
The network attribute usage type. This property returns the following keywords:
| String |
dataType (Read Only) |
The network attribute data type. This property returns the following keywords:
| String |
useByDefault (Read Only) |
Indicates if the network attribute is used by default on a newly created network analysis layer. Only one cost attribute in the network dataset can be set to be used by default. Descriptor attributes cannot be used by default. | Boolean |
defaultEdgeEvaluatorType (Read Only) |
The default edge evaluator type used by the network dataset. This property returns the following keywords:
| String |
defaultEdgeData (Read Only) |
The value for the network attribute that is associated by default for all the edge network sources in the network dataset. In case of a script evaluator the entire expression is returned. The data type of the returned value depends upon the data type and the default edge evaluator type associated with the network attribute. | Variant |
defaultJunctionEvaluatorType (Read Only) |
The default junction evaluator type used by the network dataset. This property returns the following keywords:
| String |
defaultJunctionData (Read Only) |
The value for the network attribute that is associated by default for all the junction network sources in the network dataset. In case of a script evaluator the entire expression is returned. The data type of the returned value depends upon the data type and the default junction evaluator type associated with the network attribute. | Variant |
defaultTurnEvaluatorType (Read Only) |
The network dataset default turn evaluator type. The property is available only if the network dataset supports turns which can be determined using the supportsTurns property. This property returns the following keywords:
| String |
defaultTurnData (Read Only) |
The value for the network attribute that is associated by default for all the turn network sources in the network dataset. In case of a script evaluator the entire expression is returned. The property is available only if the network dataset supports turns which can be determined using the supportsTurns property. The data type of the returned value depends upon the data type and the default turn evaluator type associated with the network attribute. | Variant |
evaluatorCount (Read Only) |
The total number of evaluators used to derive values from the given network source for this network attribute. | Integer |
edgeDirectionX (Read Only) |
The direction for the edge network sources along which the evaluator assigns the value for the network attribute. There is no direction associated with junction and turn network sources. edgeDirectionX is a dynamic property. This property returns the following keywords:
| String |
sourceNameX (Read Only) |
The name of the network source for which the evaluator calculates the value of a given network attribute. sourceNameX is a dynamic property. | String |
evaluatorTypeX (Read Only) |
The type of evaluator. evaluatorTypeX is a dynamic property. This property returns the following keywords.
| String |
dataX (Read Only) |
The value of the network attribute assigned to a network source using the evaluator. In case of a script evaluator the entire expression is returned. The data type of the returned value depends upon the data type and the evaluator type associated with the network attribute. dataX is a dynamic property. | Variant |
parameterCount (Read Only) |
The total number of attribute parameters defined for the network attribute. | Integer |
parameterNameX (Read Only) |
The name of the parameter. parameterNameX is a dynamic property that is supported only if parameterCount value is greater than 0. | String |
parameterTypeX (Read Only) |
The data type for the parameter. parameterTypeX is a dynamic property that is supported only if parameterCount value is greater than 0. This property returns the following keywords
| String |
parameterDefaultValueX (Read Only) |
The default value for the parameter. parameterDefaultValueX is a dynamic property that is supported only if parameterCount value is greater than 0. The data type of the returned value depends upon the data type of the attribute parameter. | Variant |
Code Sample
Display the network attribute information for a network dataset.
# Name: NDSAttributeProperties_ex01.py # Description: Print the information about network attributes defined for the # network dataset import arcpy # Set workspace arcpy.env.workspace = "C:/Data/Paris.gdb/Transportation" # Create a Describe object from the network dataset desc = arcpy.Describe("ParisMultimodal_ND") # Get a list of network attributes attributes = desc.attributes #print information for each attribute for attribute in attributes: print "----------------------------------\n" print "Name: ", attribute.name print "Units: ", attribute.units print "Usage Type: ", attribute.usageType print "Data Type: ", attribute.dataType print "Use By Default: ", str(attribute.useByDefault) #Information about default evaluators print "Default edge evaluator type: ", attribute.defaultEdgeEvaluatorType print "Default edge evaluator data: ", str(attribute.defaultEdgeData) print "Default junction evaluator type: ",attribute.defaultJunctionEvaluatorType print "Default junction evaluator data: ",str(attribute.defaultJunctionData) #Turn specific information is supported only if network dataset supports #turns if desc.supportsTurns: print "Default turn evaluator type: ",attribute.defaultTurnEvaluatorType print "Default turn evaluator data: ", str(attribute.defaultTurnData) #Describe all other evaluators count = attribute.evaluatorCount print "Evaluator count: " , count for i in range(0, count): text = "Evaluator %d" % i print text, " ---" edgeDir = getattr(attribute,"edgeDirection" + str(i)) print "Edge direction: ", edgeDir srcName = getattr(attribute,"sourceName" + str(i)) print "Source Name: ", srcName evaluatortype = getattr(attribute,"evaluatorType" + str(i)) evaluatordata = getattr(attribute,"data" + str(i)) print "Evaluator Type: ", evaluatortype print "Evaluator Data: ", evaluatordata #Describe attribute parameters print "Parameter Information........" paramcount = attribute.parameterCount if paramcount == 0: print "No Parameters defined." else: print "Parameter Count: " , paramcount for i in range (0, paramcount): paramName = getattr(attribute, "parameterName" + str(i)) paramType = getattr(attribute, "parameterType" + str(i)) paramDefaultValue = getattr(attribute, "parameterDefaultValue" + str(i)) print "Parameter Name: " , paramName print "Parameter Type: " , paramType print "Parameter Default Value: ", paramDefaultValue