Краткая информация
Функция Describe возвращает описанные ниже свойства для слоев Network Analyst.
Для слоя Network Analyst свойство dataType функции Describe возвращает значение "NALayer".
Слой Network Analyst содержит информацию о входных данных и параметрах, используемых в анализе сетевых проблем с помощью дополнительного модуля Network Analyst.
Свойства
Свойство | Описание | Тип данных |
network (только чтение) | Объект Network Dataset. Этот объект можно использовать для получения всех свойств, таких как 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 Locator. Этот объект может использоваться для получения имени, типа замыкания и информации о поисковом запросе для классов, которые применяются для поиска сетевых местоположений. | Object |
findClosest (только чтение) | Указывает, как выполняется поиск объектов-источников сети при поиске объектов сетевого анализа. Это свойство возвращает следующие ключевые слова:
| String |
searchTolerance (только чтение) | Строка значений, разделенных пробелами, обозначающих допуск поиска и единицы измерения, используемые при поиске сетевых местоположений. | String |
excludeRestrictedElements (только чтение) | Указывает, могут ли объекты сетевого анализа располагаться только на проходимых участках сети. Это свойство возвращает следующие ключевые слова:
| String |
solverProperties (только чтение) | Объект Network Analyst Solver. Этот объект можно использовать для определения свойств, относящихся к механизму расчета в слое Network Analyst. Примечание:Слои анализа доставки до двери не обладают этим свойством. | Object |
children (только чтение) | Возвращает список объектов Describe, которые ссылаются на отдельные классы сетевого анализа (такие как остановки и маршруты) как на слои. Это свойство не может использоваться в слое сетевого анализа, хранящемся на диске в виде файла слоя. | List |
parameterCount (только чтение) | Общее число параметров атрибута, определенных для всех сетевых атрибутов базового набора сетевых данных, используемого в слое Network Analyst. | Integer |
parameters (только чтение) | Объект Network Attribute Parameter. Этот объект можно использовать для определения параметров анализа сети. | Object |
SolverOverrides (только чтение) | Примечание:Это свойство только для внутреннего использования. | String |
Пример кода
Отображает свойства заданного файла слоя 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))