GetSolverProperties (arcpy.na)

Резюме

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

Обсуждение

Объект GetSolverProperties является основным для изменения свойств анализа слоя Network Analyst. Он возвращает отдельные свойства механизма расчета на основе слоя Network Analyst. Существуют шесть типов объектов свойств механизма расчета: Свойства Механизма расчета маршрута (RouteSolverProperties), Свойства Механизма расчета ближайшего пункта обслуживания (ClosestFacilitySolverProperties), Свойства Механизма расчета зон обслуживания (ServiceAreaSolverProperties), Свойства Матрицы Источник-Назначение (ODCostMatrixSolverProperties), Свойства Механизма решения задачи выбора маршрута (VehicleRoutingProblemSolverProperties) и Свойства Механизма расчета Размещение-Распределение (LocationAllocationSolverProperties). Каждый объект свойств механизма расчета обеспечивает доступ на чтение и запись свойств анализа слоя Network Analyst.

Синтаксис

GetSolverProperties (network_analyst_layer)
ПараметрОбъяснениеТип данных
network_analyst_layer

Переменная, ссылающаяся на объект layer, полученный из слоя Network Analyst. Он может быть получен из существующих слоев документа карты либо путем указания пути к каталогу с файлом слоя Network Analyst в качестве аргумента класса Layer. Свойство isNetworkAnalystLayer объекта слоя может использоваться для определения, является ли данный объект слоя слоем Network Analyst.

Layer
Возвращено значение
Тип данныхОбъяснение
Object

Объект свойств механизма расчета соответствует типу слоя Network Analyst.

Пример кода

Пример GetSolverProperties

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

import arcpy

#Get a list of all the layers in the current map document
mxd = arcpy.mapping.MapDocument("CURRENT")
lyrs = arcpy.mapping.ListLayers(mxd)
#Filter the list to obtain only the network analyst layers
na_layers = [lyr for lyr in lyrs if lyr.isNetworkAnalystLayer]
#update the useHierarchy property
for na_layer in na_layers:
    na_solver_props = arcpy.na.GetSolverProperties(na_layer)
    na_solver_props.useHierarchy = True
9/11/2013