Создать слой анализа Размещения-Распределения (Network Analyst)

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

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

Использование

  • После создания слоя анализа при помощи данного инструмента, вы можете добавлять в него объекты сетевого анализа при помощи инструмента Добавить положения, выполнять анализ при помощи инструмента Расчет и сохранять результаты на диске при помощи инструмента Сохранить в файл слоя.

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

  • В ArcGIS Pro данные слоев сетевого анализа хранятся на диске в классах пространственных объектов файловой базы геоданных. При создании слоя сетевого анализа в проекте данные слоя будут созданы в новом наборе классов объектов в среде Текущей рабочей области. При создании слоя сетевого анализа в скрипте Python вам необходимо сначала явно задать среду рабочей области для файловой базы геоданных, в которой вы собираетесь хранить данные слоя, используя arcpy.env.workspace = "<path to file gdb>". После создания слоя в файловую базу геоданных будет добавлен новый набор классов объектов, содержащий соответствующие подслои для классов пространственных объектов.

Параметры

ПодписьОписаниеТип данных
Источник сетевых данных

Набор сетевых данных или сервис, для которого выполняется сетевой анализ. Для сервиса используйте URL-адрес портала.

Network Dataset Layer;String
Имя слоя
(Дополнительный)

Имя создаваемого слоя сетевого анализа.

String
Режим передвижения
(Дополнительный)

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

Объект arcpy.na.TravelMode и строка, содержащая действительное представление JSON режима перемещения, также могут использоваться как ввод для параметра.

String
Направление движения
(Дополнительный)

Задает направление движения между пунктами обслуживания и точками спроса при расчете сетевой стоимости.

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

  • От пунктов обслуживанияНаправление движения от пункта обслуживания к точкам спроса. Это значение по умолчанию Пожарные части, как правило, используют этот параметр, поскольку их интересует, как быстро они смогут доехать от пожарной части к месту вызова.
  • К пунктам обслуживанияНаправление движения от точек спроса к пунктам обслуживания. Обычно этот параметр используют магазины розничной торговли, поскольку их интересует, насколько быстро покупатели смогут доехать до магазина.
String
Тип задачи
(Дополнительный)

Тип решаемой задачи. Выбор типа задачи зависит от вида размещаемого пункта обслуживания. Различные типы пунктов обслуживания имеют различные приоритеты и ограничения.

  • Минимизировать импедансЭтот параметр решает задачу размещения склада. Он выбирает набор пунктов обслуживания таким образом, чтобы сумма взвешенного импеданса (спрос в точке расположения, умноженный на импеданс пути до ближайшего пункта обслуживания) была минимальной. Эта задача часто называется задачей P-медианы. Этот тип задачи используется по умолчанию.
  • Обеспечение максимального покрытияЭтот параметр решает задачу размещения пожарной части. Он выбирает пункты обслуживания таким образом, чтобы все или большинство точек спроса находились в пределах заданного порога импеданса.
  • Максимизировать покрытие емкостьюЭтот параметр решает задачу размещения для пунктов обслуживания с конечной емкостью. Он выбирает пункты обслуживания таким образом, чтобы все или большинство точек спроса могли обслуживаться без превышения емкости любого из пунктов обслуживания. Помимо учета емкости, он выбирает пункты обслуживания таким образом, чтобы итоговая сумма взвешенных импедансов (спрос, который был назначен пункту обслуживания, умноженный на импеданс до или от пункта обслуживания) была минимальной.
  • Минимизировать пункты обслуживанияЭтот параметр решает задачу размещения пожарной части. Он выбирает минимальное количество пунктов обслуживания, необходимое для покрытия всех или большинства точек спроса в пределах заданного импеданса.
  • Максимизировать посещаемостьЭтот параметр позволяет решать задачу размещения магазинов, где доля спроса, размещенная на ближайшем пункте обслуживания, сокращается с удалением от пункта обслуживания. Выбирается набор пунктов обслуживания, удовлетворяющий максимальный распределенный спрос. Спрос за пределами заданного порога импеданса не влияет на выбранный набор пунктов обслуживания.
  • Максимизировать долю на рынкеЭтот параметр решает задачу размещения конкурирующих пунктов обслуживания. При решении задачи пункты обслуживания выбираются таким образом, чтобы обеспечивалась наибольшая доля рынка в зоне присутствия конкурентов. Для определения доли спроса для каждого пункта обслуживания используется модель притягательности. Выбирается набор пунктов обслуживания, удовлетворяющих максимальный распределенный спрос.
  • Достижение доли на целевом рынкеЭтот параметр решает задачу размещения конкурирующих пунктов обслуживания. При решении задачи пункты обслуживания выбираются таким образом, чтобы обеспечить заданную целевую долю рынка в зоне присутствия конкурентов. Для определения доли спроса для каждого пункта обслуживания используется модель притягательности. При решении задачи выбирается минимальное количество пунктов обслуживания, обеспечивающих заданную целевую долю рынка.
String
Предельные значения
(Дополнительный)

Максимальный импеданс, при котором точка запроса может быть присвоена пункту обслуживания в единицах атрибута импеданса, использующихся выбранным вами Режимом передвижения. Максимальный импеданс измеряется на основе пути с самым низким импедансом, также называемым самым дешевым путем. Если точка спроса выходит за пределы зоны максимального импеданса, объект не рассматривается. Это свойство можно использовать для моделирования максимального расстояния, которые люди готовы преодолеть с целью посещения ваших магазинов или расстояния, на котором пожарная часть может обслуживать вызовы.

Предельное значение может быть изменено на основе каждой точки спроса путем задания отдельных предельных значений в подслое точек спроса в свойстве Cutoff_[Impedance]. Например, может оказаться, что люди в сельской местности готовы преодолевать расстояние в 10 миль, чтобы попасть к пункту обслуживания, а городские жители согласны преодолевать не более 2 миль. Такое поведение можно моделировать, задав Предельное значение для слоя анализа, равное 10 и значение Cutoff_Miles каждой точки спроса внутри городских территорий, равное 2.

По умолчанию для анализа предельное значение не используется.

Double
Число пунктов обслуживания для поиска
(Дополнительный)

Параметр задает количество пунктов обслуживания, которое должен разместить механизм расчета. По умолчанию значением параметра является 1.

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

Все пункты обслуживания со значением FacilityType в поле Выбрано, заданным до решения, во время решения рассматриваются как кандидаты.

В задаче минимизации пунктов обслуживания этот параметр не учитывается, так как механизм расчета сам определяет количество пунктов обслуживания для максимального покрытия.

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

Long
Тип функции затухания
(Дополнительный)

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

У точек спроса есть свойство ImpedanceTransformation, которое, если оно задано, перезаписывает свойство Значение параметра функции затухания слоя анализа на основе точек спроса. Вы можете увидеть, что функция затухания будет различной для городских и сельских жителей. Такое поведение можно моделировать, устанавливая преобразование импеданса для слоя анализа, соответствующее преобразованию для сельских жителей, а преобразование импеданса для точек спроса в городах – соответствующее преобразованию для городских жителей.

  • ЛинейныйПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса – то же самое, что и импеданс кратчайшего сетевого пути между ними. При этом параметре значение импеданса всегда равно 1. Это значение по умолчанию
  • СтепеньПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса равен импедансу кратчайшего сетевого пути, возведенному в степень, указанную параметром импеданса. Используйте эту опцию с положительными значениями параметра импеданса для присвоения большего веса для ближайших пунктов обслуживания.
  • ЭкспоненциальныйПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса равен математической константе e, возведенной в степень, указанную импедансом кратчайшего сетевого пути, умноженному на параметр импеданса. Используйте эту опцию с положительными значениями параметра импеданса для присвоения очень большого веса для ближайших пунктов обслуживания.Экспоненциальные преобразования обычно используются вместе с предельными значениями импеданса.
String
Значение параметра функции затухания
(Дополнительный)

Значение параметра для уравнения преобразования импеданса, указанное в опции Тип функции затухания. Если используется Линейная функции затухания, то значение параметра игнорируется. Для Степенной и Экспоненциальной функций затухания значение не должно быть равно нулю.

У точек спроса есть свойство ImpedanceTransformation, которое, если оно задано, перезаписывает свойство Значение параметра функции затухания слоя анализа на основе точек спроса. Вы можете увидеть, что функция затухания будет различной для городских и сельских жителей. Такое поведение можно моделировать, устанавливая преобразование импеданса для слоя анализа, соответствующее преобразованию для сельских жителей, а преобразование импеданса для точек спроса в городах – соответствующее преобразованию для городских жителей.

Double
Достижение доли на целевом рынке
(Дополнительный)

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

Double
Емкость
(Дополнительный)

Определяет емкость пунктов обслуживания по умолчанию, если для параметра Тип задачи установлено значение Максимизировать покрытие емкостью. Для всех остальных типов задач этот параметр игнорируется.

У пунктов обслуживания есть свойство Емкость, которое, если не является нулевым для данного пункта обслуживания, используется вместо параметра Емкость этого пункта обслуживания.

Double
Время суток
(Дополнительный)

Время и дата отправления. Время отправления может отсчитываться от пункта обслуживания или от точки спроса – в зависимости от заданного Направления движения (от точки спроса к пункту обслуживания или наоборот).

Если выбран атрибут импеданса на основе трафика, то решение будет создано с учетом заданных динамических условий трафика в указанное время суток. Дату и время можно указать в виде 5/14/2012 10:30 AM.

Вместо конкретной даты может быть задан день недели, при помощи следующих условных дат:

  • Сегодня – 12/30/1899
  • Воскресенье – 12/31/1899
  • Понедельник – 1/1/1900
  • Вторник – 1/2/1900
  • Среда – 1/3/1900
  • Четверг – 1/4/1900
  • Пятница – 1/5/1900
  • Суббота – 1/6/1900

Date
Часовой пояс
(Дополнительный)

Часовой пояс параметра Время суток.

  • Локальное время в местоположенияхЗначение параметра Время суток относится к часовому поясу, в котором находятся пункты обслуживания или точки спроса. Если Направление движения установлено как от пунктов обслуживания к точкам спроса, то это будет часовой пояс пунктов обслуживания. Если Направление движения установлено как от точек спроса к пунктам обслуживания, то это будет часовой пояс точек спроса. Это значение по умолчанию
  • UTCЗначения параметра Время суток указываются во Всемирном координированном времени (UTC). Используйте эту опцию, если хотите выбрать наилучшее местоположение для конкретного времени, например текущего, но не знаете, в каком часовом поясе будут находиться пункты обслуживания или точки спроса.
String
Линейная геометрия
(Дополнительный)

Задает форму выходной линии.

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

  • Без линийВ ходе анализа доля в качестве выходных данных не создается никакая форма. Это поможет вам в случае, если вы решаете большую задачу, и при этом вам требуется только таблица решения и не нужна визуализация результатов на карте.
  • Прямые линииВ качестве выходных данных будут использованы прямые линии, соединяющие пункты обслуживания решения с размещенными для них точками спроса. Это значение по умолчанию
String
Атрибуты накопления
(Дополнительный)

Список атрибутов стоимости, который будет суммироваться во время анализа. Эти накопленные атрибуты могут использоваться только для сведения; алгоритм решения при выполнении анализа использует только атрибут стоимости в соответствии с используемым режимом передвижения.

Для каждого из накопленных атрибутов стоимости в выходных объектах сетевого анализа добавляется параметрTotal_ [Impedance].

Этот параметр недоступен, если источником сетевых данных является сервис ArcGIS Online или сервис в версии Portal for ArcGIS, не поддерживающей накопление.

String
Игнорировать неверные местоположения в течение времени расчета
(Дополнительный)

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

  • Отмечено - неверные входные местоположения будут игнорироваться, используются только допустимые местоположения. Это значение по умолчанию
  • Не отмечено - все входные местоположения будут использоваться. Неверные входные местоположения приводят к сбою анализа.
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Слой Network Analyst

Только что созданный слой сетевого анализа.

Network Analyst Layer

arcpy.na.MakeLocationAllocationAnalysisLayer(network_data_source, {layer_name}, {travel_mode}, {travel_direction}, {problem_type}, {cutoff}, {number_of_facilities_to_find}, {decay_function_type}, {decay_function_parameter_value}, {target_market_share}, {capacity}, {time_of_day}, {time_zone}, {line_shape}, {accumulate_attributes}, {ignore_invalid_locations})
ИмяОписаниеТип данных
network_data_source

Набор сетевых данных или сервис, для которого выполняется сетевой анализ. Для сервиса используйте URL-адрес портала.

Network Dataset Layer;String
layer_name
(Дополнительный)

Имя создаваемого слоя сетевого анализа.

String
travel_mode
(Дополнительный)

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

Объект arcpy.na.TravelMode и строка, содержащая действительное представление JSON режима перемещения, также могут использоваться как ввод для параметра.

String
travel_direction
(Дополнительный)

Задает направление движения между пунктами обслуживания и точками спроса при расчете сетевой стоимости.

  • FROM_FACILITIESНаправление движения от пункта обслуживания к точкам спроса. Это значение по умолчанию Пожарные части, как правило, используют этот параметр, поскольку их интересует, как быстро они смогут доехать от пожарной части к месту вызова.
  • TO_FACILITIESНаправление движения от точек спроса к пунктам обслуживания. Обычно этот параметр используют магазины розничной торговли, поскольку их интересует, насколько быстро покупатели смогут доехать до магазина.

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

String
problem_type
(Дополнительный)

Тип решаемой задачи. Выбор типа задачи зависит от вида размещаемого пункта обслуживания. Различные типы пунктов обслуживания имеют различные приоритеты и ограничения.

  • MINIMIZE_IMPEDANCEЭтот параметр решает задачу размещения склада. Он выбирает набор пунктов обслуживания таким образом, чтобы сумма взвешенного импеданса (спрос в точке расположения, умноженный на импеданс пути до ближайшего пункта обслуживания) была минимальной. Эта задача часто называется задачей P-медианы. Этот тип задачи используется по умолчанию.
  • MAXIMIZE_COVERAGEЭтот параметр решает задачу размещения пожарной части. Он выбирает пункты обслуживания таким образом, чтобы все или большинство точек спроса находились в пределах заданного порога импеданса.
  • MAXIMIZE_CAPACITATED_COVERAGEЭтот параметр решает задачу размещения для пунктов обслуживания с конечной емкостью. Он выбирает пункты обслуживания таким образом, чтобы все или большинство точек спроса могли обслуживаться без превышения емкости любого из пунктов обслуживания. Помимо учета емкости, он выбирает пункты обслуживания таким образом, чтобы итоговая сумма взвешенных импедансов (спрос, который был назначен пункту обслуживания, умноженный на импеданс до или от пункта обслуживания) была минимальной.
  • MINIMIZE_FACILITIESЭтот параметр решает задачу размещения пожарной части. Он выбирает минимальное количество пунктов обслуживания, необходимое для покрытия всех или большинства точек спроса в пределах заданного импеданса.
  • MAXIMIZE_ATTENDANCEЭтот параметр позволяет решать задачу размещения магазинов, где доля спроса, размещенная на ближайшем пункте обслуживания, сокращается с удалением от пункта обслуживания. Выбирается набор пунктов обслуживания, удовлетворяющий максимальный распределенный спрос. Спрос за пределами заданного порога импеданса не влияет на выбранный набор пунктов обслуживания.
  • MAXIMIZE_MARKET_SHAREЭтот параметр решает задачу размещения конкурирующих пунктов обслуживания. При решении задачи пункты обслуживания выбираются таким образом, чтобы обеспечивалась наибольшая доля рынка в зоне присутствия конкурентов. Для определения доли спроса для каждого пункта обслуживания используется модель притягательности. Выбирается набор пунктов обслуживания, удовлетворяющих максимальный распределенный спрос.
  • TARGET_MARKET_SHAREЭтот параметр решает задачу размещения конкурирующих пунктов обслуживания. При решении задачи пункты обслуживания выбираются таким образом, чтобы обеспечить заданную целевую долю рынка в зоне присутствия конкурентов. Для определения доли спроса для каждого пункта обслуживания используется модель притягательности. При решении задачи выбирается минимальное количество пунктов обслуживания, обеспечивающих заданную целевую долю рынка.
String
cutoff
(Дополнительный)

Максимальный импеданс, при котором точка запроса может быть присвоена пункту обслуживания в единицах атрибута импеданса, использующихся выбранным вами Режимом передвижения. Максимальный импеданс измеряется на основе пути с самым низким импедансом, также называемым самым дешевым путем. Если точка спроса выходит за пределы зоны максимального импеданса, объект не рассматривается. Это свойство можно использовать для моделирования максимального расстояния, которые люди готовы преодолеть с целью посещения ваших магазинов или расстояния, на котором пожарная часть может обслуживать вызовы.

Предельное значение может быть изменено на основе каждой точки спроса путем задания отдельных предельных значений в подслое точек спроса в свойстве Cutoff_[Impedance]. Например, может оказаться, что люди в сельской местности готовы преодолевать расстояние в 10 миль, чтобы попасть к пункту обслуживания, а городские жители согласны преодолевать не более 2 миль. Такое поведение можно моделировать, задав Предельное значение для слоя анализа, равное 10 и значение Cutoff_Miles каждой точки спроса внутри городских территорий, равное 2.

По умолчанию для анализа предельное значение не используется.

Double
number_of_facilities_to_find
(Дополнительный)

Параметр задает количество пунктов обслуживания, которое должен разместить механизм расчета. По умолчанию значением параметра является 1.

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

Все пункты обслуживания со значением FacilityType в поле Выбрано, заданным до решения, во время решения рассматриваются как кандидаты.

В задаче MINIMIZE_FACILITIES этот параметр не учитывается, так как механизм расчета сам определяет количество пунктов обслуживания для обеспечения максимального покрытия.

В задаче TARGET_MARKET_SHARE этот параметр перезаписывается, так как механизм расчета сам определяет минимальное количество пунктов обслуживания, необходимое для достижения заданной доли рынка.

Long
decay_function_type
(Дополнительный)

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

  • LINEARПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса – то же самое, что и импеданс кратчайшего сетевого пути между ними. При этом параметре значение импеданса всегда равно 1. Это значение по умолчанию
  • POWERПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса равен импедансу кратчайшего сетевого пути, возведенному в степень, указанную параметром импеданса. Используйте эту опцию с положительными значениями параметра импеданса для присвоения большего веса для ближайших пунктов обслуживания.
  • EXPONENTIALПреобразованный сетевой импеданс между пунктом обслуживания и точкой спроса равен математической константе e, возведенной в степень, указанную импедансом кратчайшего сетевого пути, умноженному на параметр импеданса. Используйте эту опцию с положительными значениями параметра импеданса для присвоения очень большого веса для ближайших пунктов обслуживания.Экспоненциальные преобразования обычно используются вместе с предельными значениями импеданса.

У точек спроса есть свойство ImpedanceTransformation, которое, если оно задано, перезаписывает свойство Значение параметра функции затухания слоя анализа на основе точек спроса. Вы можете увидеть, что функция затухания будет различной для городских и сельских жителей. Такое поведение можно моделировать, устанавливая преобразование импеданса для слоя анализа, соответствующее преобразованию для сельских жителей, а преобразование импеданса для точек спроса в городах – соответствующее преобразованию для городских жителей.

String
decay_function_parameter_value
(Дополнительный)

Значение параметра для уравнения преобразования, указанное в опции decay_function_type. Если используется LINEAR функция затухания, то значение параметра игнорируется. Для POWER и EXPONENTIAL функций затухания значение не должно быть равно нулю.

У точек спроса есть свойство ImpedanceTransformation, которое, если ему присвоено значение, замещает свойство decay_function_parameter_value слоя анализа на основе точек спроса. Вы можете увидеть, что функция затухания будет различной для городских и сельских жителей. Такое поведение можно моделировать, устанавливая преобразование импеданса для слоя анализа, соответствующее преобразованию для сельских жителей, а преобразование импеданса для точек спроса в городах – соответствующее преобразованию для городских жителей.

Double
target_market_share
(Дополнительный)

Задает целевую долю рынка в процентах для ее достижения при значении параметра problem_type, равном TARGET_MARKET_SHARE. Это процент от общего веса спроса, который должны удовлетворить пункты обслуживания решения. Механизм решения выбирает количество пунктов обслуживания, необходимое для обеспечения целевой доли рынка, заданной этим числовым значением.

Double
capacity
(Дополнительный)

Определяет емкость пунктов обслуживания по умолчанию, если для параметра problem_type указано значение MAXIMIZE_CAPACITATED_COVERAGE. Для всех остальных типов задач этот параметр игнорируется.

У пунктов обслуживания есть свойство Емкость, и если для конкретного пункта обслуживания это свойство имеет какое-то значение, то оно используется для этого пункта обслуживания вместо параметра capacity этого пункта обслуживания.

Double
time_of_day
(Дополнительный)

Время и дата отправления. Время отправления может отсчитываться от пункта обслуживания или от точки спроса – в зависимости от заданного Направления движения (от точки спроса к пункту обслуживания или наоборот).

Если выбран атрибут импеданса на основе трафика, то решение будет создано с учетом заданных динамических условий трафика в указанное время суток. Дату и время можно указать в виде 5/14/2012 10:30 AM.

Вместо конкретной даты может быть задан день недели, при помощи следующих условных дат:

  • Сегодня – 12/30/1899
  • Воскресенье – 12/31/1899
  • Понедельник – 1/1/1900
  • Вторник – 1/2/1900
  • Среда – 1/3/1900
  • Четверг – 1/4/1900
  • Пятница – 1/5/1900
  • Суббота – 1/6/1900

Date
time_zone
(Дополнительный)

Часовой пояс параметра Время суток.

  • LOCAL_TIME_AT_LOCATIONSЗначение параметра Время суток относится к часовому поясу, в котором находятся пункты обслуживания или точки спроса. Если Направление движения установлено как от пунктов обслуживания к точкам спроса, то это будет часовой пояс пунктов обслуживания. Если Направление движения установлено как от точек спроса к пунктам обслуживания, то это будет часовой пояс точек спроса. Это значение по умолчанию
  • UTCЗначения параметра Время суток указываются во Всемирном координированном времени (UTC). Используйте эту опцию, если хотите выбрать наилучшее местоположение для конкретного времени, например текущего, но не знаете, в каком часовом поясе будут находиться пункты обслуживания или точки спроса.
String
line_shape
(Дополнительный)

Задает форму выходной линии.

  • NO_LINESВ ходе анализа доля в качестве выходных данных не создается никакая форма. Это поможет вам в случае, если вы решаете большую задачу, и при этом вам требуется только таблица решения и не нужна визуализация результатов на карте.
  • STRAIGHT_LINESВ качестве выходных данных будут использованы прямые линии, соединяющие пункты обслуживания решения с размещенными для них точками спроса. Это значение по умолчанию

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

String
accumulate_attributes
[accumulate_attributes,...]
(Дополнительный)

Список атрибутов стоимости, который будет суммироваться во время анализа. Эти накопленные атрибуты могут использоваться только для сведения; алгоритм решения при выполнении анализа использует только атрибут стоимости в соответствии с используемым режимом передвижения.

Для каждого из накопленных атрибутов стоимости в выходных объектах сетевого анализа добавляется параметрTotal_ [Impedance].

Этот параметр недоступен, если источником сетевых данных является сервис ArcGIS Online или сервис в версии Portal for ArcGIS, не поддерживающей накопление.

String
ignore_invalid_locations
(Дополнительный)

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

  • SKIPНеверные входные местоположения будут игнорироваться, используются только допустимые местоположения. Это значение по умолчанию
  • HALTВсе входные местоположения будут использоваться. Неверные входные местоположения приводят к сбою анализа.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_network_analysis_layer

Только что созданный слой сетевого анализа.

Network Analyst Layer

Пример кода

MakeLocationAllocationAnalysisLayer, пример 1 (окно Python)

Запустите инструмент с использованием только обязательных параметров.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeLocationAllocationAnalysisLayer(network, "StoreLocations")
MakeLocationAllocationAnalysisLayer, пример 2 (окно Python)

Запустите инструмент с использованием всех параметров.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeLocationAllocationAnalysisLayer(network, "NewStores",
                                    "Driving Time", "TO_FACILITIES",
                                    "MAXIMIZE_ATTENDANCE", 3, 5, "POWER", 2, "",
                                    "", "1/1/1900 9:00 AM", "UTC",
                                    "STRAIGHT_LINES", ["TravelTime", "Meters"])
MakeLocationAllocationAnalysisLayer, пример 3 (рабочий процесс)

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

# Name: MakeLocationAllocationAnalysisLayer_Workflow.py
# Description: Choose the store locations that would generate the most business
#              for a retail chain. For this scenario, we will perform the
#              location-Allocation analysis using the maximize attendance
#              problem type.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env
import os

try:
    #Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
    
    #Set environment settings
    output_dir = "C:/Data"
    #The NA layer's data will be saved to the workspace specified here
    env.workspace = os.path.join(output_dir, "Output.gdb")
    env.overwriteOutput = True

    #Set local variables
    input_gdb = "C:/Data/SanFrancisco.gdb"
    network = os.path.join(input_gdb, "Transportation", "Streets_ND")
    layer_name = "NewStoreLocations"
    travel_mode = "Driving Time"
    facilities = os.path.join(input_gdb, "Analysis", "CandidateStores")
    required_facility = os.path.join(input_gdb, "Analysis", "ExistingStore")
    demand_points = os.path.join(input_gdb, "Analysis", "TractCentroids")
    output_layer_file = os.path.join(output_dir, layer_name + ".lyrx")

    #Create a new location-allocation layer. In this case, the demand travels to
    #the facility. We wish to find 3 potential store locations out of all the
    #candidate store locations using the maximize attendance model.
    result_object = arcpy.na.MakeLocationAllocationAnalysisLayer(network,
                                    layer_name, travel_mode, "TO_FACILITIES",
                                    "MAXIMIZE_ATTENDANCE", cutoff=20,
                                    number_of_facilities_to_find=3)

    #Get the layer object from the result object. The location-allocation layer
    #can now be referenced using the layer object.
    layer_object = result_object.getOutput(0)

    #Get the names of all the sublayers within the location-allocation layer.
    sublayer_names = arcpy.na.GetNAClassNames(layer_object)
    #Stores the layer names that we will use later
    facilities_layer_name = sublayer_names["Facilities"]
    demand_points_layer_name = sublayer_names["DemandPoints"]

    #Load the candidate store locations as facilities using default search
    #tolerance and field mappings.
    arcpy.na.AddLocations(layer_object, facilities_layer_name, facilities, "",
                                                                            "")

    #Load the existing store location as the required facility. Use the field
    #mappings to set the facility type to requried. We need to append this
    #required facility to existing facilities.
    field_mappings = arcpy.na.NAClassFieldMappings(layer_object,
                                                    facilities_layer_name)
    field_mappings["FacilityType"].defaultValue = 1
    arcpy.na.AddLocations(layer_object, facilities_layer_name,
                            required_facility, field_mappings, "",
                            append="APPEND")

    #Load the tract centroids as demand points using default search tolerance
    #Use the field mappings to map the Weight property from POP2000 field.
    demand_field_mappings = arcpy.na.NAClassFieldMappings(layer_object,
                                                    demand_points_layer_name)
    demand_field_mappings["Weight"].mappedFieldName = "POP2000"
    arcpy.na.AddLocations(layer_object, demand_points_layer_name, demand_points,
                          demand_field_mappings, "")

    #Solve the location-allocation layer
    arcpy.na.Solve(layer_object)

    #Save the solved location-allocation layer as a layer file on disk
    layer_object.saveACopy(output_layer_file)

    print("Script completed successfully")

except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print("An error occurred on line %i" % tb.tb_lineno)
    print(str(e))

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да