ODCostMatrixSolverProperties (arcpy.na)
Краткая информация
Предоставляет доступ к свойствам слоя сетевого анализа матрицы "стоимости" достижения цели (OD). Функция GetSolverProperties используется для получения объекта ODCostMatrixSolverProperties из слоя сетевого анализа матрицы "стоимости" достижения цели.
Обсуждение
Объект ODCostMatrixSolverProperties предоставляет доступ для чтения и записи ко всем свойствам слоя сетевого анализа матрицы "стоимости" достижения цели. Этот объект можно использовать для изменения нужных свойств анализа слоя матрицы "стоимости" достижения цели, а соответствующий слой можно повторно рассчитать для получения необходимых результатов. Новый слой матрицы "стоимости" достижения цели можно создать с помощью инструмента геообработки Создать слой матрицы Источник-Назначение (Make OD Cost Matrix Layer). Получение объекта ODCostMatrixSolverProperties из нового слоя матрицы стоимости OD позволяет повторно использовать существующий слой для последующего анализа, а не создавать новый слой для каждого анализа, что может замедлять работу.
После изменения свойства объекта ODCostMatrixSolverProperties соответствующий слой можно использовать с другими функциями и инструментами геообработки. Обновлять слой для внесения изменения не требуется.
Свойства
Свойство | Объяснение | Тип данных |
accumulators (чтение и запись) | Дает возможность получать или задавать список сетевых атрибутов стоимости, сумма которых подсчитывается в ходе данного анализа. Пустой список ([]) означает, что не подсчитывается сумма ни для каких атрибутов стоимости. | String |
attributeParameters (чтение и запись) | Дает возможность получать или задавать параметризованные атрибуты для использования их в анализе. Это свойство возвращает словарь Python. Ключом в словаре является кортеж двух значений – имени атрибута и имени параметра. Значение каждого элемента в словаре является значением параметра. Параметризованные сетевые атрибуты используются для моделирования некоторого динамического аспекта значения атрибута. Например, туннель с ограничением высоты 12 футов может быть смоделирован с использованием параметра. В данном случае в качестве значения параметра следует указать высоту транспортного средства в футах. Если транспортное средство выше, чем 12 футов (3,7 м), ограничение будет оценено как верное (true), таким образом, проезд по туннелю будет запрещен. Подобным образом у моста может быть параметр, указывающий ограничение по весу. Попытка изменить непосредственно свойство attributeParameters не приведет к обновлению значений. Вместо этого следует всегда использовать для установки значений этого свойства новый объект словаря. Различие между этими подходами проиллюстрировано следующими двумя блоками кода.
| Dictionary |
defaultCutoff (чтение и запись) |
Дает возможность получать или задавать значение импеданса по умолчанию, при котором следует прекратить поиск пунктов назначения для данного исходного пункта. Значение None (Нет) указывает, что не следует применять никакого предельного значения. | Double |
defaultTargetDestinationCount (чтение и запись) | Дает возможность получать или задавать количество пунктов назначения, которые следует искать для каждого исходного пункта. Значение None (Нет) указывает, что следует вести поиск всех пунктов назначения. | Integer |
impedance (чтение и запись) | Дает возможность получать или задавать сетевой атрибут стоимости, используемый в качестве импеданса. При определении маршрута между исходными пунктами и пунктами назначения этот атрибут стоимости минимизируется. | String |
outputPathShape (чтение и запись) | Указывает необходимость построения прямой линии между каждой парой пунктов в выходной матрице Источник-Назначение. Список возможных значений следующий:
| String |
restrictions (чтение и запись) | Дает возможность получать или задавать список атрибутов ограничения, применяемых в ходе данного анализа. Пустой список ([]) означает, что в ходе анализа не применяются никакие атрибуты ограничения. | String |
solverName (только чтение) | Возвращает имя механизма расчета, на который ссылается слой сетевого анализа, использованный для получения данного объекта свойств механизма расчета. Это свойство всегда возвращает строковое значение OD Cost Matrix Solver (Механизм расчета матрицы Источник-Назначение), если доступ к нему осуществляется из объекта ODCostMatrixSolverProperties. | String |
timeOfDay (чтение и запись) | Дает возможность получать или задавать время и дату отправления из исходного пункта. Значение None (Нет) указывает на то, что дата и время не применяются. Вместо конкретной даты может быть задан день недели, при помощи следующих условных дат:
К примеру, если маршрут из каждого исходного пункта должен начинаться в 8:00 утра в среду, следует указать значение datetime.datetime(1900, 1, 3, 8,0,0). Параметр timeZoneUsage определяет, соответствует ли время и дата зоне UTC или часовому поясу, в котором находятся заказы. | DateTime |
timeZoneUsage (чтение и запись) | Указывает часовой пояс параметра timeOfDay.
При выполнении анализа матрицы источник-назначение для нескольких часовых поясов и использовании начального времени, все исходные данные должны быть приведены к одному часовому поясу. | String |
useHierarchy (чтение и запись) | Отвечает за использование атрибута иерархии при проведении анализа. Список возможных значений следующий:
| String |
uTurns (чтение и запись) | Дает возможность получать или задавать политику работы с разворотами в соединениях, которые могут возникать в ходе прохода по сети между остановками. Список возможных значений следующий:
| String |
Пример кода
Скрипт показывает, как обновить слой сетевого анализа матрицы источник-назначение, чтобы найти все цели, находящиеся в пределах пятиминутного значения. Предполагается, что слой матрицы источник-назначение Store Accessibility был создан в новом документе карты на основе учебного набора сетевых данных на территорию города Сан-Франциско.
#Get the OD cost matrix layer object from a layer named "Store Accessibility" in
#the table of contents
odLayer = arcpy.mapping.Layer("Store Accessibility")
#Get the solver properties object from the OD cost matrix layer
solverProps = arcpy.na.GetSolverProperties(odLayer)
#Update the properties for the OD cost matrix layer using the solver properties
#object
solverProps.defaultCutoff = 5
solverProps.defaultTargetDestinationCount = None