Свойства слоя Network Analyst

Краткая информация

Функция Describe возвращает описанные ниже свойства для слоев Network Analyst.

Для слоя Network Analyst свойство dataType функции Describe возвращает значение "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
(только чтение)

Указывает, как в механизме расчета обрабатываются развороты на соединениях, которые могут возникать в ходе прохода по сети между остановками. Это свойство возвращает следующие ключевые слова:

  • ALLOW_UTURNS
  • NO_UTURNS
  • ALLOW_DEAD_ENDS_ONLY
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY

String
useHierarchy
(только чтение)

Показывает, используется ли в слое Network Analyst иерархия. Это свойство возвращает следующие ключевые слова:

  • USE_HIERARCHY
  • NO_HIERARCHY

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
(только чтение)

Показывает, как выполняется поиск объектов-источников сети при поиске объектов сетевого анализа. Это свойство возвращает следующие ключевые слова:

  • MATCH_TO_CLOSEST
  • PRIORITY

String
searchTolerance
(только чтение)

Строка значений, разделенных пробелами, обозначающих допуск поиска и единицы измерения, используемые при поиске сетевых местоположений.

String
excludeRestrictedElements
(только чтение)

Показывает, могут ли объекты сетевого анализа располагаться только на проходимых участках сети. Это свойство возвращает следующие ключевые слова:

  • INCLUDE
  • EXCLUDE

String
solverProperties
(только чтение)

Объект Network Analyst Solver. Этот объект можно использовать для определения свойств, относящихся к механизму расчета в слое Network Analyst.

Примечание:
Слои анализа доставки до двери не обладают этим свойством.

Object
children
(только чтение)

Возвращает список объектов Describe, которые ссылаются на отдельные классы сетевого анализа (такие как остановки и маршруты) как на слои.

Это свойство не может использоваться в слое сетевого анализа, хранящемся на диске в виде файла слоя.

List
parameterCount
(только чтение)

Общее число параметров атрибута, определенных для всех сетевых атрибутов базового набора сетевых данных, используемого в слое Network Analyst.

Integer
parameters
(только чтение)

Объект Network Attribute Parameter. Этот объект можно использовать для определения параметров анализа сети.

Object

Пример кода

Пример свойств слоя 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))