Сводка
Находит один или несколько ближайших к инциденту пунктов обслуживания, на основании времени или расстояния перемещения, и создает наилучшие маршруты, путевые листы между инцидентами и выбранными пунктами обслуживания и копию выбранных пунктов обслуживания. Этот инструмент можно использовать, например, для поиска ближайшей к месту происшествия больницы, ближайших к месту преступления полицейских машин и ближайшего к месту проживания покупателя магазина.
При поиске ближайшего пункта обслуживания пользователь может указать, сколько таких пунктов необходимо найти, и в каком направлении нужно перемещаться – к ним или от них. Можно также указать время суток, чтобы при вычислении времени поездки учитывать текущие или расчетные условия трафика в конкретный час и день. Например, вы можете использовать инструмент для поиска больниц в пределах 15 минут езды от места происшествия в данное время суток. Любая больница, находящаяся более чем в 15-минутах езды, в зависимости от дорожной ситуации, не будет включена в результаты.
Более подробно о выходных данных инструмента FindClosestFacilities
Иллюстрация
Использование
Инструмент находит ближайшие пункты обслуживания на основе времени пути, если используется временное значение параметра Единицы измерения. Соответственно, инструмент вычисляет маршрут на основе расстояния, если единицы измерения основаны на расстоянии.
Необходимо указать как минимум один пункт обслуживания и один инцидент. Вы можете загрузить до 5 000 пунктов обслуживания и 5 000 инцидентов, и вы можете найти до 100 ближайших пунктов обслуживания для каждого инцидента. Таким образом, при каждом запуске инструмента можно будет найти до 500 000 ближайших пунктов обслуживания.
Вы можете добавить до 250 точечных барьеров. Вы можете добавить любое количество линейных или полигональных барьеров, но линейные барьеры не могут пересекать более 500 объектов-улиц, а полигональные – более 2 000 объектов.
Вы можете использовать иерархию дорог, что позволит быстрее получить результаты, но полученное решение может быть менее оптимальным.
Независимо от того, включен ли параметр Использовать иерархию (True), иерархия всегда используется, если прямолинейное расстояние между любой парой объектов, соответствующим инцидентам или пунктам обслуживания, составляет более 50 миль (80,46 км).
Евклидово расстояние между любой парой объектов, представляющих инциденты или пункты обслуживания, не может быть больше, чем 27 миль (43,45 километров), если для параметра Режим передвижения задано значение Пешком, или если задано значение Пользовательский и используется ограничение Пешком.
Если расстояние между входной точкой и ближайшей проезжей улицей больше 12,42 миль (20 км), точка исключается из анализа.
При использовании этого сервиса расходуются кредиты. Подробнее см. в разделе Обзор сервисных кредитов.
Данный инструмент предназначен для работы в , ArcGIS Pro, ArcMap, ArcGlobe и ArcScene, но не в ArcCatalog.
Синтаксис
arcpy.naagol.FindClosestFacilities(Incidents, Facilities, Measurement_Units, {Analysis_Region}, {Number_of_Facilities_to_Find}, {Cutoff}, {Travel_Direction}, {Use_Hierarchy}, {Time_of_Day}, {Time_of_Day_Usage}, {UTurn_at_Junctions}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Restrictions}, {Attribute_Parameter_Values}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {Time_Zone_for_Time_of_Day}, {Travel_Mode}, {Impedance}, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Save_Route_Data}, {Time_Impedance}, {Distance_Impedance}, {Output_Format}, {Ignore_Invalid_Locations})
Параметр | Объяснение | Тип данных |
Incidents | Местоположения, которые будут использованы в качестве начальных или конечных точек в анализе ближайшего пункта обслуживания. Вы можете указать один или несколько инцидентов (до 5 000). Это местоположения, относительно которых инструмент ищет ближайшие пункты обслуживания. При указании событий вы можете задать свойства каждого из них, такие как имя или время обслуживания, с помощью атрибутов: Name Имя инцидента. Имя используется в путевом листе. Если имя не указано, в выходных маршрутах и путевом листе автоматически создается уникальное имя с префиксом Location. ID Уникальный идентификатор инцидента. Идентификатор включается в выходные маршруты (как поле IncidentID) и помогает присоединить дополнительную информацию из выходных маршрутов, такую как общее время езды или общее расстояние, к атрибутам из ваших инцидентов и наоборот. Если ID не указан, сервис автоматически создает уникальный идентификатор для каждого инцидента. AdditionalTime Количество времени, затраченное на месте инцидента, которое добавляется к общему времени маршрута. По умолчанию значение равно 0. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута включается в анализ, только когда единицами измерения являются единицы времени. Если вы ищете пожарные части, ближайшие к месту возгорания, чтобы оценить, через сколько времени начнется тушение пожара, атрибут AdditionalTime может хранить информацию о том, сколько времени потребуется пожарным на развертывание их оборудования на месте пожара перед тем, как они смогут начать его тушить. AdditionalDistance Дополнительное расстояние, пройденное машинами на месте происшествия, которое добавляется к общей протяженности маршрута. По умолчанию значение равно 0. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута включается в анализ, только когда единицами измерения являются единицы расстояния. Обычно место происшествия, например дом, находится не на самой улице, а на некотором удалении от проезжей части. Значение этого атрибута может использоваться для учета расстояния между реальным местоположением инцидента и его положением на улице, если имеет смысл включать это расстояние в общую протяженность пути. AdditionalCost Дополнительная стоимость, потраченная на месте происшествия, которая добавляется к общей стоимости маршрута. По умолчанию значение равно 0. Это значение атрибута должно использоваться, когда режим передвижения для анализа использует атрибут импеданса, который не основывается ни на времени, ни на расстоянии. Единицы измерения для этих атрибутивных значений будут интерпретироваться как неизвестные. TargetFacilityCount Количество пунктов обслуживания, которое необходимо найти для данного инцидента. Это поле позволяет задать различное количество пунктов обслуживания, которое следует найти для каждого инцидента. Например, используя это поле, можно найти три ближайших пункта обслуживания к одному инциденту и два - к другому. Cutoff Значение импеданса, при котором следует прекратить поиск пунктов обслуживания для данного инцидента. Этот атрибут позволяет задавать различные предельные значения для каждого инцидента. Например, можно использовать этот атрибут для поиска пунктов обслуживания в пределах пяти минут пути от одного инцидента и в пределах восьми минут от другого. CurbApproach Указывает направление, в котором транспортное средство может подъехать или отъехать от инцидента. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда инцидент находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к инциденту, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к инциденту так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. Bearing Направление, в котором движется точка. Единицами измерения являются градусы, отсчитываются по часовой стрелке от истинного севера. Данное поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. Более подробно о направлении и допуске направления BearingTol Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое положение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. Более подробно о направлении и допуске направления NavLatency Данное поле используется при расчете только, если для Bearing и BearingTol также введены значения; при этом ввод значения NavLatency является необязательным, даже если для Bearing и BearingTol заданы значения. NavLatency показывает, сколько, предположительно, проходит времени между отправкой данных GPS от движущегося транспортного средства на сервер и моментом, когда обработанный маршрут поступает на навигационное устройство транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Feature Set |
Facilities |
Местоположения, которые будут использованы в качестве начальных или конечных точек в анализе ближайшего пункта обслуживания. Вы можете указать один или несколько пунктов обслуживания (до 5 000). Это местоположения, которые оцениваются при поиске ближайших пунктов обслуживания. При указании пунктов обслуживания вы можете задать свойства каждого из них, такие как имя или время обслуживания, с помощью атрибутов: Name Имя пункта обслуживания. Имя используется в путевом листе. Если имя не указано, в выходных маршрутах и путевом листе автоматически создается уникальное имя с префиксом Location. ID Уникальный идентификатор пункта обслуживания. Идентификатор включается в выходные данные маршрутов и в выходные данные ближайших пунктов обслуживания как поле FacilityID. Поле FacilityID можно использовать для присоединения дополнительной информации из выходных маршрутов, такой как общее время езды или общее расстояние, к атрибутам из ваших пунктов обслуживания. Если ID не указан, сервис автоматически создает уникальный идентификатор для каждого инцидента. AdditionalTime Время, затраченное в пункте обслуживания, которое добавляется к общему времени маршрута. По умолчанию значение равно 0. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута включается в анализ, только когда единицами измерения являются единицы времени. Если вы ищете пожарные части, ближайшие к инцидентам пожара, атрибут AdditionalTime может хранить время, требующееся пожарным для того, чтобы надеть защитное снаряжение и выехать из пожарной части. AdditionalDistance Дополнительное расстояние, пройденное машинами в пункте обслуживания, которое добавляется к общей протяженности маршрута. По умолчанию значение равно 0. Единицы измерения для этого атрибута задаются параметром Единицы измерения. Значение атрибута включается в анализ, только когда единицами измерения являются единицы расстояния. Как правило, такие пункты обслуживания, как пожарная часть, находятся не совсем на улице, а несколько в стороне от дороги. AdditionalDistance может моделировать расстояние между фактическим местоположением пункта обслуживания и его расположением на улице, если важно включить это расстояние в общую протяженность пути. AdditionalCost Дополнительная стоимость, потраченная в пункте обслуживания, которая добавляется к общей стоимости маршрута. По умолчанию значение равно 0. Это значение атрибута должно использоваться, когда режим передвижения для анализа использует атрибут импеданса, который не основывается ни на времени, ни на расстоянии. Единицы измерения для этих атрибутивных значений будут интерпретироваться как неизвестные. Cutoff Значение импеданса, при котором следует прекратить поиск инцидентов для данного пункта обслуживания. Этот атрибут позволяет задавать различные предельные значения для каждого пункта обслуживания. Например, можно использовать этот атрибут для поиска инцидентов в пределах пяти минут пути от одного пункта обслуживания и в пределах восьми минут от другого. CurbApproach Указывает направление, в котором транспортное средство может подъехать и отъехать от пункта обслуживания.
Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к пункту обслуживания так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. Bearing Направление, в котором движется точка. Единицами измерения являются градусы, отсчитываются по часовой стрелке от истинного севера. Данное поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. Более подробно о направлении и допуске направления BearingTol Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое положение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. Более подробно о направлении и допуске направления NavLatency Данное поле используется при расчете только, если для Bearing и BearingTol также введены значения; при этом ввод значения NavLatency является необязательным, даже если для Bearing и BearingTol заданы значения. NavLatency показывает, сколько, предположительно, проходит времени между отправкой данных GPS от движущегося транспортного средства на сервер и моментом, когда обработанный маршрут поступает на навигационное устройство транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Feature Set |
Measurement_Units | Задает единицы, которые должны использоваться для измерения и указания общей продолжительности или протяженности пути для выходных маршрутов. Инструмент находит ближайший пункт обслуживания, измеряя продолжительность или протяженность пути вдоль улиц. Единицы, выбранные для этого параметра, определяют, будет ли инструмент измерять протяженность или продолжительность пути для нахождения ближайшего пункта обслуживания. Выберите единицу времени для измерения продолжительности пути. Для измерения протяженности пути выберите единицу расстояния. Ваш выбор также определяет единицы измерения, которые инструмент будет использовать также для указания общей продолжительности или протяженности пути в результатах.
| String |
Analysis_Region (Дополнительный) | Регион, в котором будет выполняться анализ. Если значение этого параметра не указано, инструмент автоматически вычислит имя региона на основе местоположения входных точек. Задание имени региона необходимо только в случае, если для ваших входных данных не подходит автоматическое определение названия региона. Чтобы задать регион используйте одно из следующих значений:
| String |
Number_of_Facilities_to_Find (Дополнительный) | Число ближайших пунктов обслуживания, которые нужно найти для каждого инцидента. Это удобно в ситуациях, когда при пожаре нужно несколько пожарных команд из нескольких пожарных станций. Вам может, например, понадобиться найти три пожарные части, находящиеся ближе всего к месту пожара. Значение, заданное для этого параметра, может быть переопределено на уровне инцидента, используя поле TargetFacilityCount входных инцидентов. Инструмент может находить до 100 пунктов обслуживания для каждого инцидента. | Long |
Cutoff (Дополнительный) | Продолжительность или протяженность пути, при которых следует прекратить поиск пунктов обслуживания для данного инцидента. Например, при нахождении ближайших к месту происшествия больниц, значение отсечки 15 минут означает, что инструмент выполнит поиск ближайшей больницы в пределах 15 минутах езды от инцидента. Если ближайшая больница находится в 17 минутах езды, поиск ближайшего пункта обслуживания не даст никаких результатов. Предельное значение особенно полезно для поиска нескольких пунктов обслуживания. Если параметр Направление движения установлен как От пункта обслуживания к инциденту, предельное значение может быть переопределено для каждого пункта обслуживания при помощи поля Cutoff входных пунктов обслуживания. Если параметр Направление движения установлен как От инцидента к пункту обслуживания, предельное значение может быть переопределено для каждого инцидента при помощи поля Cutoff входных инцидентов. Единицы измерения этого свойства задаются параметром Единицы измерения. | Double |
Travel_Direction (Дополнительный) | Определяет, как будет измеряться направление движения при поиске ближайшего пункта обслуживания.
В зависимости от того, какое значение параметра используется, найденные пункты обслуживания могут различаться, поскольку время езды по некоторым улицам может зависеть от направления движения и односторонних ограничений. Например, объект может располагаться в 10 минутах езды по направлению от инцидента к пункту обслуживания, но в 15 минутах езды при движении от пункта обслуживания до инцидента из-за другого времени в пути в обратном направлении. Если вы указываете значение для Времени суток, опции От пункта обслуживания к инциденту и От инцидента к пункту обслуживания также могут дать различные результаты из-за разницы в условиях дорожного движения. Пожарные части, как правило, используют для этого параметра значение От пункта обслуживания к инциденту, поскольку их интересует, как быстро они смогут доехать от пожарной части (пункта обслуживания) к месту происшествия (инциденту). Для магазинов розничной торговли (пунктов обслуживания) важнее знать, как быстро покупатели (инциденты) смогут доехать до магазина (пункта обслуживания), поэтому магазины обычно выбирают От инцидента к пункту обслуживания. | String |
Use_Hierarchy (Дополнительный) | Определяет, должна ли использоваться иерархия при нахождении лучшего маршрута между пунктом обслуживания и инцидентом.
Инструмент автоматически начинает использовать иерархию, если расстояние по прямой между пунктами обслуживания и инцидентами превышает 50 миль, даже если параметр задан как Не отмечено (False в Python). | Boolean |
Time_of_Day (Дополнительный) | Время и дату начала или окончания маршрутов. Значение используется как время начала или время окончания маршрута, в зависимости от значения параметра Использование времени суток Если вы указываете в качестве значения этого параметра текущие дату и время, инструмент будет использовать при нахождении ближайших пунктов обслуживания текущие условия дорожного движения, и общее время пути будет учитывать условия дорожного движения. Указание времени суток позволяет более точно оценить время езды между инцидентом и пунктом обслуживания, поскольку будут учтены условия дорожного движения в конкретный час и день. Параметр Часовой пояс для времени суток (Time Zone for Time of Day) определяет, как будут указываться время и дата, в UTC или в часовом поясе, в котором находятся пункт обслуживания или инцидент. | Date |
Time_of_Day_Usage (Дополнительный) | Указывает, является ли значение параметра Время суток временем отправления или временем прибытия.
| String |
UTurn_at_Junctions (Дополнительный) | Определяет поведение при развороте на перекрестках. При разрешении U-образных разворотов неявно предполагается, что механизм расчета позволяет разворот на соединении и продолжение движения по той же улице в обратную сторону. Учитывая, что соединения представляют собой пересечения улиц и тупики, различные транспортные средства могут разворачиваться на некоторых соединениях, но не на всех – это зависит от того, является ли соединение перекрестком или тупиком. Чтобы учесть это, поведение при развороте неявно определяется числом ребер, которые соединяются с соединением, т.е. валентностью соединения. Ниже приведены допустимые значения для данного параметра; каждое из них сопровождается описанием значения в терминах валентности соединения.
Этот параметр игнорируется, если только для Режима передвижения не выбрано Пользовательский. | String |
Point_Barriers (Дополнительный) |
Используйте этот параметр для указания одной или нескольких точек, действующих в качестве временных ограничений или представляющих дополнительное время или расстояние, которые могут потребоваться для передвижения по улицам. Например, точечный барьер может быть использован для обозначения упавшего дерева или для ввода времени ожидания на железнодорожном переезде. Инструмент может накладывать до 250 ограничений, точек, добавленных в качестве барьеров. При указании точечных барьеров вы можете задать свойства каждого из них, такие как имя или тип барьера, с помощью атрибутов: Name Имя барьера. BarrierType Указывает, ограничивает ли точечный барьер перемещение полностью или добавляет время или расстояние при его пересечении. Значение этого атрибута указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Additional_Time Время поездки, которое добавляется при прохождении барьера. Это поле применимо только для барьеров с добавленной стоимостью и когда значение параметра Единицы измерения основано на времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения должны соответствовать заданным в параметре Единицы измерения. Additional_Distance Расстояние, которое добавляется при прохождении барьера. Это поле применимо только для барьеров с добавленной стоимостью и когда значение параметра Единицы измерения основано на расстоянии. Значение этого поля должно быть больше или равно нулю, а его единицы измерения должны соответствовать заданным в параметре Единицы измерения. AdditionalCost Стоимость поездки, которая добавляется при прохождении барьера. Это поле применимо только для барьеров с добавленной стоимостью, когда значение параметра Единицы измерения не основано ни на времени, ни на расстоянии. FullEdge Указывает, как ограничительные точечные барьеры применяются к элементам ребер во время анализа. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
CurbApproach Указывает направление движения, на которое влияет барьер. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Так как соединения являются точками и не имеют сторон, барьеры на соединениях влияют на все транспортные средства независимо от стороны подъезда. Атрибут CurbApproach работает с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к пункту обслуживания так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. Bearing Направление, в котором движется точка. Единицами измерения являются градусы, отсчитываются по часовой стрелке от истинного севера. Данное поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. Более подробно о направлении и допуске направления BearingTol Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое положение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. Более подробно о направлении и допуске направления NavLatency Данное поле используется при расчете только, если для Bearing и BearingTol также введены значения; при этом ввод значения NavLatency является необязательным, даже если для Bearing и BearingTol заданы значения. NavLatency показывает, сколько, предположительно, проходит времени между отправкой данных GPS от движущегося транспортного средства на сервер и моментом, когда обработанный маршрут поступает на навигационное устройство транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Feature Set |
Line_Barriers (Дополнительный) |
Используйте этот параметр, чтобы указать одну или несколько линий, которые запрещают передвижение там, где они пересекают улицы. Например, при помощи линейного барьера можно смоделировать маршрут парада или марша протеста, которые препятствуют движению по нескольким участкам улиц. Линейный барьер может также быстро запретить пересечение нескольких дорог, отделяя, таким образом, возможный маршрут от нежелательных участков уличной сети. Инструмент накладывает ограничение на количество улиц, которое вы можете ограничить с помощью параметра Линейные барьеры. Хотя лимита на число линий, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми линиями, не должно превышать 500. При указании линейных барьеров вы можете задать свойства имени и типа барьера для каждого из них с помощью атрибутов: Name Имя барьера. | Feature Set |
Polygon_Barriers (Дополнительный) |
Используйте этот параметр, чтобы указать полигоны, которые либо полностью запрещают передвижение, либо пропорционально масштабируют время или расстояние, необходимые для передвижения по улицам, пересекаемым полигоном. Сервис накладывает ограничение на количество улиц, которые вы можете ограничить с помощью параметра Полигональные барьеры. Хотя количество полигонов, которые вы можете указать в качестве полигональных барьеров, не ограничено, общее количество улиц, пересекаемых всеми полигонами, не может превышать 2 000. При указании точечных барьеров вы можете задать свойства каждого из них, такие как имя или тип барьера, с помощью атрибутов: Name Имя барьера. BarrierType Указывает, ограничивает ли прохождение через барьер перемещение полностью или масштабирует стоимость перемещения (например время или расстояние). Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
ScaledTimeFactor Это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Значение поля должно быть больше нуля. Это поле применимо только для барьеров масштабируемой стоимости и только в том случае, если режим передвижения, используемый для анализа, использует атрибут импеданса, основанный на времени. ScaledDistanceFactor Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле применимо только для барьеров масштабируемой стоимости и только в том случае, если режим передвижения, используемый для анализа, использует атрибут импеданса, основанный на расстоянии. ScaledCostFactor Это коэффициент, на который умножается стоимость пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле применимо только для барьеров масштабируемой стоимости и только в том случае, если режим передвижения, используемый для анализа, использует атрибут импеданса, основанный ни на времени, ни на расстоянии. | Feature Set |
Restrictions [Restrictions,...] (Дополнительный) | Ограничения, которые должны учитываться инструментом при нахождении наилучшего маршрута. Ограничение представляет собой предпочтение или требование во время поездки. В большинстве случаев ограничения запрещают использование тех или иных дорог. Например, использование ограничения Избегать платных дорог приведет к тому, что платные дороги будут использоваться, только если это абсолютно необходимо для подъезда к инциденту или пункту обслуживания. Ограничение по высоте позволяет прокладывать маршрут в обход всех объектов с пролетами, меньшими, чем высота транспортного средства. Если транспортное средство перевозит коррозионные вещества, применение ограничения Any Hazmat Prohibited (Вредные вещества запрещены) предотвратит перевозку таких материалов по тем дорогам, по которым это запрещено. Инструмент поддерживает следующие ограничения:
| String |
Attribute_Parameter_Values (Дополнительный) | Используйте этот параметр для указания дополнительных значений, требуемых атрибутом или ограничением, например для указания того, применяется ли ограничение как полный или рекомендуемый запрет либо как предпочтение путешествовать по дорогам с ограниченным движением. Если ограничение означает нежелательность или предпочтительность использования дороги, вы можете дополнительно указать с помощью этого параметра степень нежелательности или предпочтительности. Например, вы можете установить для платных дорог правило никогда их не использовать, по возможности избегать или наоборот, отдавать им предпочтение. Если вы задаете параметр Значения атрибутивного параметра из класса пространственных объектов, имена полей класса пространственных объектов должны соответствовать следующим:
Параметр Значения Параметра атрибутов зависит от параметра Ограничения. Поле ParameterValue применяется, только если в качестве значения параметра Ограничения указано имя ограничения. В параметре Значения Параметра атрибутов каждое ограничение (указанное, как AttributeName) содержит значение поля ParameterName, Использование ограничения, определяющее запрет, нежелательность или предпочтительность использования дорог, для которых установлено ограничение, а также степень нежелательности или предпочтительности использования дорог. Поле Использование ограничения ParameterName может иметь одно из следующих строковых значений или эквивалентных числовых значений, указанных в скобках:
Как правило, для поля Использование ограничения используется значение по умолчанию, PROHIBITED, если ограничение связано с характеристиками транспортного средства, например, с его высотой. Однако в некоторых случаях значение поля Использование ограничения будет зависеть от ваших предпочтений при выборе маршрута. Например, для ограничения Избегать платных дорог параметр Использование ограничения имеет по умолчанию значение AVOID_MEDIUM. Это означает, что, при наличии данного ограничения инструмент будет по возможности избегать использования платных дорог при построении маршрута. Значение AVOID_MEDIUM также указывает, насколько важно избегать использования платных дорог при поиске лучшего маршрута: это ограничение имеет средний приоритет. При выборе AVOID_LOW исключение платных дорог из маршрута будет иметь меньшее значение, а при выборе AVOID_HIGH – большее, поэтому сервис будет создавать более длинные маршруты, чтобы по возможности избежать использования платных дорог. При выборе PROHIBITED использование платных дорог будет полностью запрещено, и сервис не сможет включать их даже частично в маршрут. Имейте в виду, что в некоторых ситуациях важно избежать или запретить платные дороги, чтобы избежать платы за проезд. И наоборот, другие предпочитают ездить по платным дорогам, потому что движение без пробок для них более ценно, чем деньги, потраченные на платные дороги. В последнем случае для параметра Использование ограничения следует выбрать значения PREFER_LOW, PREFER_MEDIUM или PREFER_HIGH. Чем выше предпочтительность, тем в большей степени маршрут будет проходить по дорогам с этим ограничением. | Record Set |
Route_Shape (Дополнительный) | Укажите тип объектов маршрута, получаемых на выходе инструмента.
Когда параметр Геометрия маршрута имеет значение Истинная форма или Истинная форма с измерениями, генерализацией формы маршрута можно дополнительно управлять, выбирая значение для параметра Допуск упрощения линии маршрута. Независимо от выбранного значения параметра Геометрия маршрута, лучший маршрут определяется всегда на основе минимальной продолжительности или протяженности пути, а не на основе расстояния по прямой между остановками. Это значит, что изменяются только формы маршрута, а не исходные улицы, которые перебирает инструмент при нахождении маршрута. | String |
Route_Line_Simplification_Tolerance (Дополнительный) | Расстояние, которое будет использоваться для упрощения геометрии выходных линий маршрутов и путевых листов. Инструмент игнорирует этот параметр, если значение параметра Геометрия маршрута отличается от Истинная форма. При упрощении сохраняются важнейшие точки на маршруте, например, повороты и перекрестки, составляющую основную форму маршрута, а остальные точки удаляются. Указываемое вами расстояние упрощения является максимальным допустимым смещением упрощенной линии от исходной. Упрощение линии сокращает количество вершин в геометрии маршрута. Это ускоряет работу инструмента. | Linear Unit |
Populate_Directions (Дополнительный) | Укажите, должен ли инструмент создавать путевой лист для каждого маршрута.
| Boolean |
Directions_Language (Дополнительный) | Язык, на котором должен создаваться путевой лист. Этот параметр используется, только если параметр Заполнить путевой лист отмечен (True в Python). Значениями параметра могут быть следующие двух- или пятисимвольные коды языка:
Сначала инструмент ищет точное соответствие для заданного языка, включая любую локализацию. Если не нашлось точного соответствия, будет выполнена попытка найти соответствие в пределах языковой семьи. Если соответствие не будет найдено, инструмент возвращает путевой лист на английском языке, являющемся языком по умолчанию. К примеру, если установлен язык путевого листа es-MX (мексиканский испанский), инструмент возвратит путевой лист на испанском, так как поддерживает код языка es и не поддерживает es-MX. | String |
Directions_Distance_Units (Дополнительный) | Укажите единицы измерения для отображения расстояний в путевом листе. Этот параметр используется, только если параметр Заполнить путевой лист отмечен (True в Python).
| String |
Directions_Style_Name (Дополнительный) | Укажите имя стиля форматирования для путевого листа. Этот параметр используется, только если параметр Заполнить путевой лист отмечен (True в Python).
| String |
Time_Zone_for_Time_of_Day (Дополнительный) | Указывает часовой пояс параметра Время суток.
Независимо от значения параметра Часовой пояс для времени суток, в случае если ваши пункты обслуживания и инциденты находятся в нескольких часовых поясах, инструмент применяет следующие правила. Все инциденты и пункты обслуживания должны быть в одном и том же часовом поясе для следующих случаев:
| String |
Travel_Mode (Дополнительный) | Задайте режим передвижения для модели анализа. Режимы передвижения настраиваются в ArcGIS Online и могут изменяться администратором вашей организации в целях лучшего соответствия рабочим процессам вашей организации. Вам требуется указать имя режима передвижения, поддерживаемого вашей организацией. Для получения списка имен поддерживаемых режимов передвижения используйте то же подключение к ГИС-серверу, которое вы использовали для доступа к этому инструменту, и в наборе инструментов Утилиты запустите инструмент GetTravelModes. Инструмент GetTravelModes добавляет в приложение таблицу Поддерживаемых режимов передвижения. В качестве входных данных можно задать любое значение в поле Travel Mode Name таблицы Поддерживаемые режимы передвижения. Вы также можете указать в качестве входного значение из поля Travel Mode Settings. Это ускорит выполнение инструмента, поскольку инструмент не будет искать настройки на основании имени режима передвижения. Пользовательский (значение по умолчанию) – позволяет настроить собственный режим передвижения при помощи параметров этого режима (Развороты в соединениях, Использовать иерархию, Ограничения, Значения Параметров атрибутов и Импеданс). Значения по умолчанию для модели параметров пользовательского режима передвижения на легковом автомобиле. Также можно выбрать Пользовательский и задать указанные выше параметры пользовательского режима передвижения для моделирования быстрой пешей ходьбы или передвижения грузового автомобиля с определенными габаритными (по высоте) и весовыми характеристиками, загруженного определенным опасным грузом. Можете попробовать различные настройки для получения нужных вам результатов анализа. После определения настроек анализа вам необходимо связаться с администратором вашей организации и сохранить эти настройки как часть нового или существующего режима передвижения, чтобы любой пользователь вашей организации мог перезапустить анализ с такими же настройками. | String |
Impedance (Дополнительный) | Задайте импеданс – значение, представляющее затраты или стоимость перемещения вдоль сегментов дорог или других частей транспортной сети. Время в пути - это импеданс: для того чтобы проехать 1 милю по пустой дороге, машине может понадобиться минута. Время в пути может зависеть от режима перемещения: ту же милю пешеход пройдет за 20 минут, поэтому важно выбрать правильный импеданс для моделируемого режима. Расстояние перемещения – это импеданс; длина дороги в километрах рассматривается как импеданс. В этом смысле расстояние аналогично для всех режимов – километр останется километром и для пешехода, и для машины. (Что может измениться, так это пути, по которым разрешено перемещаться в различных режимах, что влияет на расстояние между точками и моделируется настройками режима передвижения.)
При выборе импенданса на основе времени, такого как TravelTime, TruckTravelTime, Minutes, TruckMinutes или WalkTime, параметру Единицы граничных значений необходимо задать значение на основе времени; при выборе импеданса на основе расстояния, такого как Miles, Kilometers, Единицы граничных значений должны быть основаны на расстоянии. | String |
Save_Output_Network_Analysis_Layer (Дополнительный) | Указывает, будут ли параметры анализа сохранены в виде файла слоя сетевого анализа. Вы не можете работать с этим файлом напрямую, даже если вы откроете его в приложении ArcGIS Desktop, например, в ArcMap. Это предназначено для отправки в техническую поддержку Esri для диагностики качества результатов, получаемых инструментом.
| Boolean |
Overrides (Дополнительный) | Задает дополнительные опции, которые смогут повлиять на выполнение расчета, если будут найдены решения для задач сетевого анализа. Значение этого параметра должно быть задано в JavaScript Object Notation (JSON). К примеру, корректным значением является следующее: {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Замещающее имя всегда заключено в двойные кавычки. Эти значения могут быть числовыми, булевыми или текстовыми. Значение по умолчанию является пустым, что означает отсутствие замещения каких-либо настроек расчета. Замещения - дополнительные настройки, которые должны применяться только по итогам выполнения тщательного анализа результатов, которые будут получены до и после применения таких настроек. Чтобы получить список поддерживаемых параметров переопределения для каждого расчета и их допустимых значений, обратитесь в службу технической поддержки Esri. | String |
Save_Route_Data (Дополнительный) | Указывает, будут ли выходные данные включать файл .zip, содержащий базу геоданных, в которой хранятся входные и выходные данные анализа в формате, который может быть использован для дальнейшей публикации слоев маршрутов на ArcGIS Online или Portal for ArcGIS.
| Boolean |
Time_Impedance (Дополнительный) | Импеданс на основе времени - это значение, которое задает время перемещения вдоль сегментов дорог или других частей транспортной сети.
| String |
Distance_Impedance (Дополнительный) | Импеданс на основе расстояния - это значение, которое задает расстояние перемещения вдоль сегментов дорог или других частей транспортной сети.
| String |
Output_Format (Дополнительный) | Определяет формат, в котором будут созданы выходные объекты.
Если указан формат выхода на основе файла, такой как файл JSON или файл GeoJSON, выходные данные не будут добавлены к отображению, потому что приложение, такое как ArcMap или ArcGIS Pro, не может отобразить содержание файла результатов. Напротив, файл загружается в временную директорию вашего компьютера. В ArcGIS Pro местоположение загруженного файла можно определить, просмотрев значение параметра Выходной результирующий файл в соответствующей строке отчета о выполнении инструмента в истории геообработки на панели проект. В ArcMap местоположение загруженного файла можно определить с помощью опции Копировать местоположение ниспадающего меню параметра Выходной результирующий файл в соответствующей строке отчета о выполнении инструмента в окне Результаты геообработки. | String |
Ignore_Invalid_Locations (Дополнительный) | Указывает, будут ли игнорироваться неверные входные местоположения.
| Boolean |
Производные выходные данные
Имя | Объяснение | Тип данных |
Solve_Succeeded | Означает, был ли анализ ближайшего пункта обслуживания успешен. | Boolean |
Output_Routes | Предоставляет доступ к итоговому маршруту или маршрутам между пунктами обслуживания и инцидентами. | Feature Set |
Output_Directions | Обеспечивает доступ к пошаговому путевому листу для каждого маршрута. | Feature Set |
Output_Closest_Facilities | Обеспечивает доступ к выходным пунктам обслуживания из анализа ближайшего пункта обслуживания. | Feature Set |
Output_Network_Analysis_Layer | Слой сетевого анализа со свойствами, как настроенные в параметрах инструмента, который может использоваться для дальнейшего анализа или исправления ошибок на карте. | File |
Output_Route_Data | Файл .zip, содержащий всю информацию для определенного маршрута. | File |
Output_Incidents | Предоставляет доступ к местоположениям, используемым в качестве начальных или конечных точек в анализе ближайшего пункта обслуживания. | Feature Set |
Output_Facilities | Пункты обслуживания, использованные в анализе. | Feature Set |
Output_Result_File | Файл .zip, содержащий результаты анализа с одним или несколькими файлами для каждого выхода. Формат отдельного файла задается параметром Выходной формат. | File |
Output_Network_Analysis_Layer_Package | Пакет слоев, который включает слой сетевого анализа с данными и настройками, используемыми в анализе. | File |
Output_Direction_Points | Этот параметр обеспечивает доступ к пошаговым направлениям для маршрутов, вычисленных в ходе анализа, представленных в виде точечных местоположений вдоль маршрутов, где происходят определенные события или маневры. | Feature Set |
Output_Direction_Lines | Этот параметр обеспечивает доступ к линиям маршрута, вычисленным в ходе анализа так, чтобы представить каждый сегмент маршрута между местоположениями событий или маневров. | Feature Set |
Пример кода
Пример FindClosestFacilities (автономный скрипт)
Следующий скрипт Python демонстрирует, как использовать инструмент FindClosestFacilities в скрипте.
"""This example shows how to find three closest stores from each customer location."""
import sys
import time
import arcpy
# Change the username and password applicable to your own ArcGIS Online account
username = "<your user name>"
password = "<your password>"
cf_service = "https://logistics.arcgis.com/arcgis/services;World/ClosestFacility;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
# Check https://pro.arcgis.com/en/pro-app/arcpy/functions/importtoolbox.htm for
# other ways in which you can specify credentials to connect to a geoprocessing service.
arcpy.ImportToolbox(cf_service)
# Set the variables to call the tool
facilities = "C:/data/Inputs.gdb/Stores"
incidents = "C:/data/Inputs.gdb/Customers"
output_routes = "C:/data/Results.gdb/Routes"
output_closest_facilities = "C:/data/Results.gdb/ClosestStores"
# Call the tool
result = arcpy.FindClosestFacilities_ClosestFacility(incidents, facilities, "Minutes", "", 3)
arcpy.AddMessage("Running the analysis with result ID: {}".format(result.resultID))
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the output routes and the closest facilities to a geodatabase
result.getOutput(0).save(output_routes)
result.getOutput(3).save(output_closest_facilities)
Параметры среды
Этот инструмент не использует параметры среды геообработки