Краткая информация
Функция Describe возвращает следующие свойства слоев Network Analyst.
Для слоя Network Analyst свойство Describe dataType возвращает значение "NALayer".
Слой Network Analyst содержит информацию о входных данных и параметрах, используемых в анализе сетевых проблем с помощью дополнительного модуля Network Analyst.
Свойства
Свойство | Описание | Тип данных |
network (только чтение) | Объект Набор сетевых данных. Этот объект можно использовать для получения всех свойств, таких как catalogPath о базовом наборе сетевых данных, используемом слоем анализа. | Object |
nameString (только чтение) | Имя слоя Network Analyst. | String |
solverName (только чтение) | Механизм расчета Network Analyst, на который ссылается слой. Каждый слой может ссылаться только на один механизм расчета. Это свойство возвращает следующие ключевые слова:
| String |
impedance (только чтение) | Сетевой атрибут стоимости используется при анализе в качестве импеданса. | String |
accumulators (только чтение) | Список сетевых атрибутов стоимости, разделенный точками с запятой, который накапливается во время анализа. | String |
restrictions (только чтение) | Список атрибутов ограничений, разделенный точками с запятой, который применяется во время анализа. | String |
ignoreInvalidLocations (только чтение) | Булево выражение, задающее механизму расчета способ определения недопустимых сетевых местоположений в классах Network Analyst. Значение True указывает, что недопустимые местоположения будут игнорироваться. Значение False указывает, что недопустимые местоположения не будут игнорироваться. | Boolean |
uTurns (только чтение) | Указывает, как в механизме расчета обрабатываются развороты на соединениях, которые могут возникать в ходе прохода по сети между остановками. Это свойство возвращает следующие ключевые слова:
| 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 (только чтение) | Объект Локатора Network Analyst. Этот объект может использоваться для получения имени, типа замыкания и информации о поисковом запросе для классов, которые применяются для поиска сетевых местоположений. | Object |
findClosest (только чтение) | Показывает, как выполняется поиск объектов-источников сети при поиске объектов сетевого анализа. Это свойство возвращает следующие ключевые слова:
| String |
searchTolerance (только чтение) | Строка значений, разделенных пробелами, обозначающих допуск поиска и единицы измерения, используемые при поиске сетевых местоположений. | String |
excludeRestrictedElements (только чтение) | Показывает, могут ли объекты сетевого анализа располагаться только на проходимых участках сети. Это свойство возвращает следующие ключевые слова:
| String |
solverProperties (только чтение) | Объект Механизм расчета Network Analyst. Этот объект можно использовать для определения свойств, относящихся к механизму расчета в слое Network Analyst. | Object |
children (только чтение) | Возвращает список объектов Describe, которые ссылаются на отдельные классы сетевого анализа (такие как остановки и маршруты) как на слои. Это свойство не может использоваться в слое сетевого анализа, хранящемся на диске в виде файла слоя. | 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))