Network Analyst layer properties
Summary
The Describe function returns the properties described below for Network Analyst layers.
For a Network Analyst layer, the dataType property of the Describe function returns a value of "NALayer".
A Network Analyst layer contains information about the inputs and parameters used in the analysis of a network problem using the Network Analyst extension.
Properties
| Property | Explanation | Data Type |
|---|---|---|
|
network (Read only) |
The This object can be used to get all the properties, such as |
Object |
|
nameString (Read only) |
The name of the Network Analyst layer. |
String |
|
solverName (Read only) |
The Network Analyst solver referenced by the layer. Each layer can reference only one solver. This property returns the following keywords:
|
String |
|
impedance (Read only) |
The network cost attribute used as the impedance during the analysis. |
String |
|
accumulators (Read only) |
A semicolon-separated list of network cost attributes that are accumulated as part of the analysis. |
String |
|
restrictions (Read only) |
A semicolon-separated list of restriction attributes that are applied for the analysis. |
String |
|
ignoreInvalidLocations (Read only) |
Specifies whether invalid network locations in the Network Analyst classes are ignored by the solver. A value of True indicates that the invalid locations are ignored by the solver. A value of False indicates that the invalid locations are not ignored by the solver. |
Boolean |
|
uTurns (Read only) |
Specifies how the U-turns at junctions, which could occur during network traversal between stops, are handled by the solver. This property returns the following keywords:
|
String |
|
useHierarchy (Read only) |
Specifies whether the Network Analyst layer is using hierarchy. This property returns the following keywords:
|
String |
|
hierarchyAttribute (Read only) |
The name of the hierarchy attribute. |
String |
|
hierarchyLevelCount (Read only) |
The number of hierarchy ranges used to define the hierarchy attribute. The maximum value is 3. |
Integer |
|
maxValueForHierarchyX (Read only) |
A given hierarchy attribute can have values that define the hierarchy ranges. The maximum values for each range can be obtained from the Use the |
Integer |
|
locatorCount (Read only) |
The total number of classes that are searched to determine a network location. |
Integer |
|
locators (Read only) |
The |
Object |
|
findClosest (Read only) |
Specifies how the network source features are searched when locating network analysis objects. This property returns the following keywords:
|
String |
|
searchTolerance (Read only) |
A space-separated string indicating the search tolerance and the units used when finding the network locations. |
String |
|
excludeRestrictedElements (Read only) |
Specifies whether the network analysis objects can be located only on traversable portions of network sources This property returns the following keywords:
|
String |
|
solverProperties (Read only) |
The Note:Last mile delivery and waste collection analysis layers do not have this property. |
Object |
|
children (Read only) |
Returns a list of This property cannot be used with a network analysis layer stored on disk as a layer file. |
List |
|
parameterCount (Read only) |
The total number of attribute parameters defined for all the network attributes of the underlying network dataset used by the Network Analyst layer. |
Integer |
|
parameters (Read only) |
The |
Object |
|
SolverOverrides (Read only) |
Note:This property is for internal use only. |
String |
Code sample
Network Analyst layer properties example
Display properties of a specified Network Analyst layer file.
# 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))