Network Attributes

摘要

提供有关为指定网络数据集定义的网络特性的信息。

说明

对于特定的网络特性,edgeDirectionX、sourceNameX、evaluatorTypeX 和 dataX 为动态属性,其中 X 表示特定赋值器。X 值的允许范围取决于 evaluatorCount 属性。例如,如果名为 DriveTime 的网络特性含有两个赋值器(evaluatorCount 属性所指定),则 DriveTime 特性将支持 edgeDirection0sourceName0evaluatorType0data0edgeDirection1sourceName1evaluatorType1data1 属性。

类似地,对于特定的网络特性,parameterNameX、parameterTypeX 和 parameterDefaultValueX 为动态属性,其中 X 表示特定的参数。X 值的允许范围取决于 parameterCount 属性。例如,如果名为 DriveTime 的网络特性含有两个参数(parameterCount 属性所指定),则 DriveTime 特性将支持 parameterName0parameterType0parameterDefaultValue0parameterName1parameterType1parameterDefaultValue1 属性。

属性

属性说明数据类型
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 是一种动态属性。此属性返回以下关键字:

  • AlongDigitizedDirection
  • AgainstDigitizedDirection
String
evaluatorCount
(只读)

用于从此网络属性的给定网络源获取值的赋值器总数。

Integer
evaluatorTypeX
(只读)

赋值器的类型。evaluatorTypeX 是一种动态属性。此属性返回以下关键字:

  • 字段
  • 常量
  • 脚本
  • 功能
  • NetworkEdgeTraffic
  • 公共交通
String
name
(只读)

网络属性的名称。

String
parameterCount
(只读)

为网络属性定义的属性参数总数。

Integer
parameterDefaultValueX
(只读)

参数的默认值。

parameterDefaultValueX是一种动态属性,仅在parameterCount值大于 0 时才受支持。返回值的数据类型取决于属性参数的数据类型。

Variant
parameterNameX
(只读)

参数的名称。

parameterNameX是一种动态属性,仅在parameterCount值大于 0 时才受支持。

String
parameterTypeX
(只读)

参数的数据类型。

parameterTypeX是一种动态属性,仅在parameterCount值大于 0 时才受支持。此属性返回以下关键字:

  • 字符串
  • 短整型
  • 整型
  • 浮点型
  • 双精度型
  • 日期
  • 布尔型
  • 对象
  • String[]
  • Short[]
  • Integer[]
  • Float[]
  • Double[]
  • Date[]
  • Boolean[]

String
parameterUsageTypeX
(只读)

参数的使用类型。此属性返回以下关键字:

  • 常规
  • 约束条件

parameterUsageTypeX是一种动态属性,仅在parameterCount值大于 0 时才受支持。

String
sourceNameX
(只读)

赋值器为其计算给定网络属性值的网络源名称。sourceNameX 是一种动态属性。

String
trafficSupportType
(只读)

当前为网络属性配置的流量数据类型。此属性返回以下关键字:

  • HISTORICAL
  • HISTORICAL_AND_LIVE
  • LIVE

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)