Свойства слоя сетевых данных ArcGIS Network Analyst

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

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

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

  • 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. Этот объект может использоваться для получения имени, типа замыкания и информации о поисковом запросе для классов, которые применяются для поиска сетевых местоположений.

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

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

  • MATCH_TO_CLOSEST
  • PRIORITY

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

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

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

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

  • INCLUDE
  • EXCLUDE

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

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

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

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

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

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

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

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

Объект Параметр сетевого атрибута. Этот объект можно использовать для определения параметров, применяемых для анализа сети.

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))