Сервисы маршрутизации позволяют пользователям ArcGIS Enterprise и ArcGIS Online выполнять сетевой анализ в веб. Один из способов создания сервиса маршрутизации - это публикация картографического сервиса из ArcMap с включенной функцией сетевого анализа через дополнительный модуль Network Analyst.
Все способы публикации сервисов маршрутизации
Первым шагом в создании сервиса маршрутизации с помощью ArcMap является создание документа карты, содержащего слой сетевого анализа. Затем вы публикуете карту как сервис, убедившись, что функция сетевого анализа включена. Вы можете использовать полученный сервис различными способами, включая ArcGIS Enterprise, ArcGIS Online и SDK для разработчиков. В приведенных ниже разделах этот процесс описывается более подробно.
Учебное руководство, которое проведет вас через процесс создания и публикации сервиса геообработки в ArcMap, см. в разделе Пример сервиса геообработки: полигоны времени в пути.
Создание документа карты
Перед публикацией сервиса маршрутизации вы должны использовать ArcMap для создания документа карты, который, как минимум, содержит один слой сетевого анализа, используемый в сервисе. Вы можете добавить существующий слой сетевого анализа с помощью диалогового окна Добавить данные или создать новый слой сетевого анализа (ссылающийся на набор сетевых данных), уже имеющийся на карте, с помощью панели инструментов ArcGIS Network Analyst.
Также можно использовать ArcMap для задания сервису параметров анализа по умолчанию. К этим параметрам относятся сетевые положения, такие как пункты обслуживания и барьеры, а также опции механизма расчета, например, число пунктов обслуживания для поиска и применяющиеся ограничения.
Публикация сервиса
После создания и сохранения документа карты вы можете создать сервис маршрутизации, следуя шагам, приведенным в документации по публикации сервиса для ArcMap. При публикации ресурса помните о следующем:
В ArcMap есть два сценария публикации: с копированием данных на сервер и без копирования. Если вы не копируете данные на сервер при публикации, необходимо предоставить учетной записи ArcGIS Server права на чтение любых данных, связанных со слоями в вашем документе карты, перед тем, как вы его опубликуете. Если данные не будут копироваться на сервер, то и права доступа учетной записи ArcGIS Server предоставлять будет не нужно. Этот процесс подробно описан в разделе Как сделать данные доступными для ArcGIS Server.
При определении возможностей в Редакторе сервисов убедитесь, что возможность Сетевой анализ включена.
Функциональные возможности Network Analyst
В следующем разделе приводится описание функциональных возможностей, которые можно настроить перед публикацией сервиса.
Общие
После включения Сетевого анализа, в диалоговом окне Редактор сервисов можно щелкнуть Сетевой анализ и задать следующие общие параметры.
Выходная директория - местоположение, в которое записываются результирующие слои.
Точность выходной геометрии по умолчанию - это значение определяет точность по умолчанию выходной геометрии после генерализации. Когда это значение равно нулю или не указано, генерализация выходной геометрии не выполняется. Заданное положительное значение представляет параметр MaximumAllowableOffset. Генерализация выполняется в соответствии с IPolycurve.Generalize.
Разрешить пользователям сохранение получившихся слоев на сервере - это поле показывает, могут ли пользователи сохранять итоговые слои на сервере для их последующего использования.
Сохранять результирующий слой на сервере при возникновении ошибки - это поле показывает, должны ли результирующие слои автоматически сохраняться в выходной директории, если во время анализа произойдет ошибка. Если выбрана эта опция, она может помочь в устранении ошибки.
Сохранить получившийся слой на сервере при отладке – когда выбрана эта опция, результирующие слои будут автоматически сохраняться в выходной директории для каждого запроса, если уровень журнала задан как DEBUG.
Игнорировать поля сетевых положений - этот параметр указывает сервису не использовать поля местоположения во входных местоположениях анализа (остановки, барьеры, хозяйственные объекты, инциденты и т. д.), когда они переданы вместе с запросом. Если названия улиц часто меняются, целесообразно игнорировать поля сетевых положений, чтобы избежать передачи запросов с устаревшими полями положений.
Ограничения
Ограничения представляют собой набор свойств, с помощью которых механизмы расчета устанавливают параметры для выходных данных сервиса. Эти свойства можно задать на вкладке Ограничения. Следующие ограничения являются общими для каждого механизма расчета:
- Макс. число барьеров – максимальное число точечных барьеров, разрешенных для передачи по запросу.
- Макс. объектов, пересекающих линейные барьеры - максимальное число улиц, которое можно ограничить линейными барьерами по запросу.
- Макс. объектов, пересекающих полигональные барьеры - максимальное число улиц, которое можно ограничить полигональными барьерами по запросу.
- Приоритет Иерархии над (экстент входов) и Единицы принудительного задания иерархии при превышении (экстент входов) - когда остановки находятся на большом расстоянии друг от друга, для разрешающих запросов может потребоваться много времени и ресурсов сервера, если эта опция не выбрана.
Для каждого механизма расчета могут быть заданы дополнительные ограничения:
Маршрут
- Макс. остановок - максимальное число остановок, которое пользователь может передать по запросу.
- Разрешить временные окна - эта опция определяет, будет ли данный сервис поддерживать прохождение пользователя во временное окно на входных остановках.
Область обслуживания
- Макс. пунктов обслуживания - максимальное число пунктов обслуживания, разрешенных для передачи по запросу.
- Макс. разрыв и Единицы макс. разрыва – значение максимального разрыва, которое может быть установлено для запроса области обслуживания. Для единиц импеданса может использоваться:
- Время
- Длина
- Прочее
- Приоритет иерархии над (Разрыв) и Единицы измерения приоритета иерархии над – максимальное значение разрыва, которое может быть задано для запроса области обслуживания. После этого максимума сервер автоматически изменит запрос на использование сетевой иерархии.
Ближайший пункт обслуживания
- Макс. пунктов обслуживания - максимальное число пунктов обслуживания, разрешенных для передачи по запросу.
- Макс. пунктов обслуживания для поиска - максимальное число пунктов обслуживания от происшествия, которое сервис сможет находить по запросу.
- Макс. инцидентов - максимальное число инцидентов, разрешенных для передачи по запросу.
Матрица Источник-Назначение
- Макс. назначений - максимальное число пунктов назначения, разрешенных для передачи по запросу.
- Макс. назначений для поиска - максимальное число пунктов назначения от исходной точки, которое сервис сможет находить по запросу.
- Макс. начал координат - максимальное число исходных точек, разрешенных для передачи по запросу.
Задача выбора маршрута транспорта
- Макс. заказов - максимальное число заказов, разрешенных для передачи по запросу.
- Макс. маршрутов - максимальное число маршрутов, разрешенных для передачи по запросу.
Размещение-распределение
- Макс. точек спроса - максимальное число точек спроса, разрешенных для передачи по запросу.
- Макс. пунктов обслуживания - максимальное число пунктов обслуживания, разрешенных для передачи по запросу.
Использование сервиса
Вы можете использовать сервисы маршрутизации для получения специальных или локальных функций маршрутизации в настольных приложениях. Например, диалоговое окно Найти маршрут в ArcMap исходно настроено на доступ к сервису маршрутизации из ArcGIS Online. Если вы хотите использовать собственный сервис, потому что вы добавили специальные правила или данные, или потому что вы не хотите расходовать сервисные кредиты, вы можете настроить эти команды для использования собственного сервиса маршрутизации. Для этого не требуется писать код.
В веб-приложениях и других настольных приложениях для работы с сервисами маршрутизации используются программные средства. Разработчики ArcGIS могут выбирать различные платформы, которые будут работать с сервисами сетевого анализа, например, веб-интерфейсы (API) ArcGIS, а также ArcGIS Runtime SDK и REST API.
Более подробно о различных API для доступа к сервисам маршрутизации