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