GetSolverProperties (arcpy.na)
Резюме
Возвращает объект свойств механизма расчета Network Analyst на основе типа слоя Network Analyst, указанного в качестве аргумента. Объект свойств механизма расчета используется для обновления свойств анализа слоя.
Обсуждение
Объект GetSolverProperties является основным для изменения свойств анализа слоя Network Analyst. Он возвращает отдельные свойства механизма расчета на основе слоя Network Analyst. Существуют шесть типов объектов свойств механизма расчета: Свойства Механизма расчета маршрута (RouteSolverProperties), Свойства Механизма расчета ближайшего пункта обслуживания (ClosestFacilitySolverProperties), Свойства Механизма расчета зон обслуживания (ServiceAreaSolverProperties), Свойства Матрицы Источник-Назначение (ODCostMatrixSolverProperties), Свойства Механизма решения задачи выбора маршрута (VehicleRoutingProblemSolverProperties) и Свойства Механизма расчета Размещение-Распределение (LocationAllocationSolverProperties). Каждый объект свойств механизма расчета обеспечивает доступ на чтение и запись свойств анализа слоя Network Analyst.
Синтаксис
Параметр | Объяснение | Тип данных |
network_analyst_layer |
Переменная, ссылающаяся на объект layer, полученный из слоя Network Analyst. Он может быть получен из существующих слоев документа карты либо путем указания пути к каталогу с файлом слоя Network Analyst в качестве аргумента класса Layer. Свойство isNetworkAnalystLayer объекта слоя может использоваться для определения, является ли данный объект слоя слоем Network Analyst. | Layer |
Тип данных | Объяснение |
Object |
Объект свойств механизма расчета соответствует типу слоя Network Analyst. |
Пример кода
Пример демонстрирует, как найти все слои 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