Найти ближайшие пункты обслуживания (Network Analyst)

Уровень лицензии:BasicStandardAdvanced

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

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

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

ПримечаниеПримечание:

Инструменты Найти ближайшие пункты обслуживания (Find Closest Facilities) и Создать слой ближайших пунктов обслуживания (Make Closest Facility Layer) похожи, но предназначены для различных целей. Используйте при настройке сервиса геообработки Найти ближайшие пункты обслуживания (Find Closest Facilities); это упрощает процесс настройки. Либо воспользуйтесь инструментом Создать слой ближайших пунктов обслуживания (Make Closest Facility Layer).

Для создания сервиса геообработки ближайших пунктов обслуживания с использованием инструмента Найти ближайшие пункты обслуживания вам необходимо только настроить один инструмент и опубликовать инструмент напрямую, как сервис. Иначе вам необходимо создать модель при помощи инструмента Создать слой ближайших пунктов обслуживания, правильно подключить ее к различным другим инструментам и опубликовать модель для создания сервиса геообработки ближайших пунктов обслуживания. О том, как создать сервис ближайших пунктов обслуживания с использованием учебных данных см. в разделе Обзор примеров сервисов геообработки ArcGIS Network Analyst. Можно также использовать сервис ближайших пунктов обслуживания ArcGIS Online. Это сервис, который запускается как инструмент геообработки в ArcMap, доступен через другие приложения и содержит высококачественные данные дорог на весь мир.

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

Синтаксис

FindClosestFacilities_na (Incidents, Facilities, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Routes_Name, Output_Directions_Name, Output_Closest_Facilities_Name, {Number_of_Facilities_to_Find}, {Default_Cutoff}, {Travel_Direction}, {Time_of_Day}, {Time_of_Day_Usage}, {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}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {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_Incidents}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer})
ПараметрОбъяснениеТип данных
Incidents

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

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

OBJECTID – Управляемое системой поле ID.

SHAPE – Поле геометрии, указывающее географическое местоположение инцидента.

Имя (Name) – Имя инцидента. Имя используется в путевом листе. Если имя не указано, в выходных маршрутах и путевом листе автоматически создается уникальное имя с префиксом Location.

ID – Уникальный идентификатор инцидента. Идентификатор включается в выходные маршруты (как поле IncidentID) и помогает присоединить дополнительную информацию из выходных маршрутов, такую как общее время езды или общее расстояние, к атрибутам из ваших инцидентов и наоборот. Если ID не указан, сервис автоматически создает уникальный идентификатор для каждого инцидента.

AdditionalTime – Количество времени, затраченное на месте инцидента, которое добавляется к общему времени маршрута. Единицы для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута включается в анализ, только когда единицами измерения являются единицы времени. По умолчанию значение равно 0.

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

AdditionalDistance – Дополнительное расстояние, пройденное машинами на месте происшествия, которое добавляется к общей протяженности маршрута. Единицы для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута включается в анализ, только когда единицами измерения являются единицы расстояния. По умолчанию значение равно 0.

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

CurbApproach – Указывает направление, в котором транспортное средство может подъехать или отъехать от инцидента. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):

  • 0 (Любая сторона транспортного средства) – Транспортное средство может подъезжать и отъезжать от инцидента в любом направлении, поэтому в месте инцидента разрешен разворот. Данный параметр можно выбрать, если для транспортного средства возможно и желательно развернуться в месте инцидента. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия на месте инцидента стоянки, где транспортное средство может выполнить разворот.
  • 1 ( Правая сторона транспортного средства) – Когда транспортное средство подъезжает или отъезжает от инцидента, он должен находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Левая сторона транспортного средства) – Когда транспортное средство подъезжает и отъезжает от инцидента, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Без разворота) – При подъезде транспортного средства к инциденту бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда инцидент находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к инциденту, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к инциденту так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

Feature Set
Facilities

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

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

Имя (Name) – Имя пункта обслуживания. Имя используется в путевом листе. Если имя не указано, в выходных маршрутах и путевом листе автоматически создается уникальное имя с префиксом Location.

ID – Уникальный идентификатор пункта обслуживания. Идентификатор включается в выходные данные маршрутов и выходные ближайших пунктов обслуживания (поля FacilityID). Поле FacilityID можно использовать для присоединения дополнительной информации из выходных маршрутов, такой как общее время езды или общее расстояние, к атрибутам из ваших пунктов обслуживания. Если ID не указан, сервис автоматически создает уникальный идентификатор для каждого пункта обслуживания.

AdditionalTime – Количество времени, затраченное в пункте обслуживания, которое добавляется к общему времени маршрута. Единицы для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута включается в анализ, только когда единицами измерения являются единицы времени. По умолчанию значение равно 0.

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

AdditionalDistance – Дополнительное расстояние, пройденное машинами в пункте обслуживания, которое добавляется к общей протяженности маршрута. Единицы для этого атрибута задаются параметром Единицы измерения (Measurement Units). Значение атрибута включается в анализ, только когда единицами измерения являются единицы расстояния. По умолчанию значение равно 0.

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

CurbApproach: Указывает направление, в котором транспортное средство может подъехать или отъехать от пункта обслуживания. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):

  • 0 (Любая сторона транспортного средства) – Транспортное средство может подъезжать и отъезжать от пункта обслуживания в любом направлении, поэтому в пункте обслуживания разрешен разворот. Данный параметр можно выбрать, если для транспортного средства возможно и желательно развернуться в пункте обслуживания. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия в пункте обслуживания места для стоянки, где транспортное средство может выполнить разворот.
  • 1 ( Правая сторона транспортного средства) – Когда транспортное средство подъезжает или отъезжает от пункта обслуживания, он должен находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Левая сторона транспортного средства) – Когда транспортное средство подъезжает и отъезжает от пункта обслуживания, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Без разворота) – При подъезде транспортного средства к пункту обслуживания бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, если необходимо подъехать к пункту обслуживания так, чтобы он не был отделен от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

Feature Set
Measurement_Units

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

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

  • Метры
  • Километры
  • Футы
  • Ярды
  • Мили
  • Морские мили
  • Секунды (Seconds)
  • Минуты (Minutes)
  • Часы (Hours)
  • Дни (Days)

Инструмент использует сетевой атрибут стоимости, заданный параметром Атрибут времени (Time Attribute) или параметром Атрибут расстояния (Distance Attribute), в зависимости от того, какие единицы измерения выбраны: времени или расстояния.

Инструмент выполняет необходимые преобразования единиц в том случае, если значение параметра Единицы измерения (Measurement Units) отличается от единиц соответствующего атрибута стоимости времени или расстояния.

String
Network_Dataset

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

Network Dataset Layer
Output_Geodatabase

Выходная рабочая область. Рабочая область должна существовать. Выходная рабочая область по умолчанию: in_memory.

Workspace
Output_Routes_Name

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

Выходные данные инструмента Найти ближайшие пункты обслуживания (Find Closest Facilities) описывает схему этого выходного класса пространственных объектов.

String
Output_Directions_Name

Имя выходного класса пространственных объектов, содержащего путевой лист.

Выходные данные инструмента Найти ближайшие пункты обслуживания (Find Closest Facilities) описывает схему этого выходного класса пространственных объектов.

String
Output_Closest_Facilities_Name

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

Выходные данные инструмента Найти ближайшие пункты обслуживания (Find Closest Facilities) описывает схему этого выходного класса пространственных объектов.

String
Number_of_Facilities_to_Find
(дополнительно)

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

Если вы создаете с помощью этого инструмента сервис и хотите лимитировать использование ресурсов сервера, например, время обработки, ограничьте с помощью параметра Максимальное число выходных пунктов обслуживания (Maximum Facilities to Find) число пунктов обслуживания, которое пользователь может указать в поле Число выходных пунктов обслуживания (Number of Facilities to Find).

Long
Default_Cutoff
(дополнительно)

Укажите продолжительность или протяженность пути, при которых следует прекратить поиск пунктов обслуживания для данного инцидента. Например, при нахождении ближайших к месту происшествия больниц, значение отсечки 15 минут означает, что инструмент выполнит поиск ближайшей больницы в пределах 15 минутах езды от инцидента. Если ближайшая больница находится в 17 минутах езды, поиск ближайшего пункта обслуживания не даст никаких результатов. Предельное значение особенно полезно для поиска нескольких пунктов обслуживания.

Единицы измерения этого свойства задаются параметром Единицы измерения (Measurement Units).

Double
Travel_Direction
(дополнительно)

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

  • TRAVEL_FROMНаправление движения от пункта обслуживания к инциденту.
  • TRAVEL_TOНаправление движения от инцидента к пункту обслуживания.

В зависимости от того, какое значение параметра используется, найденные пункты обслуживания могут различаться, поскольку время езды по некоторым улицам может зависеть от направления движения и односторонних ограничений. Например, объект может располагаться в 10 минутах езды по направлению от инцидента к пункту обслуживания, но в 15 минутах езды при движении от пункта обслуживания до инцидента из-за другого времени в пути. Если вы указываете значение для Времени суток (Time of Day), опции От пункта обслуживания к инциденту (Facility to Incident) и От инцидента к пункту обслуживания (Incident to Facility) также могут дать различные результаты из-за разницы в условиях дорожного движения.

Пожарные части, как правило, используют для этого параметра значение От пункта обслуживания к инциденту (Facility to Incident), поскольку их интересует, как быстро они смогут доехать от пожарной части (пункта обслуживания) к месту происшествия (инциденту). Для магазинов розничной торговли (пунктов обслуживания) важнее знать, как быстро покупатели (инциденты) смогут доехать до магазина, поэтому магазины обычно выбирают значение От инцидента к пункту происшествия (Incident to Facility).

String
Time_of_Day
(дополнительно)

Указывает время и дату начала или окончания маршрутов. Значение обозначает время начала или время окончания маршрута в зависимости от значения параметра Использование времени суток (Time of Day Usage) Если вы указываете в качестве значения этого параметра текущие дату и время, инструмент будет использовать при нахождении ближайших пунктов обслуживания текущие условия дорожного движения, и общее время пути будет учитывать условия дорожного движения.

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

Параметр Часовой пояс для времени суток (Time Zone for Time of Day) определяет, как будут указываться время и дата, в UTC или в часовом поясе, в котором находятся пункт обслуживания или инцидент.

Независимо от значения параметра Часовой пояс для времени суток (Time Zone for Time of Day), в случае если ваши пункты обслуживания и инциденты находятся в нескольких часовых поясах, инструмент использует следующие правила:

  • Все инциденты должны быть в одном и том же часовом поясе:

    • при указании начального времени и перемещении от места инцидента к пункту обслуживания;
    • при указании конечного времени и перемещении от пункта обслуживания к месту инцидента.

  • Все пункты обслуживания должны быть в одном и том же часовом поясе:

    • при указании начального времени и перемещении от пункта обслуживания к месту инцидента;
    • при указании конечного времени и перемещении от места инцидента к пункту обслуживания.

Date
Time_of_Day_Usage
(дополнительно)

Указывает, является ли значение параметра Время суток (Time of Day) временем отправления или временем прибытия.

  • START_TIME Когда выбрана эта опция, инструмент находит лучший маршрут, принимая значение параметра Время дня (Time of Day) в качестве времени отправления из пункта обслуживания или с места инцидента.
  • END_TIME Когда выбрана эта опция, инструмент принимает значение параметра Время дня (Time of Day) в качестве времени прибытия в пункт обслуживания или на место инцидента. Этот параметр можно использовать для того, чтобы узнать, в какое время необходимо выехать, чтобы прибыть в пункт назначения в момент времени, заданный параметром Время дня (Time of Day).
  • NOT_USEDКогда выбрана эта опция, инструмент не использует параметр Время дня (Time of Day) для нахождения ближайших пунктов обслуживания. Текущие и исторические данные трафика не будут использоваться.
String
Time_Zone_for_Time_of_Day
(дополнительно)

Указывает часовой пояс параметра Время суток (Time of Day).

  • GEO_LOCALЗначение параметра Время дня (Time of Day) относится к часовому поясу, в котором находятся пункты обслуживания или инциденты.
    • Если значением параметра Использование времени дня (Time of Day Usage) является START_TIME, а значением параметра Направление движения (Travel Direction) является TRAVEL_FROM, то это будет часовой пояс пунктов обслуживания.
    • Если значением параметра Использование времени дня (Time of Day Usage) является START_TIME, а значением параметра Направление движения (Travel Direction) является TRAVEL_TO, то это будет часовой пояс инцидентов.
    • Если значением параметра Использование времени дня (Time of Day Usage) является END_TIME, а значением параметра Направление движения (Travel Direction) является TRAVEL_FROM, то это будет часовой пояс инцидентов.
    • Если значением параметра Использование времени дня (Time of Day Usage) является END_TIME, а значением параметра Направление движения (Travel Direction) является TRAVEL_TO, то это будет часовой пояс пунктов обслуживания.
  • UTCЗначения параметра Время дня (Time of Day) указываются во Всемирном координированном времени (UTC). Используйте эту опцию, если хотите найти ближайшие пункты обслуживания для конкретного момента времени, например текущего, но не знаете, в каком часовом поясе будут находиться пункты обслуживания или инциденты.

Независимо от значения параметра Часовой пояс для времени суток (Time Zone for Time of Day), в случае если ваши пункты обслуживания и инциденты находятся в нескольких часовых поясах, инструмент использует следующие правила:

  • Все инциденты должны быть в одном и том же часовом поясе:

    • при указании начального времени и перемещении от места инцидента к пункту обслуживания;
    • при указании конечного времени и перемещении от пункта обслуживания к месту инцидента.

  • Все пункты обслуживания должны быть в одном и том же часовом поясе:

    • при указании начального времени и перемещении от пункта обслуживания к месту инцидента;
    • при указании конечного времени и перемещении от места инцидента к пункту обслуживания.

String
UTurn_Policy
(дополнительно)

Правила разворота на соединениях. При разрешении U-образных разворотов неявно предполагается, что механизм расчета разрешает разворот на соединении и продолжение движения по той же улице в обратную сторону. Учитывая, что соединения представляют собой пересечения улиц и тупики, различные транспортные средства могут разворачиваться на некоторых соединениях, но не на всех – это зависит от того, является ли соединение перекрестком или тупиком. Для соответствия, параметр правил разворотов в неявном виде указывает количество ребер, участвующих в соединении, что представляет собой валентность соединения. Ниже приведены допустимые значения для данного параметра; каждое из них сопровождается описанием значения в терминах валентности соединения.

  • ALLOW_UTURNSРазвороты разрешены в соединениях с любым количеством смежных ребер. Это значение используется по умолчанию.
  • NO_UTURNSРазвороты запрещены во всех соединениях, вне зависимости от их валентности. Обратите внимание, что, даже при выборе этой опции развороты в сетевых положениях по-прежнему разрешены. Запретить развороты в отдельных сетевых положениях можно с помощью их свойства CurbApproach (ограничение подъезда).
  • ALLOW_DEAD_ENDS_ONLYРазвороты запрещены во всех соединениях, кроме тех, у которых имеется только одно смежное ребро (тупик).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLYРазвороты запрещены в соединениях с ровно двумя смежными ребрами, но разрешены на перекрестках (в соединениях с тремя смежными ребрами или более) и в тупиках (соединениях с ровно одним смежным ребром). Зачастую сети имеют избыточные соединения в середине сегмента дороги. Эта опция позволяет запретить развороты транспортных средств в таких местах.
ПодсказкаПодсказка:

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

String
Point_Barriers
(дополнительно)

Определяет точечные барьеры, которые разделены на два типа: ограничения и дополнительной стоимости. Они временно ограничивают прохождение по сети или добавляют импеданс к точкам сети. Точечные барьеры задаются набором объектов, а значения атрибута, которые вы указываете для точечных объектов, определяют, являются ли они ограничениями или барьерами дополнительной стоимости. Ниже приведены поля в таблице атрибутов и их описания.

ObjectID:

Управляемое системой поле ID.

Shape:

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name:

Имя барьера.

BarrierType:

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

  • Ограничение (Restriction) (0) – запрещает прохождение через барьер. Это значение используется по умолчанию.
  • Дополнительная стоимость (Added Cost) (2) – прохождение через барьер увеличивает сетевую стоимость на значение, указанное в полях Additional_Time и AdditionalDistance.

Используйте значение 0 для Ограничения и 2 для Дополнительной стоимости.

Additional_Time:

указывает, какое время поездки добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения (Measurement Units).

Additional_Distance:

указывает, какое расстояние добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения расстояния. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы измерения (Measurement Units).

Feature Set
Line_Barriers
(дополнительно)

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

ObjectID:

Управляемое системой поле ID.

Shape:

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name:

Имя барьера.

Feature Set
Polygon_Barriers
(дополнительно)

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

ObjectID:

Управляемое системой поле ID.

Shape:

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name:

Имя барьера.

BarrierType:

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

  • Ограничение (Restriction) (0) – запрещает прохождение через любую часть барьера. Это значение используется по умолчанию.
  • Масштабированная стоимость (Scaled Cost) (1) – Масштабирует импеданс исходных ребер, умножая его на значение свойства ScaledCostFactor. Если ребра частично покрыты барьером, будет умножаться пропорциональная доля импеданса.

Используйте значение 0 для Ограничения и 1 для Масштабированной стоимости.

ScaledTimeFactor

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

ScaledDistanceFactor

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

Feature Set
Time_Attribute
(дополнительно)

Определяет, какой сетевой атрибут стоимости используется, когда значением параметра Единицы измерения (Measurement Units) является единица времени.

Инструмент выполняет необходимые преобразования единиц времени в том случае, если значение параметра Единицы измерения (Measurement Units) отличается от заданных здесь единиц атрибута стоимости. Другими словами, единицы времени параметра отсечки по умолчанию и сетевого атрибута стоимости не обязательно должны быть одинаковыми.

String
Time_Attribute_Units
(дополнительно)

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

String
Distance_Attribute
(дополнительно)

Определяет, какой сетевой атрибут стоимости используется, когда значением параметра Единицы измерения (Measurement Units) является единица расстояния.

Инструмент выполняет необходимые преобразования единиц расстояния в том случае, если значение параметра Единицы измерения (Measurement Units) отличается от заданных здесь единиц атрибута стоимости. Другими словами, единицы измерения и единицы расстояния сетевого атрибута стоимости не обязательно должны быть одинаковыми.

String
Distance_Attribute_Units
(дополнительно)

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

String
Use_Hierarchy_in_Analysis
(дополнительно)

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

  • Истина Использовать иерархию при нахождении маршрутов. Когда используется иерархия, инструмент предпочитает улицы более высокого порядка (такие как скоростные автострады) улицам более низкого порядка (таким как местные дороги), и может использоваться для моделирования предпочтения водителей передвигаться по автострадам, а не местным дорогам, даже если это удлиняет путь. Особенно это относится к тем случаям, когда нужно определить маршруты к удаленным пунктам обслуживания, поскольку водители предпочитают использовать в дальних поездках скоростные автострады без светофоров, перекрестков и поворотов. Использование иерархии ускоряет вычисления, особенно в случае междугородних поездок, поскольку инструмент выбирает лучший маршрут из сравнительно небольшого поднабора улиц.
  • False Не использовать иерархию при нахождении маршрутов. Если иерархия не используется, инструмент перебирает при определении маршрута все улицы и не отдает предпочтение улицам более высокого порядка. Этот вариант обычно используется при нахождении коротких маршрутов в пределах города.

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

Вы можете задать с помощью параметра Force_Hierarchy_Beyond_Distance обязательное использование иерархии механизмом расчета, даже когда параметр Use_Hierarchy_in_Analysis имеет значение Ложь.

Boolean
Restrictions
[restriction,...]
(дополнительно)

Определяет, какие сетевые атрибуты ограничения будут учитываться во время расчета.

String
Attribute_Parameter_Values
(дополнительно)

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

Набор записей значений параметра атрибута имеет связанные атрибуты. Ниже приведены поля в таблице атрибутов с описанием.

ObjectID:

Управляемое системой поле ID.

AttributeName:

Имя сетевого атрибута, чей параметр атрибута задан строкой таблицы.

ParameterName:

Имя параметра атрибута, чье значение задано строкой таблицы. (Параметры типа объекта не могут быть обновлены с помощью данного инструмента.)

ParameterValue:

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

Record Set
Accumulate_Attributes
[attribute,...]
(дополнительно)

Список атрибутов стоимости, который будет суммироваться во время анализа. Эти кумулятивные атрибуты служат исключительно для справки; механизм расчета использует для нахождения маршрута только атрибут стоимости, определенный параметром Атрибут времени (Time Attribute) или Атрибут расстояния (Distance Attribute).

Для каждого кумулятивного атрибута стоимости к выходным маршрутам механизма расчета добавляется свойство 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
Route_Shape
(дополнительно)

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

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

Когда параметр Форма маршрута (Route Shape) имеет значение Истинная форма (True Shape), генерализацией формы маршрута можно дополнительно управлять, выбирая значения параметров Допуск упрощения линии маршрута (Route Line Simplification Tolerance).

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

String
Route_Line_Simplification_Tolerance
(дополнительно)

Определяет степень упрощения геометрии маршрута.

Инструмент игнорирует этот параметр, если значение параметра Форма маршрута (Route Shape) отличается от TRUE_LINES_WITH_MEASURES или TRUE_LINES_WITHOUT_MEASURES.

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

Linear Unit
Populate_Directions
(дополнительно)

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

  • Отмечено (Истина) Будет создан путевой лист, настроенный в соответствии со значениями параметров Язык путевого листа (Directions Language), Имя стиля путевого листа (Directions Style Name) и Единицы рвсстояния путевого листа (Directions Distance Units).
  • Не отмечено (Ложь) Путевой лист не создается, и инструмент возвращает пустой слой Путевой лист (Directions).
Boolean
Directions_Language
(дополнительно)

Укажите язык, на котором должен создаваться путевой лист. Этот параметр используется, только если параметр Заполнить путевой лист (Populate Directions) отмечен или имеет значение Истина (True).

Список возможных языков для путевого листа зависит от установленных на вашем компьютере языковых пакетов ArcGIS. Значения имеют вид двух- или пятисимвольных кодов языка, например en для английского языка или zh-CN для упрощенного китайского.

Если указан неподдерживаемый код языка, инструмент возвращает путевой лист на английском языке, являющемся языком по умолчанию.

String
Directions_Distance_Units
(дополнительно)

Укажите единицы измерения для отображения расстояний в путевом листе. Этот параметр используется, только если параметр Заполнить путевой лист (Populate Directions) отмечен или имеет значение Истина (True).

  • Мили
  • Километры
  • Метры
  • Футы
  • Ярды
  • Морские мили

String
Directions_Style_Name
(дополнительно)

Укажите имя стиля форматирования для путевого листа. Этот параметр используется, только если параметр Заполнить путевой лист (Populate Directions) отмечен или имеет значение Истина (True). Параметр может принимать следующие значения:

  • NA Desktop Создает готовый для печати путевой лист от поворота к повороту.
  • NA Navigation Создает путевой лист со всеми поворотами для автомобильного навигационного устройства.
  • NA CampusСоздает путевой лист для пешеходов, включающий тротуары и проходы внутри зданий.
String
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
(дополнительно)

Ограничивает число ближайших пунктов обслуживания, которые ищет сервис.

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

Значение NULL соответствует отсутствию ограничений.

Long
Maximum_Incidents
(дополнительно)

Ограничивает число инцидентов для анализа ближайших пунктов обслуживания.

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

Значение NULL соответствует отсутствию ограничений.

Long
Force_Hierarchy_Beyond_Distance
(дополнительно)

Определяет расстояние, при превышении которого механизм расчета использует иерархию, даже если она не использовалась при вычислении областей обслуживания по критерию времени. Единицами измерения этого параметра являются единицы, заданные параметром Единицы атрибута расстояния (Distance Attribute Units).

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

Значение NULL означает, что использование иерархии будет определяться только значением параметра Использовать иерархию в анализе (Use Hierarchy in Analysis). Если входной набор сетевых данных не поддерживает иерархию, то указание значения для данного параметра приведет к ошибке. В этом случае необходимо использовать значение NULL.

Double
Save_Output_Network_Analysis_Layer
(дополнительно)
  • NO_SAVE_OUTPUT_LAYERСлой сетевого анализа не включается в выходные данные.
  • SAVE_OUTPUT_LAYERВ выходные данные включается слой сетевого анализа с результатами.

В любом случае возвращаются классы пространственных объектов с маршрутами и путевым листами. Администратор сервера может выбрать вывод слоя сетевого анализа, с тем чтобы настройку и результаты работы инструмента можно было отладить с использованием средств управления Network Analyst в среде ArcGIS for Desktop. Это намного упрощает процесс отладки.

В ArcGIS for Desktop выходное местоположение слоя сетевого анализа по умолчанию – это временная папка. Вы можете определить местоположение временной папки по значению arcpy.env.scratchFolder параметра среды геообработки. Выходной слой сетевого анализа хранится в виде LYR-файла, имя которого начинается на _ags_gpna, а затем следует буквенно-числовое значение GUID.

Boolean

Пример кода

FindClosestFacilities, пример 1

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

import arcpy
incidents = arcpy.FeatureSet()
incidents.load("Stores")
facilities = arcpy.FeatureSet()
facilities.load("Warehouses")
arcpy.na.FindClosestFacilities(incidents, facilities, "Minutes",
                                "Streets_ND", "in_memory", "Routes",
                                "Directions", "CLosestFacilities",
                                Number_of_Facilities_to_Find=1)
FindClosestFacilities, пример 2 (автономный скрипт Python)

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

# Name: FindClosestFacilities_Workflow.py
# Description: For each store, find the closest warehouse. The output will show
#              the routes between stores and warehouses, driving directions,
#              and the subset of warehouses that were closest to stores.
# 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\Paris.gdb'
    env.overwriteOutput = True

    #Set local variables
    inNetworkDataset = r'Transportation\ParisMultimodal_ND'
    inIncidents = r'Analysis\Stores'
    inFacilities = r'Analysis\Warehouses'
    outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
    outRoutes = "Routes"
    outDirections = "Directions"
    outClosestFacilities = "ClosestFacilities"
    measurement_units = "Minutes"

    # Run FindClosestFacilities. Choose to find only the closest facility.
    arcpy.na.FindClosestFacilities(inIncidents, inFacilities, measurement_units,
                                    inNetworkDataset, outGeodatabase, outRoutes,
                                    outDirections, outClosestFacilities,
                                    Number_of_Facilities_to_Find=1)

    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)

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Network Analyst
ArcGIS for Desktop Standard: Требует Network Analyst
ArcGIS for Desktop Advanced: Требует Network Analyst
5/10/2014