Краткая информация
Выбирает наилучшие местоположения из входного набора.
Входными данными для этого инструмента являются пункты обслуживания, обеспечивающие товары или сервисы, и точки спроса, потребляющие их. Целью является поиск пунктов обслуживания, которые наиболее эффективно обеспечивают точки спроса. Инструмент решает эту проблему анализом различных способов назначения точек спроса тем или иным различным пунктам обслуживания. Решением является сценарий, который распределяет большинство точек спроса по пунктам обслуживания и минимизирует общую длину маршрута. В выходных данных содержатся выбранные пункты обслуживания, точки спроса, связанные с ними, и линии, соединяющие точки и пункты обслуживания.
Инструмент размещения-распределения можно настроить для решения специфических задач. Примеры:
Розничный магазин хочет найти возможные места для новых магазинов, чтобы захватить не менее 10 процентов розничного рынка в этой области.
Департамент пожарной охраны хочет определить, где следует разместить пожарные части, чтобы приезжать на место на четыре минуты для 90 процентов вызовов.
Департамент полиции хочет заранее разместить своих сотрудников согласно данным о правонарушениях за минувшую ночь.
После урагана, агентство по чрезвычайным ситуациям хочет определить наилучшие места для установки пунктов помощи пострадавшим с ограничением по числу пациентов в соответствии с количеством пострадавших.
Более подробно о выходных данных инструмента Размещение-Распределение
Иллюстрация
Использование
В диалоговом окне инструмента есть разнообразные дополнительные параметры, сгруппированные для удобства управления ими в следующие семь категорий:
- Расширенный анализ
- Барьеры
- Пользовательский режим передвижения
- Настройки задачи Размещение-Распределение
- Набор сетевых данных
- Сетевые положения
- Выходные данные
- Возможности сервиса
Синтаксис
SolveLocationAllocation(Facilities, Demand_Points, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Allocation_Lines_Name, Output_Facilities_Name, Output_Demand_Points_Name, Output_Route_Edges_Name, {Problem_Type}, {Number_of_Facilities_to_Find}, {Default_Measurement_Cutoff}, {Default_Capacity}, {Target_Market_Share}, {Measurement_Transformation_Model}, {Measurement_Transformation_Factor}, {Travel_Direction}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {UTurn_Policy}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Time_Attribute}, {Time_Attribute_Units}, {Distance_Attribute}, {Distance_Attribute_Units}, {Use_Hierarchy_in_Analysis}, {Restrictions}, {Attribute_Parameter_Values}, {Accumulate_Attributes}, {Maximum_Snap_Tolerance}, {Feature_Locator_WHERE_Clause}, {Allocation_Line_Shape}, {Allocation_Line_Simplification_Tolerance}, {Maximum_Features_Affected_by_Point_Barriers}, {Maximum_Features_Affected_by_Line_Barriers}, {Maximum_Features_Affected_by_Polygon_Barriers}, {Maximum_Facilities}, {Maximum_Facilities_to_Find}, {Maximum_Demand_Points}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer}, {Travel_Mode}, {Overrides})
Параметр | Объяснение | Тип данных |
Facilities | Укажите один или несколько пунктов обслуживания. Инструмент выбирает наилучшие местоположения из набора пунктов обслуживания, которые вы задаёте здесь. В конкурентном анализе выполняется поиск наилучшего местоположения в условиях конкуренции, при этом указываются конкурирующие пункты обслуживания. В атрибутах пунктов обслуживания вы можете установить такие свойства, как имя пункта или тип. Для задания свойств пунктов обслуживания можно использовать следующие поля: OBJECTID – управляемое системой поле ID. SHAPE – поле геометрии, определяющее географическое местоположение пункта обслуживания. Имя – имя пункта обслуживания. Имя включено в имя выходных линий распределения, если пункт обслуживания является частью решения. FacilityType – определяет, является ли пункт обслуживания кандидатом, обязательным или конкурирующим. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Вес – относительный вес пункта обслуживания, используемый для ранжирования по привлекательности, предпочтительности или смещению одного пункта обслуживания в сравнении с другим. Например, значение 2,0 указывает на то, что предпочтения заказчика совершать покупки в этом магазине, а не в другом соотносятся как 2:1. Факторы, потенциально влияющие на вес, включают площадь, близость расположения и возраст здания. Отличные от единицы значения веса наследуются только такими типами задач, как максимизация доли рынке и доля на целевом рынке; они игнорируются в других типах задач. Емкость– поле Capacity задается только для типа задач Максимизировать покрытие емкостью; другие типы задач игнорируют данное поле. Свойство Ёмкость определяет, насколько пункт обслуживания может поддерживать взвешенный спрос. Излишние точки спроса не будут присвоены пункту обслуживания, даже если точки спроса находятся в пределах размеров пункта обслуживания по умолчанию. Любое значение, присвоенное полю Capacity, перезаписывает параметр Емкость по умолчанию (Default_Capacity в Python) для данного пункта обслуживания. CurbApproach – Указывает направление, в котором транспортное средство может подъехать или отъехать от пункта обслуживания. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Атрибут CurbApproach был добавлен для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к пункту обслуживания так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Feature Set |
Demand_Points | Укажите одну или несколько точек спроса. Инструмент выбирает наилучшие пункты обслуживания, основываясь в значительной степени на том, как они обслуживают указанные здесь точки спроса. При задании точек спроса, вы можете с использованием атрибутов установить свойства каждого из них, например такие, как имя точки спроса или вес. Для задания свойств точек спроса можно использовать следующие поля: OBJECTID – Управляемое системой поле ID. SHAPE – поле геометрии, определяющее географическое местоположение пункта обслуживания. Name – имя точки спроса. Имя включается в имя выходной линии или линий распределения, если точка спроса является частью решения. GroupName – имя группы, которой принадлежит точка спроса. Данное свойство игнорируется для моделей задач максимизирования покрытия емкостью, доли на целевом рынке и максимизирования доли на рынке. Если несколько точек спроса носят имя одной группы, механизм расчета назначает всех участников группы одному пункту обслуживания. (Если существуют ограничения, например, предельное расстояние, это предотвращает доступ точек спроса к объектам и приводит к тому, что объекту не назначаются точки спроса.) Weight – относительный вес точки спроса. Значение 2,0 означает вдвое большую важность точки, чем значение 1,0. Если точки спроса представляют домохозяйства, вес может указывать на количество людей в каждом домашнем хозяйстве. Cutoff_Time – точка спроса не может быть выделена для пункта обслуживания, если превышено указанное здесь время в пути. Значение этого поля перекрывает значение параметра Предельное значение измерения по умолчанию. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута используется в процессе выполнения анализа только тогда, когда единицами измерения являются единицы времени. Значение по умолчанию является пустым, что означает, что переопределяемый срез отсутствует. Cutoff_Distance – точка спроса не может быть выделена для пункта обслуживания, если превышено указанное здесь значение расстояния пути. Значение этого поля перекрывает значение параметра Предельное значение измерения по умолчанию. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута используется в процессе выполнения анализа только тогда, когда единицами измерения являются единицы измерения расстояния. Значение по умолчанию является пустым, что означает, что переопределяемый срез отсутствует. CurbApproach – Указывает направление, в котором транспортное средство может подъехать или отъехать от пункта обслуживания. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Атрибут CurbApproach был добавлен для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда точка спроса находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. С учётом национальных стандартов дорожного движения, вы можете выбрать, с какой из двух сторон следует подъезжать к точке спроса, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к точке спроса так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Feature Set |
Measurement_Units | Укажите единицы, которые следует использовать для измерения продолжительности или протяженности пути между точками спроса и пунктами обслуживания. Инструмент выбирает наилучшие пункты обслуживания, которые могут быть достигнуты при наибольшей сумме взвешенного спроса и при наименьшей протяжённости поездок. Линии выходного распределения сообщают расстояние пути или время в пути в разных единицах, включая единицы измерения, которые вы указываете для этого параметра. Вы можете выбрать
Инструмент использует сетевой атрибут стоимости, заданный параметром Атрибут времени или параметром Атрибут расстояния, в зависимости от того, какие единицы измерения выбраны: времени или расстояния. Инструмент выполняет необходимые преобразования единиц в том случае, если значение параметра Единицы измерения отличается от единиц соответствующего атрибута стоимости времени или расстояния. | String |
Network_Dataset | Набор сетевых данных, который будет анализироваться. Наборы сетевых данных чаще всего представляют улично-дорожные сети, но могут представлять и другие типы транспортных сетей. Набор сетевых данных должен содержать хотя бы один атрибут стоимости, основанный на времени, и один, основанный на расстоянии. | Network Dataset Layer |
Output_Geodatabase | Выходная рабочая область. Рабочая область должна существовать. Выходная рабочая область по умолчанию – in_memory. | Workspace |
Output_Allocation_Lines_Name | Имя выходного класса пространственных объектов, содержащего линии, соединяющие точки спроса с назначенными им пунктами обслуживания. Схема выходного класса пространственных объектов описывается в разделе справки Выходные данные инструмента Рассчитать Размещение-Распределение. | String |
Output_Facilities_Name | Имя выходного класса пространственных объектов, содержащего пункты обслуживания. Схема выходного класса пространственных объектов описывается в разделе справки Выходные данные инструмента Рассчитать Размещение-Распределение. | String |
Output_Demand_Points_Name | Имя выходного класса пространственных объектов, содержащего точки спроса. Схема выходного класса пространственных объектов описывается в разделе справки Выходные данные инструмента Рассчитать Размещение-Распределение. | String |
Output_Route_Edges_Name | Имя выходного класса пространственных объектов, содержащего ребра маршрута. Ребра маршрутов представляют отдельные объекты улиц, вдоль которых проходит кратчайший путь между точками спроса и пунктами обслуживания, к которым они относятся. Эти выходные данные часто используются для определения сегментов улиц с наибольшим трафиком при перемещении к пунктам обслуживания. Данную информацию можно использовать, например, для размещения рекламы или расчистки дорог для поддержки интенсивности движения при эвакуации. Чтобы заполнить выходной класс объектов RouteEdges (Ребра маршрутов) необходимо установить параметр Форма линии распределения на истинные линии. Схема выходного класса пространственных объектов описывается в разделе справки Выходные данные инструмента Рассчитать Размещение-Распределение. | String |
Problem_Type (Дополнительный) | Определяет цель анализа Размещение-Распределение. Целью по умолчанию является сведение к минимуму импеданса.
| String |
Number_of_Facilities_to_Find (Дополнительный) | Задайте число пунктов обслуживания, которое решатель должен выбрать. Значение по умолчанию равно 1. Пункты обслуживания со значением поля FacilityType равным 1 (Обязательный) всегда выбираются первыми. Любое превышение пунктов обслуживания в выборе выбирается из пунктов обслуживания – кандидатов, которые имеют значение поля FacilityType равным 2. Все пункты обслуживания, поле FacilityType которых имеет значение 3 (Выбранный) перед выполнением решения, рассматриваются как кандидаты во время решения. Если число пунктов обслуживания для поиска меньше числа требуемых пунктов обслуживания, то отмечается ошибка. Число пунктов обслуживания для поиска отключено для типов задач Минимизировать пункты обслуживания и Доля на целевом рынке, так как механизм расчета определяет минимальное количество пунктов обслуживания, требуемых для достижения целей задач. | Long |
Default_Measurement_Cutoff (Дополнительный) | Задает максимальное время в пути или расстояние, разрешенное между точкой спроса и пунктом обслуживания, к которому она распределяется. Если точка спроса располагается за пределами зон импеданса пункта обслуживания, то она не может быть распределена данному пункту обслуживания. Значение по умолчанию является пустым, что означает, что срез не применяется. Единицами измерения значений данного параметра являются те же единицы, что указываются в параметре Единицы измерения. Время в пути или предельное расстояние измеряются по кратчайшему пути по дорогам. Это свойство можно использовать для моделирования максимального расстояния, которые люди готовы преодолеть с целью посещения ваших магазинов или расстояния, на котором пожарная часть может обслуживать вызовы. Обратите внимание, что точки спроса имеют поля Cutoff_Time и Cutoff_Distance, которые, если установлены соответствующим образом, имеют приоритет над параметром Предельные значения по умолчанию . Может оказаться, что люди в сельской местности готовы преодолевать расстояние в 10 миль, чтобы попасть к объекту, а городские жители согласны преодолевать не более 2 миль. Полагая, что Единицы измерения установлены как Мили, вы можете моделировать данное поведение установкой предельного значения измерения по умолчанию равным 10 и значения поля Cutoff_Distance для точек спроса в городских территориях равным 2. | Double |
Default_Capacity (Дополнительный) | Это свойство характерно для типов задач Максимизации покрытия емкостью. Применяется емкость, назначенная всем пунктам обслуживания в анализе по умолчанию. Вы можете переопределить значение емкости по умолчанию для пункта обслуживания, указав значение для поля Capacity для пункта обслуживания. Значение по умолчанию равно 1. | Double |
Target_Market_Share (Дополнительный) | Данный параметр специфичен для типа задач Доля на целевом рынке. Это процент от общего веса спроса, который хотите выбрать и захватить требуемые пункты обслуживания. Механизм решения выбирает минимальное число пунктов обслуживания, необходимое для обеспечения целевой доли рынка здесь. Значение по умолчанию – 10 процента. | Double |
Measurement_Transformation_Model (Дополнительный) | Этот параметр задает уравнение для преобразования сетевой стоимости между пунктами обслуживания и точками спроса. Это свойство вместе со свойством Параметр импеданса задает, насколько сильно сетевой импеданс между пунктами обслуживания и точками спроса влияет на выбор пунктов обслуживания механизмом расчета. В следующем списке представлены варианты преобразования; d обозначает точку спроса, f – пункт обслуживания. Импеданс рассматривается как кратчайшее расстояние пути или времени между двумя местоположениями. Таким образом, импедансdf – это кратчайший путь (по времени или расстоянию) между точкой спроса d и пунктом обслуживания f, а стоимостьdf – это трансформированные время и расстояние пути между пунктом обслуживания и точкой спроса. Лямбда (λ) обозначает параметр импеданса. Настройки Единицы измерения определяют будет ли анализироваться время пути или расстояние.
| String |
Measurement_Transformation_Factor (Дополнительный) | Предоставляет значение параметра для уравнения, которое задается параметром Модель преобразования измерений. Если преобразование импеданса линейное, значение параметра игнорируется. Для преобразований POWER и EXPONENTIAL значение не должно быть равно нулю. Значение по умолчанию равно 1. | Double |
Travel_Direction (Дополнительный) | Укажите, следует ли измерять время в пути или расстояния (от точки спроса к пункту обслуживания или наоборот). Значение по умолчанию – измерять от пунктов обслуживания к точкам спроса.
Время и расстояние пути может меняться в зависимости от направления движения. Если движение происходит из точки A в точку B, то вы можете столкнуться с меньшим трафиком или иметь более короткий путь, из-за улиц с односторонним движением и ограничений поворотов, чем если бы вы ехали в противоположном направлении. Например, перемещение из точки А в точку Б может занять всего 10 минут, но перемещение в обратном направлении может занять 15 минут. Эти различные измерения могут повлиять на то, могут ли точки спроса быть отнесены к определенным пунктам обслуживания из-за отсекающих порогов, в типах задач, где спрос распределяется, а также повлиять на то, насколько охвачен спрос. Пожарные части, как правило, измеряют от пунктов обслуживания до точек спроса, поскольку их интересует, как быстро они смогут доехать от пожарной части к месту вызова. Для магазинов розничной торговли важнее то, насколько быстро покупатели смогут доехать до магазина; поэтому магазины, обычно, измеряют время и расстояние от точек спроса до пунктов обслуживания. Travel Directionтакже определяет значение указанного времени начала. Более подробно о параметрах см. раздел Время суток. | String |
Time_of_Day (Дополнительный) | Укажите время, с которого начинается движение. Это свойство игнорируется если только Единицы измерения не базируются на времени. Значение по умолчанию – no time or date (без времени и даты). Когда Время суток не задано, решатель использует общие скорости-обычно те, которые установлены в качестве ограничений. В действительности трафик постоянно меняется, и по мере его изменений, время в пути между пунктами обслуживания и точками спроса также колеблется. Поэтому, указание разного времени и значения даты для нескольких анализов может повлиять на то, как будет распределён спрос между пунктами обслуживания и какие пункты обслуживания будут выбраны в результате. Время суток всегда указывает на время начала. Тем не менее, движение может начаться от пунктов обслуживания или от точек спроса; это зависит от того, что вы выбираете для параметра Направление движения. Параметр Часовой пояс для времени суток определяет, как будут указываться время и дата, в UTC или в часовом поясе, в котором находятся пункт обслуживания или точка спроса. | Date |
Time_Zone_for_Time_of_Day (Дополнительный) | Указывает часовой пояс параметра Время суток. Значение по умолчанию – географически локальное.
Независимо от значения параметра Часовой пояс для времени суток, если ваши пункты обслуживания и точки спроса находятся в нескольких часовых поясах, то инструмент будет использовать следующие правила:
| String |
UTurn_Policy (Дополнительный) | Правила разворота на соединениях. При разрешении U-образных разворотов неявно предполагается, что механизм расчета позволяет разворот на соединении и продолжение движения по той же улице в обратную сторону. Учитывая, что соединения представляют собой пересечения улиц и тупики, различные транспортные средства могут разворачиваться на некоторых соединениях, но не на всех – это зависит от того, является ли соединение перекрестком или тупиком. Для соответствия, параметр правил разворотов в неявном виде указывает количество ребер, или улиц, участвующих в соединении, что представляет валентность соединения. Ниже приведены допустимые значения для данного параметра; каждое из них сопровождается описанием значения в терминах валентности соединения.
Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение, отличное от Пользовательский.. | String |
Point_Barriers (Дополнительный) | Определяет точечные барьеры, которые разделены на два типа: ограничения и дополнительной стоимости. Они временно ограничивают прохождение по сети или добавляют импеданс к точкам сети. Точечные барьеры задаются набором объектов, а значения атрибута, которые вы указываете для точечных объектов, определяют, являются ли они ограничениями или барьерами дополнительной стоимости. Ниже приведены поля в таблице атрибутов с описанием. ObjectID: Управляемое системой поле ID. Shape: Поле геометрии, показывающее географическое положение объекта сетевого анализа. Name: Имя барьера. BarrierType: Указывает, ограничивает ли барьер перемещение полностью или добавляет стоимость при прохождении через него. Существует две опции:
Используйте значение 0 для Ограничения и 2 для Дополнительной стоимости. Additional_Time: указывает, какое время поездки добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения. Additional_Distance: указывает, какое расстояние добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения расстояния. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения. | Feature Set |
Line_Barriers (Дополнительный) | Определяет линейные барьеры, которые временно ограничивают прохождение через них. Линейные барьеры определяются набором объектов. Ниже приведены поля в таблице атрибутов с описанием. ObjectID: Управляемое системой поле ID. Shape: Поле геометрии, показывающее географическое положение объекта сетевого анализа. Name: Имя барьера. | Feature Set |
Polygon_Barriers (Дополнительный) | Определяет полигональные барьеры, которые разделены на два типа: ограничения и полигональные барьеры масштабированной стоимости. Они временно ограничивают перемещение или масштабируют импеданс в покрываемых ими частях сети. Полигональные барьеры задаются набором объектов, а значения атрибута, которые вы указываете для полигональных объектов, определяют, являются ли они ограничениями или барьерами дополнительной стоимости. Ниже приведены поля в таблице атрибутов с описанием. ObjectID: Управляемое системой поле ID. Shape: Поле геометрии, показывающее географическое положение объекта сетевого анализа. Name: Имя барьера. BarrierType: Указывает, ограничивает ли барьер перемещение полностью или масштабирует стоимость прохождения через него. Существует две опции:
Используйте значение 0 для Ограничения и 1 для Масштабированной стоимости. ScaledTimeFactor: Это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются единицы измерения времени. Значение поля должно быть больше нуля. ScaledDistanceFactor: Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Этот атрибут действителен только для барьеров с масштабированной стоимостью, и только если используются единицы измерения расстояния. Значение атрибута должно быть больше нуля. | Feature Set |
Time_Attribute (Дополнительный) | Определяет, какой сетевой атрибут стоимости используется, когда в качестве единиц измерения выбраны единицы времени. Инструмент выполняет необходимые преобразования единиц времени в том случае, если значение параметра Единицы измерения отличается от заданных здесь единиц атрибута стоимости. Другими словами, единицы времени параметра отсечки по умолчанию и сетевого атрибута стоимости не обязательно должны быть одинаковыми. Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение не Пользовательский. | String |
Time_Attribute_Units (Дополнительный) | Единицы атрибута времени. Вы можете явно задать единицы атрибута времени, однако рекомендуется оставить это поле пустым или "#" и позволить механизму расчета определить единицы. Значение этого параметра перезаписывается, если для Travel_Mode задано любое значение, отличное от CUSTOM. | String |
Distance_Attribute (Дополнительный) | Определяет, какой сетевой атрибут стоимости используется, когда значением параметра Единицы измерения является единица расстояния. Инструмент выполняет необходимые преобразования единиц расстояния в том случае, если значение параметра Единицы измерения отличается от заданных здесь единиц атрибута стоимости. Другими словами, единицы измерения и единицы расстояния сетевого атрибута стоимости не обязательно должны быть одинаковыми. Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение не Пользовательский. | String |
Distance_Attribute_Units (Дополнительный) | Единицы атрибута расстояния. Вы можете явно задать единицы атрибута расстояния, однако рекомендуется оставить это поле пустым или "#" и позволить механизму расчета определить единицы. Значение этого параметра перезаписывается, если для Travel_Mode задано любое значение, отличное от CUSTOM. | String |
Use_Hierarchy_in_Analysis (Дополнительный) | Укажите, должна ли использоваться иерархия при нахождении кратчайшего маршрута между точками.
Параметр не используется, если в наборе сетевых данных, используемом для выполнения анализа, не задан атрибут иерархии. В таких случаях используйте в качестве значения параметра "#". Можно использовать параметр Force_Hierarchy_Beyond_Distance , чтобы механизм расчета принудительно применял иерархию, даже если параметр Use_Hierarchy_in_Analysis задан как False. Этот параметр игнорируется, за исключением случая, когда Travel_Mode задан как CUSTOM. При моделирования в режиме построения маршрута для пешехода рекомендуется выключить иерархию, поскольку она разработана для построения маршрутов автомобилей. | Boolean |
Restrictions [restriction,...] (Дополнительный) | Определяет, какие сетевые атрибуты ограничения будут учитываться во время расчета. Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение, отличное от Пользовательский. | String |
Attribute_Parameter_Values (Дополнительный) | Определяет значения параметра для атрибутов сети, имеющих параметры. Набор записей имеет два столбца, которые используются вместе для уникальной идентификации параметров, а также другой столбец, который определяет значение параметра. Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение, отличное от Пользовательский.. Набор записей значений параметра атрибута имеет связанные атрибуты. Ниже приведены поля в таблице атрибутов с описанием. ObjectID: Управляемое системой поле ID. AttributeName: Имя сетевого атрибута, чей параметр атрибута задан строкой таблицы. ParameterName: Имя параметра атрибута, чье значение задано строкой таблицы. (Параметры типа объекта не могут быть обновлены с помощью данного инструмента.) ParameterValue: Значение, которое вы хотите задать для параметра атрибута. Если значение не указано, для параметра атрибута устанавливается значение NULL. | Record Set |
Accumulate_Attributes [attribute,...] (Дополнительный) | Список атрибутов стоимости, который будет суммироваться во время анализа. Эти атрибуты накопления служат исключительно для справки; механизм расчета использует только атрибут стоимости, определенный параметром Атрибут времени (Time_Attribute в Python) или Атрибут расстояния (Distance_Attribute в Python), для вычисления кратчайшего пути. Для каждого кумулятивного атрибута стоимости к выходным маршрутам механизма расчета добавляется свойство Total_[attribute]. | String |
Maximum_Snap_Tolerance (Дополнительный) | Максимальный допуск замыкания представляет собой самое дальнее расстояние, которое Network Analyst находится при размещении или повторном размещении точки в сети. Выполняется поиск подходящих ребер или соединений, далее выполняется замыкание точки на ближайший объект. Если подходящее положение не было найдено в пределах максимального допуска замыкания, то объект обозначается, как неразмещенный. | Linear Unit |
Feature_Locator_WHERE_Clause (Дополнительный) | Выражение SQL, используемое для создания поднабора исходных пространственных объектов, определяющего элементы сети, на которых могут быть расположены пункты обслуживания и точки спроса. Синтаксис данного параметра состоит их двух частей: первая – имя источника класса пространственных объектов (после которого имеется пробел), вторая – выражение SQL. Чтобы записать выражение SQL для двух или более классов пространственных объектов, их необходимо разделить точкой с запятой. Чтобы пункты обслуживания не располагались на шоссе с ограниченным доступом, например, напишите выражение SQL, аналогичное следующему, с целью исключить такие источники объектов: "Streets" "FUNC_CLASS not in('1', '2')". Обратите внимание, что барьеры игнорируют Условие Where локатора объектов во время загрузки. | String |
Allocation_Line_Shape (Дополнительный) | Укажите тип линейных объектов, получаемых на выходе инструмента. Параметр принимает одно из следующих значений:
Независимо от выбранного значения параметра Выделение линейной формы, наикратчайший маршрут определяется всегда на основе минимальной продолжительности или протяженности пути, а не на основе расстояния по прямой между точками спроса и пунктами обслуживания. То есть, этот параметр изменяет только формы выходных линий; он не меняет метод измерения. Когда параметр Форма линии распределения (Allocation_Line_Shape в Python) имеет значение Истинные линии без измерений или Истинные линии с измерениями, генерализацией формы маршрута можно дополнительно управлять, выбирая соответствующие значения параметра Допуск упрощения линии распределения (Allocation_Line_Simplification_Tolerance в Python). | String |
Allocation_Line_Simplification_Tolerance (Дополнительный) | Определяет степень упрощения геометрии выделенных линий. Инструмент игнорирует этот параметр, если значение параметра Выделение линейной формы (Allocation_Line_Shape в Python) не соответствует выходным истинным линиям. При упрощении сохраняются важнейшие точки на маршруте, например, повороты и перекрестки, составляющую основную форму маршрута, а остальные точки удаляются. Указываемое вами расстояние упрощения является максимальным допустимым смещением упрощенной линии от исходной. Упрощение линии сокращает количество вершин в геометрии маршрута. Благодаря этому сокращаются время выполнения инструмента и время отрисовки линий. Значение этого параметра перезаписывается, если для Режима передвижения (Travel_Mode в Python) установлено значение, отличное от Пользовательский.. | Linear Unit |
Maximum_Features_Affected_by_Point_Barriers (Дополнительный) | Ограничивает количество объектов, на которые влияют точечные барьеры Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Maximum_Features_Affected_by_Line_Barriers (Дополнительный) | Ограничивает количество объектов, на которые влияют линейные барьеры Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Maximum_Features_Affected_by_Polygon_Barriers (Дополнительный) | Ограничивает количество объектов, на которые влияют полигональные барьеры. Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Maximum_Facilities (Дополнительный) | Ограничивает число пунктов обслуживания, которые можно добавить к анализу Размещение-Распределение. Этот параметр связан с параметром Пункты обслуживания. Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Maximum_Facilities_to_Find (Дополнительный) | Ограничивает число пунктов обслуживания, которые можно добавить к анализу Размещение-Распределение. Этот параметр связан с параметром Число пунктов обслуживания для поиска (Number_of_Facilities_to_Find в Python). Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Maximum_Demand_Points (Дополнительный) | Ограничивает число точек спроса, которые можно добавить к анализу Размещение-Распределение. Этот параметр связан с параметром Точки спроса (Demand_Points в Python). Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Например, вы можете присвоить низкое значение данному параметру для бесплатной версии созданного вами сервиса, и использовать более высокое значение для версии сервиса с оплачиваемой подпиской. NULL соответствует отсутствию ограничений. | Long |
Force_Hierarchy_Beyond_Distance (Дополнительный) | Определяет расстояние, при превышении которого механизм расчета использует иерархию, даже если она не включена, при поиске кратчайших путей между пунктами обслуживания и точками спроса. Единицами измерения этого параметра являются единицы, отображаемые для параметра Единицы атрибута расстояния (Distance_Attribute_Units в Python). Использование иерархии при поиске маршрутов между далеко расположенными пунктами обслуживания и точками спроса позволяет существенно сократить объем вычислений по сравнению с поиском без учета иерархии. Данный параметр помогает регулировать объем вычислений, необходимый для получения решения. Значение null означает, что иерархия применяться никогда не будет, а значение параметра Использовать иерархию в анализе (Use_Hierarchy_in_Analysis in Python) будет всегда учитываться. Если входной набор сетевых данных не поддерживает иерархию, то указание значения для данного параметра приведет к ошибке. В этом случае необходимо использовать значение NULL. Этот параметр доступен только тогда, когда набор сетевых данных включает в себя атрибут иерархии. | Double |
Save_Output_Network_Analysis_Layer (Дополнительный) |
В любом случае будут возвращены классы объектов, содержащие результаты. Однако администратор сервера может также выбрать вывод и слоя сетевого анализа, чтобы настройку и результаты работы инструмента можно было отладить с использованием средств управления Network Analyst в среде ArcGIS Desktop. Это намного упрощает процесс отладки. В ArcGIS Desktop выходное местоположение слоя сетевого анализа по умолчанию – это временная папка. Вы можете определить местоположение временной папки по значению arcpy.env.scratchFolder среды геообработки. Выходной слой сетевого анализа хранится в виде LYR-файла, имя которого начинается с _ags_gpna, а затем следует буквенно-числовое значение GUID. | Boolean |
Travel_Mode (Дополнительный) | Выберите режим передвижения для анализа. CUSTOM можно выбрать всегда. Чтобы появились другие режимы, они должны быть представлены в наборе сетевых данных в параметре Network_Dataset. (Функция arcpy.na.GetTravelModes содержит словарь объектов режима движения для класса сетевых объектов, а свойство name возвращает имя объекта режима передвижения.) Если режим определен в наборе сетевых данных и обеспечивает замещение значений параметров для моделирования маршруты передвижения легковых и грузовых автомобилей, пешеходов и других режимы передвижения. Выбрав режим здесь, вам не требуется указывать значения для следующих параметров, которые замещаются значениями, указанными в наборе сетевых данных:
| String |
Overrides (Дополнительный) | Укажите дополнительные опции, которые могут повлиять на режимы работы механизма расчетов при поиске решений задач сетевого анализа. Для этого параметра должно быть задано значение в формате JavaScript Object Notation (JSON). К примеру, допустимое значение имеет следующий вид: {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Замещающее имя всегда заключено в двойные кавычки. Эти значения могут быть числовыми, булевыми или текстовыми. Значение по умолчанию является пустым, что означает отсутствие замещения каких-либо настроек механизма расчета. Замещения – дополнительные настройки, которые должны применяться только по итогам выполнения тщательного анализа результатов, которые будут получены до и после применения таких настроек. Список поддерживаемых настроек замещений для каждого расчета и их доступных значений можно получить, обратившись в службу технической поддержки Esri. | String |
Производные выходные данные
Имя | Объяснение | Тип данных |
Solve_Succeeded | Определяет смог ли сервис выбрать наилучший пункт обслуживания. | Логические |
Output_Allocation_Lines | Линии, соединяющие точки спроса со связанными с ними пунктами обслуживания. | Класс объектов |
Output_Facilities | Доступ к выбранным пунктам обслуживания, а также к обязательным, конкурирующим или не выбранным пунктам. | Класс объектов |
Output_Demand_Points | Точки спроса, участвующие в анализе. | Класс объектов |
Output_Route_Edges | Представляет отдельные сегменты дорог, вдоль которых проходит кратчайший маршрут между точками спроса и пунктами обслуживания, к которым они относятся. | Класс объектов |
Output_LocationAllocation_Analysis_Layer | Выходной слой анализа размещения-распределения. | Файл |
Output_Route_Analysis_Layer | Выходной слой анализа маршрута. | Файл |
Пример кода
SolveLocationAllocation, пример 1(окно Python)
Выполнение инструмента SolveLocationAllocation с использованием необходимых параметров.
facilities = arcpy.FeatureSet()
facilities.load("Stores")
demandPoints = arcpy.FeatureSet()
demandPoints.load("TractCentroids")
arcpy.na.SolveLocationAllocation(facilities, demandPoints, "Minutes",
"Streets_ND", "in_memory", "Lines",
"OutFacilities", "OutDemandPoints",
"RouteEdges", Number_of_Facilities_to_Find=2)
SolveLocationAllocation, пример 2 (автономный скрипт)
Следующий автономный скрипт Python демонстрирует порядок использования SolveLocationAllocationв автономном скрипте.
# Name: SolveLocationAllocation_Workflow.py
# Description: Find the two stores that are most convenient to your customers.
# The results show which stores were selected and which store is
# most convenient to each customer location.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\SanFrancisco.gdb'
env.overwriteOutput = True
#Set local variables
inNetworkDataset = r'Transportation\Streets_ND'
inFacilities = r'Analysis\Stores'
inDemandPoints = r'Analysis\TractCentroids'
outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
outLines = "Lines"
outFacilities = "Facilities"
outDemandPoints = "DemandPoints"
outRouteEdges = "RouteEdges"
measurement_units = "Minutes"
# Run SolveLocationAllocation. Find the best two stores, but don't consider
# stores beyond a 10 minute travel time for a given customer.
arcpy.na.SolveLocationAllocation(inFacilities, inDemandPoints,
measurement_units, inNetworkDataset,
outGeodatabase, outLines, outFacilities,
outDemandPoints, outRouteEdges,
Number_of_Facilities_to_Find=2,
Default_Measurement_Cutoff=10.0)
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 occured on line %i" % tb.tb_lineno
print str(e)
Параметры среды
Информация о лицензиях
- Basic: Требуется Network Analyst
- Standard: Требуется Network Analyst
- Advanced: Требуется Network Analyst