Руководство пользователя: Публикация сервиса WFS-T
В этом руководстве пользователя показано, как опубликовать сервис WFS с транзакциями (WFS-T) на сервере ArcGIS Server с помощью ArcMap. WFS — это спецификация, опубликованная Open Geospatial Consortium (OGC), используемая для предоставления в Интернете географических объектов. Сервис WFS с транзакциями (WFS-T) позволяет клиентам WFS редактировать данные (вставки, удаления и обновления) в исходной базе данных, используя для этого сервис WFS.
При публикации картографического сервиса или сервиса геоданных с использованием возможностей WFS доступ к данным можно получить с помощью клиентов WFS, совместимых со спецификациями OGC, включая Дополнительный модуль ArcGIS Data Interoperability for Desktop в ArcGIS for Desktop. Эти клиенты WFS могут также отслеживать последние изменения данных. Если необходимо получить дополнительные сведения о сервисах WFS до работы с этим руководством, см. раздел Сервисы WFS.
Сервисы WFS поддерживают простые объекты из источников Esri, например шейп-файлы и базы геоданных. Однако если необходимо включить в сервисе транзакции (WFS-T), все данные, которые следует изменить должны храниться в базе геоданных ArcSDE. В этом руководстве показан рабочий процесс, которому следует придерживаться при работе с версионными данными.
Действия перед выполнением этого руководства
Если ArcGIS Server был только что установлен, необходимо выполнить ряд подготовительных действий, прежде чем подключиться к серверу и начать публиковать сервисы.
- Подробные инструкции по настройке сайта ArcGIS Server см. в разделе Приступая к работе после установки данной справочной системы.
- Сведения о том, как сделать данные, на которые ссылается ресурс ГИС, доступными на сервере, см. в разделе Предоставление доступа к данным в ArcGIS Server.
Выбор между сервисом геоданных или картографическим сервисом
При использовании сервисов WFS появляется возможность публикации сервиса геоданных или картографического сервиса. Существует ряд различий, о которых следует помнить при выборе создаваемого типа сервиса. В следующих разделах приводятся общие сведения о функциональных возможностях, доступных в картографическом сервисе и сервисе геоданных, что позволит понять, какой тип сервиса более всего соответствует текущим требованиям.
Картографические сервисы
Картографический сервис WFS представляет собой документ карты, который доступен другим пользователям в Интернете или в любом клиенте WFS, совместимом с требованиями OGC. Картографические сервисы с функциональностью WFS обеспечивают большую степень управления данными, опубликованными в сервисе. Вот общие основания для использования картографического сервиса.
- В отличие от сервиса геоданных отдельный картографический сервис может включать данные из различных источников, включая данные из нескольких баз геоданных (файлы и ArcSDE), а также из шейп-файлов.
- Можно выбрать, какие классы объектов будут доступны в картографическом сервисе.
- Можно переименовать классы объектов в документе карты, чтобы сервис не предоставлял фактические названия и имена из источника данных.
Существуют также некоторые ограничения, связанные с картографическими сервисами WFS. Учитывайте приведенные ниже сведения при публикации сервиса WFS из документа карты.
- Документ карты представляет собой простую спецификацию слоев, которые будут доступны в сервисе WFS. Символы, определения запросов и псевдонимы полей, определенные на уровне слоя, не будет передаваться в сервис WFS, так как целью этого сервиса является предоставление доступа к объектам данных. Чтобы предоставить доступ к визуальным свойствам карты с использованием спецификаций OGC, используйте сервис WMS.
- Два и более слоя карты не могут ссылаться на один и тот же класс объектов.
- Два и более слоя карты не могут иметь одинаковое имя.
- Так как WFS работает только с объектами, любые растровые слои карты будут исключены из сервиса.
- Непространственные таблицы не предоставляются.
- Если необходимо, чтобы сервис WFS поддерживал транзакции редактирования (WFS-T), исходные данные для всех слоев карты должны происходить из одного рабочего пространства, например из одной базы геоданных ArcSDE.
Сервисы геоданных
Сервис геоданных WFS позволяет получить доступ к базе геоданных ArcSDE или файловой базе геоданных через Интернет или в любом клиенте WFS, совместимом с OGC. При создании сервиса WFS на основе сервиса геоданных важно учитывать то, что все классы объектов в базе геоданных будут представлены в этом сервисе.
Сервисы геоданных полезны в тех случаях, когда необходимо получить доступ к базам геоданных в удаленных местах. Например, компания желает настроить базы геоданных ArcSDE для управления данными в филиалах Лос-Анджелеса и Нью-Йорка. После создания каждый филиал сможет публиковать свою базу геоданных ArcSDE в Интернете с помощью сервиса геоданных.
Подготовка данных для сервиса WFS-T
Перед созданием сервиса WFS с доступом для чтения и записи, следует учесть ряд исходных требований к настройке данных.
- Данные должны быть загружены в базу геоданных ArcSDE.
- Если необходимо работать с версионными данными, последние должны быть зарегистрированы как версионные.
- Версия должна предназначаться специально для работы редакторов WFS. Если версии не существует, она должна быть создана.
- Определенные редакторы WFS должны иметь права на доступ к файлу подключения SDE для его изменения.
Выполните приведенные ниже действия для подготовки данных к обработке в сервисе WFS-T с версионностью данных.
- В ArcCatalog или в окне Каталог (Catalog) программы ArcGIS for Desktop загрузите данные, которые следует опубликовать в базе геоданных ArcSDE. Дополнительные сведения о загрузке данных см. в разделе Загрузка данных в ArcCatalog.
- Зарегистрируйте данные как версионные, щелкнув правой кнопкой мыши набор данных и выбрав пункт контекстного меню Регистрация данных как версионных (Register data as versioned). Дополнительные сведения см. в разделе Регистрация данных как версионных.
- После включения версионности данных, необходимо назначить одну версию специально для редактирования пользователями WFS. Если такой версии не существует, щелкните правой кнопкой мыши подключение ArcSDE и последовательно выберите Администрирование > Администрировать базу геоданных (Administration > Administer Geodatabase).
- В окне подключения щелкните закладку Версии (Versions).
- Щелкните правой кнопкой мыши версию базы геоданных, для которой следует создать дочернюю версию, и щелкните Создать (New).
- Введите Имя (Name) новой версии. Если данные будут редактировать другие пользователи, не только создатель, для параметра Права доступа (Permission) должно быть задано значение Общий (Public).
При создании картографического сервиса перейдите к приведенному ниже разделу картографических сервисов. При создании сервиса геоданных перейдите к приведенному ниже разделу сервисов геоданных.
Картографические сервисы
Чтобы картографический сервис публиковал нужные данные сразу после создания, документ карты должен быть обновлен таким образом, чтобы он ссылался на новую созданную версию WFS.
- В ArcMap откройте свой документ карты.
- В таблице содержания ArcMap щелкните По источникам (List By Source) .
- Щелкните правой кнопкой мыши подключение к базе геоданных и выберите Изменить версию (Change Version).
- В диалоговом окне Изменить версию (Change Version) выберите версию, предназначенную для пользователей WFS, и нажмите кнопку ОК.
- Сохраните изменения в документ карты.
Сервисы геоданных
Чтобы сервис геоданных публиковал нужные данные сразу после создания, свойства подключения к базе геоданных должны быть обновлены таким образом, чтобы они ссылались на созданную версию WFS.
- В ArcCatalog или окне Каталог (Catalog) приложения ArcGIS for Desktop щелкните подключение к базе данных и последовательно выберите Администрирование > Администрировать базу геоданных (Administration > Administer Geodatabases).
- В диалоговом окне Администрирование (Administration) щелкните Версии (Versions).
- Выберите версию, предназначенную для пользователей WFS и нажмите кнопку ОК.
Публикация сервиса WFS-T в ArcGIS Server
Чтобы начать публикацию сервиса WFS-T, выполните приведенные ниже действия.
- Следуйте инструкциям, приведенным в указанной ниже таблице с учетом типа сервиса, который следует опубликовать.
Опции
Описание
Если необходимо опубликовать картографический сервис WFS-T...
...откройте документ карты в ArcMap и последовательно щелкните Файл > Использовать совместно как > Сервис (Service) (File > Share As > Service > Publish service). Нажмите Далее (Next).
Если необходимо опубликовать сервис геоданных WFS-T...
...перейдите к базе геоданных ArcSDE или файловой базе геоданных в ArcCatalog или окне Каталог (Catalog), щелкните правой кнопкой мыши базу и выберите пункт Использовать совместно как сервис геоданных (Share as geodata service).
- В окне Использовать совместно как сервис (Share as Service) выберите Опубликовать сервис (Publish a service). Нажмите Далее (Next).
- В диалоговом окне Опубликовать сервис (Publish a Service) щелкните Подключиться к ArcGIS Server (Connect to ArcGIS Server) для создания нового подключения к серверу.
- В окне Добавить ArcGIS Server (Add ArcGIS Server) выберите Опубликовать ГИС-сервисы (Publish GIS Services). Нажмите Далее (Next).
- Введите URL сайта ArcGIS Server, к которому нужно подключиться, в поле URL сервера (Server URL). Например, http://myserver:6080/arcgis.
- В раскрывающемся списке Тип сервера (Server Type) выберите ArcGIS Server.
- Во время публикации создается файл определения сервиса, который затем временно сохраняется на локальном диске. Когда процесс публикации завершается, определение сервиса загружается на сервер, а локальный файл удаляется. В рамках данного руководства примите папку размещения по умолчанию и продолжайте.
- Если администратор безопасности включил функции безопасности для сайта, введите Имя пользователя (User Name) и Пароль (Password). Нажмите Готово (Finish).
- При необходимости в окне Опубликовать сервис (Publish a Service) введите новое имя сервиса. Имя может содержать только цифры, буквы, подчеркивания и не может быть длиннее 120 символов. Нажмите Далее (Next).
- По умолчанию сервисы публикуются в корневой папке (root) ArcGIS Server. Сервисы могут размещаться во вложенных папках корневой папки. Выберите папку, в которой требуется опубликовать сервис, или создайте новую папку для сервиса. Нажмите кнопку Продолжить (Continue).
- Появится Редактор сервисов. Редактор сервисов используется для выбора того, что пользователи могут делать с сервисом WFS-T, и управления предоставлением доступа к сервису на сервере. Перейдите на закладку Функции (Capabilities).
- По умолчанию картирование и KML включены. Выберите WFS.
- На левой панели редактора сервисов щелкните WFS. Используйте эту панель для выбора метода настройки свойств сервиса WFS. При указании свойств сервиса WFS клиенты могут узнать больше об издателе сервиса.
- В поле URL отображается URL, используемый клиентами для доступа к сервису WFS. URL имеет следующий формат: http://<имя сервера>:6080/arcgis/services/<имя папки (если необходимо)>/<имя сервиса>/MapServer/WFSServer.Примечание:
Скопируйте и сохраните URL сервиса WFS. Он понадобится для выполнения дополнительных действий в данном руководстве.
- Если вы хотите опубликовать сервис WFS с сгенерированными системой файлами функций, используйте опцию Ввести свойства сервиса ниже (Enter service properties below). Поля Name, Title и OnlineResource заполняются автоматически и их не следует изменять. При необходимости можно заполнить дополнительные свойства с помощью полей в этом списке. Дополнительную информацию см. в разделе Доступные свойства сервиса WFS.
- Если вы хотите настроить сервис WFS для использования внешних файлов функций, выберите параметр Использовать внешний файл функций. Для использования этой опции должен быть создан файл функциональности WFS. Дополнительные сведения см. в разделе Использование внешних файлов функций с сервисами WFS.
- В поле URL отображается URL, используемый клиентами для доступа к сервису WFS. URL имеет следующий формат: http://<имя сервера>:6080/arcgis/services/<имя папки (если необходимо)>/<имя сервиса>/MapServer/WFSServer.
- Внизу панели WFS установите флажок Включить транзакции (Enable Transactions). Это позволит пользователям WSF редактировать и применять изменения к данным, расположенным в исходной базе данных.
- Щелкните Анализировать (Analyze) . Документ карты или база геоданных будет проанализирована на возможность публикации ее на сервере.Подсказка:
Чтобы расширить область просмотра при настойке сервиса WFS-T нажмите кнопку Свернуть (Collapse) в верхней части Редактора сервисов.
- Устраните любые ошибки в окне Подготовка (Prepare). Это необходимо сделать до публикации карты. При необходимости можно устранить предупреждения и информационные сообщения, чтобы улучшить производительность и внешний вид сервиса WFS-T. Дополнительные сведения об устранении этих неполадок см. в разделе Анализ ГИС-ресурса.Примечание:
Можно зарегистрировать папки и базы геоданных на сайте ArcGIS Server, чтобы сервер мог распознать и использовать ваши данные. Если продолжить выполнение следующих действий, все данные, указанные в ГИС-ресурсе, взятые из незарегистрированной папки или базы геоданных, будут скопированы на сервер во время публикации. Это мера предосторожности, гарантирующая, что сервер может получить доступ ко всем данным, используемым сервисом. Подробные инструкции по регистрации папки или базы геоданных на сайте ArcGIS Server см. в разделе Регистрация данных на ArcGIS Server с помощью ArcGIS for Desktop.
- При необходимости в Редакторе сервисов щелкните Предварительный просмотр (Preview). . Это позволит увидеть, как сервис WFS-T будет выглядеть при просмотре в браузере. Дополнительные сведения см. в разделе Предварительный просмотр карты.
- После устранения ошибок в документе карты или базе геоданных щелкните Опубликовать (Publish) .
Использование сервиса WFS
После публикации сервиса WFS его можно использовать в любом клиенте, поддерживающем WFS 1.1 и профиль Simple Features GML, включая веб-браузеры. Браузер — это один из самых простых клиентов сервиса WFS. Информацию можно запрашивать по протоколу HTTP, а ответы или исключения получать через браузер.
Следуйте приведенным ниже действиям для получения доступа к сервисам WFS через веб-браузер:
- Откройте веб-браузер.
- Выполните запросы GetCapabilities, DescribeFeatureType и GetFeature, как показано в приведенных ниже разделах.
GetCapabilities
Этот запрос возвращает все типы объектов и функции, доступные через сервис, в формате GML. Чтобы использовать операцию GetCapabilities, скопируйте и вставьте URL сервиса WFS в адресную строку и добавьте ?request=getcapabilities в конец URL.
Пример URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=GetCapabilities
На следующем рисунке представлен пример функциональности, возвращаемой операцией GetCapabilities:
GetCapabilities также возвращает список всех доступных классов и таблиц объектов:
DescribeFeatureType
Этот запрос описывает сведения о полях одного или нескольких объектов в сервисе WFS. К ним относятся имена полей, типы полей, разрешенные минимальные и максимальные значения полей и другие ограничения, заданные для поля классов или таблиц объектов.
Чтобы использовать операцию DescribeFeatureType, скопируйте и вставьте URL сервиса WFS в адресную строку и добавьте ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0 в конец URL. Этот запрос возвращает сведения о полях каждого типа объектов и таблиц, доступных в сервисе.
Пример URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0
Добавление фильтров
Вы также можете указать один класс объектов или одну таблицу, для которой требуется получить сведения о полях, добавив следующий запрос в конец URL с именем типа объекта или таблицы: ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=<укажите здесь тип объекта>&VERSION=1.1.0.
Дополнительную информацию о различных фильтрах, доступных в сервисах WSF, см. в разделе Взаимодействие с WFS сервисом в браузере.
В следующем примере запрос DescribeFeatureType используется для определения информации о полях для типа объектов cities.
Пример URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=cities&VERSION=1.1.0
GetFeature
Этот запрос возвращает информацию об определенных типах объектов, доступных через сервис WFS.
Чтобы использовать операцию GetFeature в браузере, скопируйте и вставьте URL сервиса WFS в адресную строку и добавьте ?request=getFeature&typename=<тип_объекта> в конец URL. Этот запрос возвращает сведения об атрибутах и геометрии каждого объекта или каждой строки в типе объектов.
Пример URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities
Добавление фильтров
Вы также можете добавить в запрос фильтры, чтобы уточнить возвращаемые результаты. Например, можно запросить все города, попадающие в указанный диапазон координат. В примере ниже два города попадают в указанный диапазон координат. Дополнительную информацию о различных фильтрах, доступных в сервисах WSF, см. в разделе Взаимодействие с WFS сервисом в браузере.
Пример URL: http://myserver:6080/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities&BBOX=46.90,-76.21,42.12,-72.88
Использование модуля Data Interoperability для подключения к сервису WFS
Модуль Data Interoperability позволяет считывать и записывать данные в форматах, отличных от ArcGIS. Можно использовать инструмент Interoperability Connection, расположенный в ArcCatalog или окне Каталог (Catalog) в ArcGIS for Desktop для подключения напрямую к внешним форматам данных ESRI, включая сервисы WSF. После создания подключения источник данных появится под записью Interoperability Connection в дереве каталога. Подключение аналогично любому набору данных в том смысле, что можно добавить его в таблицу содержания или использовать в инструментах геообработки. Дополнительные сведения о подключении к сервису WFS с помощью модуля ArcGIS Data Interoperability см. в разделе Как работать с WFS, используя ArcGIS for Desktop.
Управление изменениями, внесенными с помощью сервиса WFS-T с поддержкой версионности данных
Важно создать эффективный рабочий процесс для управления изменениями, внесенными через сервис WFS-T. Если вы следовали рекомендованному методу создания отдельной версии WFS для редакторов WFS-T, настроенная система должна походить на приведенную ниже диаграмму:
В этом примере редакторы WFS-T и ArcMap используют версии, чтобы каждая группа имела собственный изолированный от других групп вид базы геоданных. Редакторы ArcMap напрямую редактируют версию по умолчанию в приложении ArcMap. Редакторы WFS-T получают доступ к сервису WFS через Интернет. Это позволяет редакторам WFS-T вносить изменения в версию WFS, которая была создана как дочерняя по отношению к версии по умолчанию. Дополнительные сведения о версиях см. в разделе Краткий обзор версионности в справочной системе Desktop.
Чтобы обе версии синхронизировались друг с другом, процесс следует запускать регулярно, чтобы версия WFS получала изменения из версии по умолчанию, а версия по умолчанию, в свою очередь, получала изменения из версии WFS. Эта двухэтапная процедура рабочего процесса редактирования в любой версионной системе называется согласованием и закреплением. Этот процесс может быть автоматизирован, а также управляться редактором (в зависимости от имеющихся у него прав доступа) или администратором базы данных. Дополнительные сведения о процессе согласования и закрепления см. в разделе Быстрый обзор версионного редактирования.
Операция согласования принимает обновления из версии по умолчанию в текущий сеанс редактирования версии WFS. При наличии в обоих версиях одинаковых объектов могут возникать конфликты. Можно настроить автоматическое разрешение конфликтов или разрешать каждый конфликт вручную с помощью диалогового окна разрешения конфликтов.
После разрешения любых конфликтов выполняется закрепление. Этот процесс объединяет изменения из версии WFS в версии по умолчанию.
Весь процесс согласования и закрепления отображен на следующей диаграмме. Здесь версия WFS берет обновления из версии по умолчанию во время согласования. После внесения изменений версия WFS публикует свои обновления в версию по умолчанию, используя закрепление. На этом этапе версии по умолчанию и WFS имеют идентичное содержимое.
После завершения, согласования и закрепления обе версии являются обновленными и представляют текущие объекты. Редакторы WFS могут продолжить вносить изменения.
Следует заметить, что при возникновении блокировок во время выполнения согласования и закрепления, система не даст процессу завершиться успешно. Эта мера безопасности служит для предотвращения конфликтов между объектами, заблокированными клиентами WFS-T, и объектами, измененными в процессе согласования и закрепления. Кроме того, выполнение согласования и публикации приведет к блокировке версии WFS-T для предотвращения любых блокировок и вызовов транзакций со стороны редакторов WFS-T во время процесса согласования и закрепления.
Чтобы использовать эту меру безопасности, рекомендуется выполнять процесс согласования и закрепления в подходящее время, о котором уведомлены все редакторы WFS-T. Это позволит редакторам закреплять свои изменения в базе данных. Администраторы могут вручную удалять блокировки из таблицы блокировок перед запуском процесса согласования и закрепления.
Дополнительные сведения о схеме блокировки WFS-T см. в разделе WFS сервисы.