Network Attributes

摘要

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

说明

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

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

属性

属性说明数据类型
dataType
(只读)

网络属性数据类型。

  • Boolean - 数据类型为布尔型。
  • Integer - 数据类型为整型。
  • Float - 数据类型为浮点型。
  • Double - 数据类型为双精度型。

String
dataX
(只读)

使用赋值器分配到网络源的网络属性值。 如果是脚本赋值器,则返回整个表达式。 返回值的数据类型取决于与网络属性相关联的数据类型和赋值器类型。 dataX 是一种动态属性。 基于 SDC 的网络数据集不支持该属性。

Variant
defaultEdgeData
(只读)

默认情况下,网络属性的值与网络数据集中的所有边缘网络源相关联。 如果是脚本赋值器,则返回整个表达式。 返回值的数据类型取决于与网络属性相关联的数据类型和默认边缘赋值器类型。

Variant
defaultEdgeEvaluatorType
(只读)

网络数据集使用的默认边缘赋值器类型。

  • Constant - 赋值器类型为常量。
  • Script - 赋值器类型为脚本。
  • Function - 赋值器类型为函数。

String
defaultJunctionData
(只读)

默认情况下,网络属性的值与网络数据集中的所有交汇点网络源相关联。 如果是脚本赋值器,则返回整个表达式。 返回值的数据类型取决于与网络属性相关联的数据类型和默认交汇点赋值器类型。

Variant
defaultJunctionEvaluatorType
(只读)

网络数据集使用的默认交汇点赋值器类型。

  • Constant - 赋值器类型为常量。
  • Script - 赋值器类型为脚本。
  • Function - 赋值器类型为函数。

String
defaultTurnData
(只读)

默认情况下,网络属性值与网络数据集中的所有转弯网络源相关联。 如果是脚本赋值器,则返回整个表达式。 只有当网络数据集支持可使用 supportsTurns 属性确定的转弯时,该属性才可用。 返回值的数据类型取决于与网络属性相关联的数据类型和默认转弯赋值器类型。

Variant
defaultTurnEvaluatorType
(只读)

网络数据集默认转弯赋值器的类型。 只有当网络数据集支持可使用 supportsTurns 属性确定的转弯时,该属性才可用。

  • Constant - 赋值器类型为常量。
  • Script - 赋值器类型为脚本。
  • Global Turn Delay - 赋值器类型为通用转弯延迟。
  • Function - 赋值器类型为函数。

String
directions
(只读)

网络方向 Describe 对象,可提供有关网络方向配置的相关信息。 如果网络数据集不支持方向,则此属性将引发异常。

Object
edgeDirectionX
(只读)

边缘网络源的方向,赋值器在此方向上分配网络属性值。 没有与交汇点和转弯网络源相关联的方向。 edgeDirectionX 是一种动态属性。

  • AlongDigitizedDirection - 方向沿数字化方向。
  • AgainstDigitizedDirection - 方向与数字化方向相反。
  • None - 未指定方向。
String
evaluatorCount
(只读)

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

Integer
evaluatorTypeX
(只读)

赋值器的类型。 evaluatorTypeX 是一种动态属性。

  • Field - 赋值器类型为字段。
  • Constant - 赋值器类型为常量。
  • Script - 赋值器类型为脚本。
  • Function - 赋值器类型为函数。
  • NetworkEdgeTraffic - 赋值器类型为历史和实时流量数据。
  • Public Transit - 赋值器类型为公共交通数据。
  • Not Supported - 赋值器类型不受支持。
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 - 数据类型为布尔型。
  • Object - 数据类型为对象。
  • String[] - 数据类型为字符串列表。
  • Short[] - 数据类型为短整型列表。
  • Integer[] - 数据类型为长整型列表。
  • Float[] - 数据类型为浮点型列表。
  • Double[] - 数据类型为双精度型列表。
  • Date[] - 数据类型为日期列表。
  • Boolean[] - 数据类型为布尔型列表。

String
parameterUsageTypeX
(只读)

参数的使用类型。

  • General - 使用类型为通用参数。
  • Restriction - 使用类型为“约束条件用法”参数。

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

String
sourceNameX
(只读)

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

String
trafficSupportType
(只读)

当前为网络属性配置的流量数据类型。

  • HISTORICAL - 流量数据类型为历史流量。
  • HISTORICAL_AND_LIVE - 流量数据类型为历史流量和实时流量。
  • LIVE - 流量数据类型为实时流量。
  • NONE - 流量数据类型为无流量。

String
units
(只读)

网络属性单位。 成本属性的单位是距离或时间单位(例如厘米、米、英里、分钟或秒)。 描述符、等级和约束条件的单位是未知的。

String
usageType
(只读)

网络属性使用类型。

  • Cost - 网络属性使用类型为成本属性。
  • Restriction - 网络属性使用类型为约束属性。
  • Descriptor - 网络属性使用类型为描述符属性。
  • Hierarchy - 网络属性使用类型为等级属性。

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)