Краткая информация
Инструмент SolveLocationAllocation выбирает одно или несколько наилучших местоположений из входного набора.
Входными данными для этого инструмента являются пункты обслуживания, обеспечивающие товары или сервисы, и точки спроса, потребляющие их. Целью является поиск пунктов обслуживания, которые наиболее эффективно обеспечивают точки спроса. Инструмент решает эту проблему анализом различных способов назначения точек спроса тем или иным различным пунктам обслуживания. Решением является сценарий, который распределяет большинство точек спроса по пунктам обслуживания и минимизирует общую длину маршрута. В выходных данных содержатся выбранные пункты обслуживания, точки спроса, связанные с ними, и линии, соединяющие точки и пункты обслуживания.
Инструмент размещения-распределения можно настроить для решения специфических задач. Примеры:
Розничный магазин хочет найти возможные места для новых магазинов, чтобы захватить не менее 10 процентов розничного рынка в этой области.
Департамент пожарной охраны хочет определить, где следует разместить пожарные части, чтобы приезжать на место на четыре минуты для 90 процентов вызовов.
Департамент полиции хочет заранее разместить персонал согласно данным о правонарушениях за минувшую ночь.
После урагана, агентство по чрезвычайным ситуациям хочет определить наилучшие места для установки пунктов помощи пострадавшим с ограничением по числу пациентов в соответствии с количеством пострадавших.
Иллюстрация
Использование
Инструмент выбирает наилучшие пункты обслуживания на основе времени пути, если значение параметра Единицы измерения дается в единицах времени. Если единицами измерения является расстояние, инструмент работает на основе расстояния.
Необходимо указать как минимум один пункт обслуживания и одну точку спроса. Можно загрузить до 1,000 пунктов обслуживания и 10 000 точек спроса.
Вы можете добавить до 250 точечных барьеров. Вы можете добавить любое количество линейных или полигональных барьеров, но линейные барьеры не могут пересекать более 500 объектов-улиц, а полигональные – более 2,000 объектов.
Вы можете использовать иерархию дорог, что позволит получить результаты быстрее, но полученное решение может быть менее оптимальным.
Независимо от того, включен ли параметр Использовать иерархию (значение True), иерархия всегда используется, если Евклидово расстояние между любой парой объектов, представляющих точки спроса и пункты обслуживания, составляет более 50 миль (80,46 км).
Евклидово расстояние между любой парой объектов, представляющих точки спроса или пункты обслуживания, не может быть больше, чем 50 миль (80.46 километров), если для параметра Travel Mode задано значение Walking, или когда было задано значение Custom, и используется ограничение Walking.
Если расстояние между входной точкой и ближайшей проезжей улицей больше 12.42 миль (20 км), точка исключается из анализа.
Данный инструмент предназначен для работы в ArcGIS Pro, ArcMap, ArcGlobe и ArcScene, но не в ArcCatalog.
Синтаксис
SolveLocationAllocation_naagol (Facilities, Demand_Points, {Analysis_Region}, Measurement_Units, {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_at_Junctions}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Use_Hierarchy}, {Restrictions}, {Attribute_Parameter_Values}, {Allocation_Line_Shape}, {Travel_Mode}, {Impedance})
Параметр | Объяснение | Тип данных |
Facilities | Укажите один или несколько пунктов обслуживания (до 1,000). Инструмент выбирает наилучшие местоположения из набора пунктов обслуживания, которые вы задаёте здесь. В конкурентном анализе, в котором вы пытаетесь найти лучшие местоположения в условиях конкуренции, конкурирующие пункты обслуживания указываются также здесь. При задании пунктов обслуживания, вы можете с использованием атрибутов установить свойства каждого из них, например такие, как имя пункта или тип. Для задания свойств пунктов обслуживания можно использовать следующие поля: Name – имя пункта обслуживания. Имя включено в имя выходных линий распределения, если пункт обслуживания является частью решения. FacilityType – определяет, является ли пункт обслуживания кандидатом, обязательным или конкурирующим пунктом обслуживания. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Weight – относительный вес объекта, используемый для ранжирования по привлекательности, предпочтительности или склонности. Например, значение 2,0 указывает на то, что предпочтения заказчика совершать покупки в этом магазине, а не в другом соотносятся как 2:1. Факторы, потенциально влияющие на вес, включают площадь, близость расположения и возраст здания. Отличные от единицы значения веса наследуются только такими типами задач, как максимизация доли рынке и доля на целевом рынке; они игнорируются в других типах задач. Capacity – поле Capacity задается только для типа задач Максимизировать покрытие емкостью; другие типы задач игнорируют данное поле. Свойство Capacity определяет, насколько пункт обслуживания может поддерживать взвешенный спрос. Излишние точки спроса не будут присвоены пункту обслуживания, даже если точки спроса находятся в пределах размеров пункта обслуживания по умолчанию. Любое значение, присвоенное полю Capacity, перезаписывает параметр Емкость по умолчанию (Default Capacity) (Default_Capacity в Python) для данного пункта обслуживания. CurbApproach – указывает направление, в котором транспортное средство может подъехать или отъехать от пункта обслуживания. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к пункту обслуживания так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Feature Set |
Demand_Points |
Укажите одну или несколько точек спроса (до 10 000). Инструмент выбирает наилучшие пункты обслуживания, основываясь в значительной степени на том, как они обслуживают указанные здесь точки спроса. При задании точек спроса, вы можете с использованием атрибутов установить свойства каждого из них, например такие, как имя точки спроса или вес. Для задания свойств точек спроса можно использовать следующие поля: Name – имя точки спроса. Имя включается в имя выходной линии или линий распределения, если точка спроса является частью решения. GroupName – имя группы, которой принадлежит точка спроса. Данное свойство игнорируется для моделей задач максимизирования покрытия емкостью, доли на целевом рынке и максимизирования доли на рынке. Если несколько точек спроса принадлежат одной группе, механизм расчета назначает всех членов группы одному объекту. (Если существуют ограничения, например, расстояние отсечения, это предотвращает доступ точек спроса к объектам и приводит к тому, что объекту не назначаются точки спроса.) Weight – относительный вес точки спроса. Значение 2,0 означает вдвое большую важность точки, чем значение 1,0. Если точки спроса представляют домохозяйства, вес может указывать на количество людей в каждом домашнем хозяйстве. Cutoff_Time – точка спроса не может быть выделена для пункта обслуживания, если превышено указанное здесь время в пути. Значение этого поля перекрывает значение параметра Отсекающее значение измерения по умолчанию (Default Measurement Cutoff). Единицы измерения для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута используется в процессе выполнения анализа только тогда, когда единицами измерения являются единицы времени. Значение по умолчанию является пустым, что означает, что переопределяемый срез отсутствует. Cutoff_Distance – точка спроса не может быть выделена для пункта обслуживания, если превышено указанное здесь расстояние. Значение этого поля перекрывает значение параметра Отсекающее значение измерения по умолчанию (Default Measurement Cutoff). Единицы измерения для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута используется в процессе выполнения анализа только тогда, когда единицами измерения являются единицы измерения расстояния. Значение по умолчанию является пустым, что означает, что переопределяемый срез отсутствует. CurbApproach – задает направление, в котором транспортное средство может подъехать или отъехать от точки спроса. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда точка спроса находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. С учётом национальных стандартов дорожного движения, вы можете выбрать, с какой из двух сторон следует подъезжать к точке спроса, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к точке спроса так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Feature Set |
Analysis_Region (Дополнительный) | Укажите регион, в котором выполняется анализ. Если значение этого параметра не указано, инструмент автоматически вычислит имя региона на основе местоположения входных точек. Задание имени региона рекомендуется для увеличения скорости работы инструмента. Чтобы задать регион используйте одно из следующих значений:
| String |
Measurement_Units | Укажите единицы, которые следует использовать для измерения продолжительности или протяженности пути между точками спроса и пунктами обслуживания. Инструмент выбирает наилучшие пункты обслуживания, которые могут быть достигнуты при наибольшей сумме взвешенного спроса и при наименьшей протяжённости поездок. Линии выходного распределения сообщают расстояние пути или время в пути в разных единицах, включая единицы измерения, которые вы указываете для этого параметра. Вы можете выбрать
| String |
Problem_Type (Дополнительный) | Определяет цель анализа Размещение-Распределение. Целью по умолчанию является сведение к минимуму импеданса.
| String |
Number_of_Facilities_to_Find (Дополнительный) | Задайте число пунктов обслуживания, которое решатель должен выбрать. Значение по умолчанию равно 1. Пункты обслуживания со значением поля FacilityType, равным 1 (требуется), всегда выбираются первыми. Любое превышение пунктов обслуживания в выборе выбирается из пунктов обслуживания – кандидатов, которые имеют значение поля FacilityType равным 2. Все пункты обслуживания, поле FacilityType которых имеет значение 3 (выбранный) перед выполнением решения, рассматриваются как кандидаты во время решения. Если число пунктов обслуживания для поиска меньше числа требуемых пунктов обслуживания, то отмечается ошибка. Число пунктов обслуживания для поиска (Number of Facilities to Find) отключено для типов задач Минимизировать пункты обслуживания (Minimize Facilities) и Доля на целевом рынке (Target Market Share), так как механизм расчета определяет минимальное количество пунктов обслуживания, требуемых для достижения целей задач. | Long |
Default_Measurement_Cutoff (Дополнительный) | Задает максимальное время в пути или расстояние, разрешенное между точкой спроса и пунктом обслуживания, к которому она распределяется. Если точка спроса располагается за пределами зон импеданса пункта обслуживания, то она не может быть распределена данному пункту обслуживания. Значение по умолчанию является пустым, что означает, что срез не применяется. Единицами измерения значений данного параметра являются те же единицы, что указываются в параметре Единицы измерения (Measurement Units). Время в пути или предельное расстояние измеряются по кратчайшему пути по дорогам. Это свойство можно использовать для моделирования максимального расстояния, которые люди готовы преодолеть с целью посещения ваших магазинов или расстояния, на котором пожарная часть может обслуживать вызовы. Обратите внимание, что точки спроса имеют поля Cutoff_Time и Cutoff_Distance, которые, если установлены соответствующим образом, имеют приоритет над параметром Отсекающее значение измерения по умолчанию. Может оказаться, что люди в сельской местности готовы преодолевать расстояние в 10 миль, чтобы попасть к объекту, а городские жители согласны преодолевать не более 2 миль. Полагая, что Единицы измерения заданы в милях, вы можете моделировать данное поведение установкой отсекающего значения измерения по умолчанию равным 10 и значения поля Cutoff_Distance для точек спроса в городских территориях равным 2. | Double |
Default_Capacity (Дополнительный) | Это свойство характерно для типов задач Максимизации покрытия емкостью (Maximize Capacitated Coverage). Это емкость, назначенная всем пунктам обслуживания в анализе по умолчанию. Вы можете переопределить значение емкости по умолчанию для пункта обслуживания, указав значение для поля Capacity для пункта обслуживания. Значение по умолчанию равно 1. | Double |
Target_Market_Share (Дополнительный) | Данный параметр специфичен для типа задач Доля на целевом рынке (Target Market Share). Это процент от общего веса спроса, который хотите выбрать и захватить требуемые пункты обслуживания. Механизм решения выбирает минимальное число пунктов обслуживания, необходимое для обеспечения целевой доли рынка здесь. Значение по умолчанию – 10 процента. | Double |
Measurement_Transformation_Model (Дополнительный) | Этот параметр задает уравнение для преобразования сетевой стоимости между объектами и точками спроса. Это свойство вместе со свойством Параметр импеданса (Impedance Parameter) задает, насколько сильно сетевой импеданс между объектами и точками спроса влияет на выбор объектов (пунктов обслуживания) механизмом расчета. В следующем списке представлены варианты преобразования; d обозначает точку спроса, f – объект. "Импеданс" рассматривается как кратчайшее расстояние пути или времени между двумя местоположениями. Таким образом, импедансdf – это кратчайший путь (по времени или расстоянию) между точкой спроса d и пунктом обслуживания f, а стоимостьdf – это трансформированные время и расстояние пути между пунктом обслуживания и точкой спроса. Лямбда (λ) обозначает параметр импеданса. Настройки Единицы измерения (Measurement Units) определяют будет ли анализироваться время пути или расстояние.
| String |
Measurement_Transformation_Factor (Дополнительный) | Предоставляет значение параметра для уравнения задаваемое параметром Модель преобразования измерений. Если преобразование импеданса линейное, значение параметра игнорируется. Для преобразований POWER и EXPONENTIAL значение не должно быть равно нулю. Значение по умолчанию равно 1. | Double |
Travel_Direction (Дополнительный) | Укажите, следует ли измерять время в пути или расстояния (от точки спроса к пункту обслуживания или наоборот). Значение по умолчанию – измерять от пунктов обслуживания к точкам спроса.
Время и расстояние пути может меняться в зависимости от направления движения. Если движение происходит из точки A в точку B, то вы можете столкнуться с меньшим трафиком или иметь более короткий путь, из-за улиц с односторонним движением и ограничений поворотов, чем если бы вы ехали в противоположном направлении. Например, перемещение из точки А в точку Б может занять всего 10 минут, но перемещение в обратном направлении может занять 15 минут. Эти различные измерения могут повлиять на то, могут ли точки спроса быть отнесены к определенным пунктам обслуживания из-за отсекающих порогов, в типах задач, где спрос распределяется, а также повлиять на то, насколько охвачен спрос. Пожарные части, как правило, измеряют от пунктов обслуживания до точек спроса, поскольку их интересует, как быстро они смогут доехать от пожарной части к месту вызова. Для магазинов розничной торговли важнее то, насколько быстро покупатели смогут доехать до магазина; поэтому магазины, обычно, измеряют время и расстояние от точек спроса до пунктов обслуживания. Travel Directionтакже определяет значение указанного времени начала. Более подробно о параметрах см. раздел День и ночь (Time of Day). | String |
Time_of_Day (Дополнительный) | Укажите время, с которого начинается движение. Это свойство игнорируется если только Единицы измерения (Measurement Units) не базируются на времени. Значение по умолчанию – no time or date (без времени и даты). Когда Время суток (Time of Day) не задано, решатель использует общие скорости-обычно те, которые установлены в качестве ограничений. В действительности трафик постоянно меняется, и по мере его изменений время в пути между пунктами обслуживания и точками спроса также колеблется. Поэтому, указание разного времени и значения даты для нескольких анализов может повлиять на то, как будет распределён спрос между пунктами обслуживания и какие пункты обслуживания будут выбраны в результате. Время дня всегда указывает на время начала. Тем не менее, движение может начаться от пунктов обслуживания или от точек спроса; это зависит от того, что вы выбираете для параметра Направление движения (Travel Direction). Параметр Часовой пояс для времени суток (Time Zone for Time of Day) определяет, как будут указываться время и дата, в UTC или в часовом поясе, в котором находятся пункт обслуживания или точка спроса. | Date |
Time_Zone_for_Time_of_Day (Дополнительный) | Указывает часовой пояс параметра Время суток (Time of Day). Значение по умолчанию – географически локальное.
Независимо от значения параметра Часовой пояс для времени суток (Time Zone for Time of Day), если ваши пункты обслуживания и точки спроса находятся в нескольких часовых поясах, то инструмент будет использовать следующие правила:
| String |
UTurn_at_Junctions (Дополнительный) | Правила разворота на соединениях. При разрешении U-образных разворотов неявно предполагается, что механизм расчета позволяет разворот на соединении и продолжение движения по той же улице в обратную сторону. Учитывая, что соединения представляют собой пересечения улиц и тупики, различные транспортные средства могут разворачиваться на некоторых соединениях, но не на всех – это зависит от того, является ли соединение перекрестком или тупиком. Для соответствия, параметр правил разворотов в неявном виде указывает количество ребер, или улиц, участвующих в соединении, что представляет валентность соединения. Ниже приведены допустимые значения для данного параметра; каждое из них сопровождается описанием значения в терминах валентности соединения.
Этот параметр игнорируется, если только для Режима передвижения не выбрано Пользовательский (Custom). | String |
Point_Barriers (Дополнительный) | Укажите одну или несколько точек, действующих в качестве временных ограничений или представляющих дополнительное время или расстояние, которые могут потребоваться для передвижения по улицам. Например, точечный барьер может быть использован для обозначения упавшего дерева или для ввода времени ожидания на железнодорожном переезде. Инструмент может накладывать до 250 ограничений, точек, добавленных в качестве барьеров. При указании точечных барьеров вы можете задать с помощью атрибутов свойства каждого из них, такие как тип барьера. Для задания свойств точечных барьеров можно использовать следующие атрибуты: Name: имя барьера. BarrierType: указывает, ограничивает ли точечный барьер перемещение полностью или добавляет время или расстояние при его пересечении. Значение этого атрибута указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Additional_Time: указывает, какое время пути добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения. Additional_Distance: указывает, какое расстояние добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения расстояния. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения. | Feature Set |
Line_Barriers (Дополнительный) | Укажите одну или несколько линий, которые запрещают передвижение там, где они пересекают улицы. Например, при помощи линейного барьера можно смоделировать маршрут парада или марша протеста, которые препятствуют движению по нескольким участкам улиц. Линейный барьер может также быстро запретить пересечение нескольких дорог, отделяя, таким образом, возможный маршрут от нежелательных участков уличной сети. Инструмент имеет ограничение числа улиц, которые можно запретить с помощью параметра Линейные барьеры. Хотя лимита на число линий, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми линиями, не должно превышать 500. При указании линейных барьеров вы можете задать с помощью атрибута свойство имени для каждого из них. Name: имя барьера. | Feature Set |
Polygon_Barriers (Дополнительный) | Укажите полигоны, которые либо полностью запрещают передвижение, либо пропорционально масштабируют время или расстояние, необходимое для передвижения по улицам, пересекаемым полигоном. Сервис имеет ограничение числа улиц, которые можно запретить с помощью параметра Полигональные барьеры. Хотя лимита на число полигонов, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми полигонами, не должно превышать 2,000. При указании полигональных барьеров вы можете задать с помощью атрибутов свойства каждого из них, такие как тип барьера. Для задания свойств полигональных барьеров можно использовать следующие атрибуты: Name: имя барьера. BarrierType: указывает, ограничивает ли барьер перемещение полностью или масштабирует время или расстояние при прохождении по нему. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
ScaledTimeFactor: это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются единицы измерения времени. Значение поля должно быть больше нуля. ScaledDistanceFactor: это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Этот атрибут действителен только для барьеров с масштабированной стоимостью, и только если используются единицы измерения расстояния. Значение атрибута должно быть больше нуля. | Feature Set |
Use_Hierarchy (Дополнительный) | Укажите, должна ли использоваться иерархия при нахождении наикратчайшего пути между пунктами обслуживания и точками спроса.
Инструмент автоматически начинает использовать иерархию, если расстояние по прямой между пунктами обслуживания и точками спроса превышает 50 миль, даже если в этом параметре указано иное. | Boolean |
Restrictions (Дополнительный) | Укажите, какие ограничения должны учитываться инструментом при нахождении наилучшего маршрута между пунктами обслуживания и точками спроса. Ограничение представляет собой предпочтение или требование во время поездки. В большинстве случаев ограничения запрещают использование тех или иных дорог. Например, использование ограничения Избегать платных дорог приведет к тому, что платные дороги будут использоваться, только если это абсолютно необходимо для подъезда к инциденту или пункту обслуживания. Ограничение по высоте позволяет прокладывать маршрут в обход всех объектов с пролетами, меньшими, чем высота транспортного средства. Если транспортное средство перевозит коррозионные вещества, применение ограничения Any Hazmat Prohibited (Вредные вещества запрещены) предотвратит перевозку таких материалов по тем дорогам, по которым это запрещено. Ниже приводится список доступных ограничений и их краткое описание. Инструмент поддерживает следующие ограничения:
| String |
Attribute_Parameter_Values (Дополнительный) | Укажите дополнительные значения, требуемые для некоторых ограничений, такие как вес транспортного средства для ограничения по весу. Вы можете использовать этот параметр, чтобы указать, является ли движение по дорогам, для которых установлено это ограничение, запрещенным, нежелательным или предпочтительным. Если ограничение означает нежелательность или предпочтительность использования дороги, вы можете дополнительно указать с помощью этого параметра степень нежелательности или предпочтительности. Например, вы можете установить для платных дорог правило никогда их не использовать, по возможности избегать или наоборот, отдавать им предпочтение. Если вы задаете параметр Значения атрибутивного параметра из класса пространственных объектов, имена полей класса пространственных объектов должны соответствовать следующим: AttributeName: указывает имя ограничения. ParameterName: указывает имя параметра, связанного с ограничением. В зависимости от целей ограничения, оно может иметь одно или несколько значений поля ParameterName. ParameterValue: значение для ParameterName, используемое инструментом при оценке ограничения. Параметр Значения атрибутивного параметра зависит от параметра Ограничения. Поле ParameterValue применяется, только если значением параметра Ограничения является имя ограничения. В параметре Значения атрибутивного параметра (Attribute Parameter Values) каждое ограничение (AttributeName) содержит значение поля ParameterName, Использование ограничения (Restriction Usage), определяющее запрет, нежелательность или предпочтительность использования дорог, для которых установлено ограничение, а также степень нежелательности или предпочтительности использования дорог. Поле Использование ограничения ParameterName может иметь одно из следующих строковых значений или эквивалентных числовых значений, указанных в скобках:
Как правило, для поля Использование ограничения используется значение по умолчанию, PROHIBITED, если ограничение связано с характеристиками транспортного средства, например, его высотой. Однако в некоторых случаях значение поля Использование ограничения будет зависеть от ваших предпочтений при выборе маршрута. Например, для ограничения Избегать платных дорог параметр Использование ограничения имеет по умолчанию значение AVOID_MEDIUM. Это означает, что, при наличии данного ограничения инструмент будет по возможности избегать использования платных дорог при построении маршрута. Значение AVOID_MEDIUM также указывает, насколько важно избегать использования платных дорог при поиске лучшего маршрута: это ограничение имеет средний приоритет. При выборе AVOID_LOW исключение платных дорог из маршрута будет иметь меньшее значение, а при выборе AVOID_HIGH – большее, поэтому сервис будет создавать более длинные маршруты, чтобы по возможности избежать использования платных дорог. При выборе PROHIBITED использование платных дорог будет полностью запрещено, и сервис не сможет включать их в маршрут. Следует помнить, что в некоторых случаях целью анализа является прокладка маршрута в обход платных дорог, а в других случаях проезд по платным дорогам может быть предпочтителен, поскольку время, потраченное на движение, более ценно, чем деньги, уплаченные за проезд. В последнем случае для параметра Использование ограничения следует выбрать значения PREFER_LOW, PREFER_MEDIUM или PREFER_HIGH. Чем выше предпочтительность, тем в большей степени маршрут будет проходить по дорогам с этим ограничением. | Record Set |
Allocation_Line_Shape (Дополнительный) | Значение по умолчанию – выводить прямые линии. Укажите тип линейных объектов, получаемых на выходе инструмента. Параметр принимает одно из следующих значений:
Независимо от выбранного значения параметра Выделение линейной формы (Allocation Line Shape), наикратчайший маршрут определяется всегда на основе минимальной продолжительности или протяженности пути, а не на основе расстояния по прямой между точками спроса и пунктами обслуживания. То есть, этот параметр изменяет только формы выходных линий; он не меняет метод измерения. | String |
Travel_Mode (Дополнительный) | Задайте режим передвижения для модели анализа. Режимы передвижения настраиваются в ArcGIS Online и могут изменяться администратором вашей организации в целях лучшего соответствия рабочим процессам вашей организации. Вам требуется указать имя режима передвижения, поддерживаемого вашей организацией. Для получения списка имен поддерживаемых режимов передвижения используйте подключение к ГИС-серверу, применяемое вами для доступа к этому инструменту, и в наборе инструментов Утилиты запустите GetTravelModes. Инструмент GetTravelModes добавляет в приложение таблицу Поддерживаемые режимы передвижения. В качестве входных данных можно задать любое значение в поле Имя режима передвижения таблицы Поддерживаемые режимы передвижения. Вы также можете указать в качестве входного значения из поля Настройки режима передвижения. Это ускорит выполнение инструмента, поскольку инструмент не будет искать настройки на основании имени режима передвижения. Пользовательский (значение по умолчанию) – позволяет настроить собственный режим передвижения при помощи параметров этого режима (Развороты в соединениях, Использовать иерархию, Ограничения, Значения Параметров атрибутов и Импеданс). Значения по умолчанию для модели параметров пользовательского режима передвижения на легковом автомобиле. Например, можно выбрать Пользовательский и задать указанные выше параметры пользовательского режима передвижения для моделирования быстрой пешей ходьбы или передвижения грузового автомобиля с определенными габаритными (по высоте) и весовыми характеристиками, загруженного определенным опасным грузом. Можете попробовать различные настройки для получения нужных вам результатов анализа. После определения настроек анализа вам необходимо связаться с администратором вашей организации и сохранить эти настройки как часть нового или существующего режима передвижения, чтобы любой пользователь вашей организации мог перезапустить анализ с такими же настройками. | String |
Impedance (Дополнительный) | Задайте импеданс – значение, представляющее затраты или стоимость перемещения вдоль сегментов дорог или других частей транспортной сети. Расстояние перемещения – это импеданс, длина дороги в километрах рассматривается как импеданс. В этом смысле расстояние аналогично для всех режимов – километр останется километром и для пешехода, и для машины. (Что может измениться, так это пути, по которым разрешено перемещаться в различных режимах, что влияет на расстояние между точками и моделируется настройками режима передвижения.) Время передвижения также может быть импедансом. Для того чтобы проехать милю по пустой дороге, машине может понадобиться минута. Время передвижения может зависеть от режима перемещения: ту же милю пешеход пройдет за 20 минут, – поэтому важно выбрать правильный импеданс для моделируемого режима. Выберите из следующих значений импеданса:
Значение, указанное вами для данного параметра, игнорируется, за исключением случаев, когда Режим передвижения задан как Пользовательский, который является значением по умолчанию. Если вы выбираете Время в пути на машине, Время в пути на грузовике или Время в пути пешком, параметр Единицы измерения должны быть заданы, как связанные со временем; если выбираете Расстояние пути для Импеданса, Единицы измерения должны основываться на расстоянии. | String |
Пример кода
Пример расчета Размещение-Распределение
В следующем скрипте Python показано использование инструмента SolveLocationAllocation.
import arcpy
import time
import sys
username = "<your user name>"
password = "<your password>"
LA_service = "http://logistics.arcgis.com/arcgis/services;World/LocationAllocation;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox. Use an alias when importing
arcpy.ImportToolbox(LA_service, "agol")
#Set the variables to call the tool
facilities = r'C:/data/Inputs.gdb/Stores'
demandPoints = r'C:/data/Inputs.gdb/Customers'
output_lines = r'C:/data/Results.gdb/Lines'
output_facilities = r'C:/data/Results.gdb/Facilities'
output_demandPoints = r'C:/data/Results.gdb/DemandPoints'
#Call the tool
result = arcpy.agol.SolveLocationAllocation(facilities, demandPoints, "Minutes",
Problem_Type="Maximize Attendance",
Number_of_Facilities_to_Find=2,
Default_Measurement_Cutoff=10.0)
#Check the status of the result object every 0.5 seconds
#until it has a value of 4(succeeded) or greater
while result.status < 4:
time.sleep(0.5)
#print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
print "An error occured when running the tool"
print result.getMessages(2)
sys.exit(2)
elif result_severity == 1:
print "Warnings were returned when running the tool"
print result.getMessages(1)
#Get the output routes and save to a local geodatabase
result.getOutput(1).save(output_lines)
result.getOutput(2).save(output_facilities)
result.getOutput(3).save(output_demandPoints)
Параметры среды
Этот инструмент не использует параметры среды геообработки