描述
提供有关为指定网络数据集定义的网络特性的信息。
讨论
对于特定的网络特性,edgeDirectionX、sourceNameX、evaluatorTypeX 和 dataX 为动态属性,其中 X 表示特定赋值器。X 值的允许范围取决于 evaluatorCount 属性。例如,如果名为 DriveTime 的网络特性含有两个赋值器(evaluatorCount 属性所指定),则 DriveTime 特性将支持 edgeDirection0、sourceName0、evaluatorType0、data0、edgeDirection1、sourceName1、evaluatorType1 和 data1 属性。
类似地,对于特定的网络特性,parameterNameX、parameterTypeX 和 parameterDefaultValueX 为动态属性,其中 X 表示特定的参数。X 值的允许范围取决于 parameterCount 属性。例如,如果名为 DriveTime 的网络特性含有两个参数(parameterCount 属性所指定),则 DriveTime 特性将支持 parameterName0、parameterType0、parameterDefaultValue0、parameterName1、parameterType1 和 parameterDefaultValue1 属性。
属性
属性 | 说明 | 数据类型 |
dataType (只读) | 网络属性数据类型。此属性返回以下关键字:
| String |
dataX (只读) | 使用赋值器分配到网络源的网络属性值。如果是脚本赋值器,则返回整个表达式。返回值的数据类型取决于与网络属性相关联的数据类型和赋值器类型。dataX 是一种动态属性。基于 SDC 的网络数据集不支持该属性。 | Variant |
defaultEdgeData (只读) | 默认情况下,网络属性的值与网络数据集中的所有边缘网络源相关联。如果是脚本赋值器,则返回整个表达式。返回值的数据类型取决于与网络属性相关联的数据类型和默认边缘赋值器类型。 | Variant |
defaultEdgeEvaluatorType (只读) | 网络数据集使用的默认边缘赋值器类型。此属性返回以下关键字:
| String |
defaultJunctionData (只读) | 默认情况下,网络属性的值与网络数据集中的所有交汇点网络源相关联。如果是脚本赋值器,则返回整个表达式。返回值的数据类型取决于与网络属性相关联的数据类型和默认交汇点赋值器类型。 | Variant |
defaultJunctionEvaluatorType (只读) | 网络数据集使用的默认交汇点赋值器类型。此属性返回以下关键字:
| String |
defaultTurnData (只读) | 默认情况下,网络属性值与网络数据集中的所有转弯网络源相关联。如果是脚本赋值器,则返回整个表达式。只有当网络数据集支持可使用supportsTurns属性确定的转弯时,该属性才可用。返回值的数据类型取决于与网络属性相关联的数据类型和默认转弯赋值器类型。 | Variant |
defaultTurnEvaluatorType (只读) | 网络数据集默认转弯赋值器的类型。只有当网络数据集支持可使用supportsTurns属性确定的转弯时,该属性才可用。此属性返回以下关键字:
| String |
directions (只读) | 网络方向 Describe 对象,可提供有关网络方向配置的相关信息。如果网络数据集不支持方向,则此属性将引发异常。 | Object |
edgeDirectionX (只读) | 边缘网络源的方向,赋值器在此方向上分配网络属性值。没有与交汇点和转弯网络源相关联的方向。edgeDirectionX 是一种动态属性。此属性返回以下关键字:
| String |
evaluatorCount (只读) | 用于从此网络属性的给定网络源获取值的赋值器总数。 | Integer |
evaluatorTypeX (只读) | 赋值器的类型。evaluatorTypeX 是一种动态属性。此属性返回以下关键字:
| String |
name (只读) | 网络属性的名称。 | String |
parameterCount (只读) | 为网络属性定义的属性参数总数。 | Integer |
parameterDefaultValueX (只读) | 参数的默认值。 parameterDefaultValueX是一种动态属性,仅在parameterCount值大于 0 时才受支持。返回值的数据类型取决于属性参数的数据类型。 | Variant |
parameterNameX (只读) | 参数的名称。 parameterNameX是一种动态属性,仅在parameterCount值大于 0 时才受支持。 | String |
parameterTypeX (只读) | 参数的数据类型。 parameterTypeX是一种动态属性,仅在parameterCount值大于 0 时才受支持。此属性返回以下关键字:
| String |
parameterUsageTypeX (只读) | 参数的使用类型。此属性返回以下关键字:
parameterUsageTypeX是一种动态属性,仅在parameterCount值大于 0 时才受支持。 | String |
sourceNameX (只读) | 赋值器为其计算给定网络属性值的网络源名称。sourceNameX 是一种动态属性。 | String |
trafficSupportType (只读) | 当前为网络属性配置的流量数据类型。此属性返回以下关键字:
| String |
units (只读) | 网络属性单位。成本属性的单位是距离或时间单位(例如厘米、米、英里、分钟、秒)。描述符、等级和约束条件的单位是未知的。 | String |
usageType (只读) | 网络属性使用类型。此属性返回以下关键字:
| String |
useByDefault (只读) | 指示是否默认将网络属性用于新创建的网络分析图层。 网络数据集中只有一个成本属性可以设置为默认情况下使用。描述符属性无法在默认情况下使用。 | Boolean |
代码示例
显示网络数据集的网络特性信息。
# 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)