Сервисы сетевого анализа
Возможно, вы уже использовали веб-приложение, которое прокладывает маршрут от одной точки до другой или указывает объекты, например, больницы, в вашем районе на основе введенного адреса. Эти приложения используют функции сетевого анализа на сервере для поиска нужных маршрутов и пунктов обслуживания на основе предоставленных сведений. Вам не нужно специальное программное обеспечение для сетевого анализа на компьютере для получения результатов, так как сервер выполняет всю работу и возвращает результаты через веб-сервис.
С помощью ArcGIS for Server вы можете размещать сервисы, которые выполняют операции сетевого анализа, например, поиск ближайшего пункта обслуживания, поиск оптимального маршрута для одного автомобиля или парка автомобилей, поиск пунктов обслуживания с использованием механизма расчета размещение-распределение, расчет матрицы Источник-Назначение и создание областей обслуживания. Эти сервисы используют дополнительный модуль Network Analyst для выполнения анализа на основе набора сетевых данных.
Сервисы сетевого анализа нельзя использовать для анализа геометрических сетей. Вместо этого используется ArcGIS for Desktop. Дополнительные сведения см. в разделе Что такое геометрические сети?
Первое, что вам нужно сделать для создания сервиса сетевого анализа, — использовать ArcMap для создания документа карты, содержащего слой сетевого анализа. Затем опубликуйте карту как сервис с включенной функцией Сетевой анализ (Network Analysis). Вы можете использовать полученный сервис с помощью различных инструментов ArcGIS. В приведенных ниже разделах этот процесс описывается более подробно.
Создание документа карты
Перед публикацией сервиса сетевого анализа вы должны использовать ArcMap для создания документа карты, который, как минимум, содержит один слой сетевого анализа, используемый в сервисе. Вы можете добавить существующий слой сетевого анализа с помощью диалогового окна Добавить данные (Add Data) или создать новый слой сетевого анализа (ссылающийся на набор сетевых данных), уже имеющийся на карте, с помощью панели инструментов ArcGIS Network Analyst. Если вы хотите, чтобы сервис возвращал изображение результатов анализа карта, вы также должны добавить другие необходимые слои и настроить параметры условных знаков.
Вы также можете использовать ArcMap для установки параметров, которые будут по умолчанию применены при анализе. К этим параметрам относятся сетевые положения, такие как пункты обслуживания и барьеры, а также опции механизма расчета, например, число пунктов обслуживания для поиска и имеющиеся ограничения. Дополнительные сведения о работе со слоями сетевого анализа в ArcMap см. в разделе ArcGIS Network Analyst справки ArcGIS.
Публикация сервиса
После создания и сохранения документа карты вы можете создать сервис сетевого анализа, следуя действиям, приведенным в разделе Как опубликовать сервис. При публикации ресурса помните о следующем:
В ArcGIS for Desktop существует два возможных способа публикации: в первом случае вы копируете данные на сервер при публикации, во втором вы не копируете данные на сервер при публикации. Если вы не будете копировать данные на сервер при публикации, вам будет необходимо предоставить учетной записи ArcGIS Server права на чтение любых данных, связанных со слоями в вашем документе карты перед тем, как вы его опубликуете. Если вы будете копировать данные на сервер при публикации, вам не нужно предоставлять права доступа учетной записи ArcGIS Server для доступа к данным. Этот процесс подробно описан в разделе справки Как сделать ваши данные доступными для ArcGIS for Server.
При указании функций в Редакторе сервисов (Service Editor) убедитесь, что включена функция Сетевой анализ (Network Analysis).
Подробный пример публикации сервиса сетевого анализа описан в разделе Учебное руководство: публикация сервиса сетевого анализа.
Использование сервиса
Вы можете использовать сервисы сетевого анализа для получения специальных или локальных функций маршрутизации в настольных приложениях. Например, диалоговое окно Найти маршрут (Find Route) в ArcMap и диалоговое окно Маршрут (Route) в ArcGIS Explorer изначально настроены для доступа к сервисам сетевого анализа компании Esri. Если вы хотите использовать собственный сервис, потому что вы добавили специальные правила или данные, или потому что отсутствует подключение к сети Интернет, вы можете настроить эти команды для использования собственного сервиса сетевого анализа. Для этого не требуется писать код.
В веб-приложениях и других настольных приложениях для работы с сервисами сетевого анализа используются программные средства. Разработчики ArcGIS могут выбирать различные платформы, которые будут работать с сервисами сетевого анализа, например, веб-интерфейсы (API) ArcGIS, а также API протоколов SOAP и REST. Функции сетевого анализа на сервере также доступны в ArcObjects с помощью объекта NAServer.
Сетевой анализ в приложениях, использующих веб-интерфейс (API) ArcGIS
На сайте ArcGIS Resource Center имеются подробные справочные материалы по использованию сервисов сетевого анализа в веб-интерфейсах ArcGIS API for JavaScript, ArcGIS API for Flex и ArcGIS API for Silverlight. Однако общий принцип работы с сервисом сетевого анализа остается таким же независимо от используемого интерфейса программирования (API):
- Получите ссылку на сервис сетевого анализа.
- Задайте опции механизма расчета. К ним относится необходимый тип анализа и сетевые положения (например, остановки), используемые при анализе.
- Вызовите метод расчета Solve в сервисе сетевого анализа, передав параметры расчета.
- Обработайте результаты, полученные от сервиса. Вы можете показать результаты на карте или отобразить путевой лист маршрута.
Примеры работы сервиса сетевого анализа см. по ссылкам ниже:
- ArcGIS API for JavaScript
- ArcGIS API for Flex (в таблице содержания разверните Network Analyst Tasks.)
- ArcGIS API for Silverlight (в таблице содержания разверните Network.)
Сетевой анализ с использованием ArcObjects
На странице ArcObjects SDK for the Microsoft .NET Framework на сайте ArcGIS Resource Center представлена техническая документация и примеры, которые помогут вам приступить к разработке приложений с сервисами сетевого анализа с использованием протоколов SOAP и REST. Дополнительные сведения см. по следующим ссылкам:
Сетевой анализ с помощью сервисов геообработки
Если у вас навыков программирования, то вы можете добавить функции сетевого анализа в свои веб-приложения с помощью сервисов геообработки. Сервис геообработки обычно работает на основе модели, созданной в ModelBuilder, или отдельного инструмента, разработанного для публикации в качестве сервиса, например, Расчет задачи выбора маршрута транспорта (Solve Vehicle Routing Problem) или Создать области обслуживания (Generate Service Areas). Пользователь отправляет входные данные на сервис геообработки, модель или инструмент производят сетевой анализ на стороне сервера, а результаты работы возвращаются на компьютер пользователя.
Вы также можете проводить сетевой анализ с использованием текущих данных о ситуации на дорогах (трафик). Для этого вы должны настроить собственный сервис трафика с помощью инструмента геообработки Обновить данные трафика (Update Traffic Data) и указать в наборе сетевых данных, что анализ должен выполняться с учетом данных этого сервиса трафика. Вы также можете использовать в наборе сетевых данных путь к сервису трафика с ArcGIS Online. Убедитесь, что в опциях анализа используется атрибут стоимости на основе ситуации на дорогах (трафика), например, TravelTime, и задано время начала маршрута.
Доступные функции
Некоторые веб-интерфейсы (API) компании Esri для разработки клиентских приложений отличаются уровнем сложности процесса работы с сервисами сетевого анализа. В следующей таблице указаны механизмы, доступные для каждого API:
ArcGIS API |
Сервисы сетевого анализа |
Сервисы геообработки |
---|---|---|
JavaScript, Flex, Silverlight, REST, Windows Phone, iOS |
Route (маршрут), Service Area (область обслуживания), Closest Facility (ближайший пункт обслуживания) |
Все |
SOAP |
Все |
Все |