描述
Describe 函数可返回网络分析图层的以下属性。
网络分析图层可返回 "NALayer" 的 dataType。
网络分析图层包含了通过 ArcGIS Network Analyst 扩展模块分析网络问题时使用的输入和参数的信息。
属性
| 属性 | 说明 | 数据类型 | 
| network (只读) | 网络数据集对象。 该对象可用于获取分析图层所使用的基础网络数据集的所有属性,例如 catalogPath。 | Object | 
| nameString (只读) | 网络分析图层的名称。 | String | 
| solverName (只读) | 图层所引用的网络分析求解程序。每个图层仅能引用一个求解程序。此属性返回以下关键字: 
 | String | 
| impedance (只读) | 在分析过程中用作阻抗的网络成本属性。 | String | 
| accumulators (只读) | 累积为分析一部分的网络成本属性的,用分号分隔的列表。 | String | 
| restrictions (只读) | 适用于分析的限制属性的,用分号分隔的列表。 | String | 
| ignoreInvalidLocations (只读) | 表明求解程序考虑 Network Analyst 类中无效网络位置的方式的布尔表达式。 True 值表明无效位置已被求解程序忽略。False 表明无效位置未被求解程序忽略。 | Boolean | 
| uTurns (只读) | 指示求解程序如何处理停靠点之间的网络遍历时在交汇点处产生的 U 形转弯。此属性返回以下关键字: 
 | String | 
| useHierarchy (只读) | 表明 Network Analyst 图层是否使用等级。此属性返回以下关键字: 
 | String | 
| hierarchyAttribute (只读) | 等级属性的名称。 | String | 
| hierarchyLevelCount (只读) | 用于定义等级属性的等级范围数。最大值为 3。 | Integer | 
| maxValueForHierarchyX (只读) | 给定的等级属性具有可定义等级范围的值。每个范围的最大值可从 maxValueForHierarchyX 属性中获取,其中 X 代表等级级别。例如,第一个等级范围的最大值(用于定义主要道路)可从 maxValueForHierarchy1.属性中获取。 使用 hierarchyLevelCount 属性确定给定等级属性的 maxValueForHierarchy 属性的可能数量。例如,如果 hierarchyLevelCount 属性返回 3,则 Describe 对象将支持 MaxValueForHierarchy1 和 MaxValueForHierarchy2 属性。 | Integer | 
| locatorCount (只读) | 用于通过搜索确定网络位置的类的总数。 | Integer | 
| locators (只读) | 网络分析定位器对象。该对象可用于获取用于查找网络位置的类的名称、捕捉类型以及搜索查询信息。 | Object | 
| findClosest (只读) | 用于指示定位网络分析对象时搜索网络源要素的方式。此属性返回以下关键字: 
 | String | 
| searchTolerance (只读) | 用于指示查找网络位置时所用搜索容差和单位的,用空格分隔的字符串。 | String | 
| excludeRestrictedElements (只读) | 表明是否可将网络分析对象仅定位于网络源的可遍历部分。该属性会返回下列关键字: 
 | String | 
| solverProperties (只读) | 网络分析求解程序对象。该对象可用于确定 Network Analyst 图层中特定于求解程序的属性。 | Object | 
| children (只读) | 返回将各个网络分析类(例如停靠点和路线)引用为图层的 describe 对象的 Python 列表。 将网络分析图层作为图层文件存储于磁盘上时不能使用该属性。 | List | 
| parameterCount (只读) | 所有由 Network Analyst 图层所使用的基础网络数据集的网络属性定义的属性参数的总量。 | Integer | 
| parameters (只读) | 网络属性参数对象。可利用该对象确定用于网络分析的属性参数。 | Object | 
代码示例
显示指定 Network Analyst 图层文件的属性。
# Name: NALayerProperties_ex01.py
# Description: Lists all the properties that can be derived by describing a 
#              network analysis layer.
import arcpy
#Arguments..
#in_layer is the name of the Network Analysis layer file to be described.  
in_layer = "C:/Data/Route.lyr"  
#Get the description object using Describe. 
desc = arcpy.Describe(in_layer) 
arcpy.AddMessage(" ")
arcpy.AddMessage("== Description of network analysis layer " + in_layer + " ==")
arcpy.AddMessage(" ") 
#Print general infomation.
justify = 35 
nds = desc.network 
solvername = desc.solverName 
arcpy.AddMessage("---- General information:") 
arcpy.AddMessage(" %*s: %s" % (justify, "Network" , nds.catalogPath)) 
arcpy.AddMessage(" %*s: %s" % (justify, "SolverName" , desc.solverName)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Impedance" , desc.impedance)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Accumulators" , desc.accumulators)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Restrictions" , desc.restrictions)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Ignore invalid locations?" , 
                str(desc.ignoreInvalidLocations))) 
arcpy.AddMessage(" %*s: %s" % (justify, "UTurn policy" , desc.UTurns)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Using hierarchy?" , desc.useHierarchy))
arcpy.AddMessage(" %*s: %s" % (justify, "Exclude Restricted Elements?" ,
                               desc.excludeRestrictedElements))
arcpy.AddMessage(" ") 
#A note about the dynamic properties (indicated by X in the help system)
#In order to access the dynamic properties use Python's built in getattr()
#function. In order to find out if a dynamic property is supported by the 
#describe object, use Python's built in hasattr() function. 
# Print attribute parameter information
arcpy.AddMessage(" ---- Attribute Parameter information ----") 
count = desc.parameterCount 
if count == 0: 
    arcpy.AddMessage(" ---- No Attribute Parameters defined ----") 
else: 
    parameters = desc.parameters 
    for i in range(0, count): 
        attributeName = getattr(parameters,"attributeName" + str(i)) 
        parameterName = getattr(parameters, "parameterName" + str(i)) 
        parameterValue = getattr(parameters, "parameterValue" + str(i)) 
        arcpy.AddMessage(" %*s: %s: %s" % (justify, attributeName, 
                                           parameterName, parameterValue))   
# Print hierarchy information
if desc.useHierarchy.lower() == "use_hierarchy": 
    arcpy.AddMessage(" ---- Hierarchy information ----")
    arcpy.AddMessage(" %*s: %s" % (justify, "Hierarchy Attribute Name",
                                   desc.hierarchyAttribute)) 
    count = desc.hierarchyLevelCount
    arcpy.AddMessage(" %*s: %d" % (justify, "Hierarchy Level Count" , count)) 
    
    for i in range(0, count ): 
        levelRange = "" 
        if i == 0:      
            levelUB = getattr(desc,"maxValueForHierarchy" + str(i+1))            
            levelRange = "up to %s" % levelUB 
        elif i == (count - 1): 
            prevLevelUB = getattr(desc, "maxValueForHierarchy" + str(i)) 
            levelRange = "%s and higher" % (prevLevelUB + 1)
        else: 
            prevLevelUB =  getattr(desc, "maxValueForHierarchy" + str(i)) 
            levelUB = getattr(desc,"maxValueForHierarchy" + str(i + 1)) 
            levelRange = "%s - %s" % ((prevLevelUB + 1), levelUB)
        
        arcpy.AddMessage(" %*s %d range: %s" % (justify, "level", (i + 1), 
                                                levelRange))
    arcpy.AddMessage(" ") 
# Print locator information. 
arcpy.AddMessage("---- Locator information:") 
count = desc.locatorCount 
arcpy.AddMessage(" %*s: %d" % (justify, "Count" , count)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Find Closest?" , desc.findClosest)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Search Tolerance", 
                               desc.searchTolerance))
arcpy.AddMessage(" %*s: %s" % (justify, "Exclude Restricted Elements",
                               desc.excludeRestrictedElements))
locators = desc.locators 
for i in range(0, count): 
    sourceName = getattr(locators, "source" + str(i)) 
    sourceType = getattr(locators, "snapType" + str(i))
    searchQuery = getattr(locators, "searchQuery" + str(i))
    arcpy.AddMessage(" %*s: %s" %(justify, sourceName, sourceType))
    arcpy.AddMessage(" %*s: %s" %(justify, sourceName, searchQuery))