Web Feature Service (WFS) – это открытая спецификация для предоставления географических объектов по сети. В отличие от Web Map Service (WMS) сервис WFS возвращает пространственные объекты с геометрией и атрибутами. Вы можете подключиться к сервису WFS Open Geospatial Consortium (OGC) в ArcGIS AllSource, создав подключение к сервису WFS или добавив элемент WFS с активного портала.
Добавление подключения к серверу WFS
Чтобы добавить подключение к серверу WFS, выполните следующие действия:
- На вкладке Вставка в группе Проект, щелкните кнопку Подключения, щелкните Сервер и затем Новый WFS сервер
.
Появится диалоговое окно Добавить подключение WFS сервер.
- Введите URL сайта сервера WFS, к которому вы хотите подключиться, в текстовое поле URL сервера.
URL-адрес зависит от конфигурации системы сервера (сайта).
Пример URL-адреса: https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer
- Из ниспадающего меню Версия выберите версию WFS, к которой вы хотели бы подключиться.
Версия по умолчанию подключается к версии с самым высоким номером, поддерживаемой сервером.
- Если сервис WFS, к которому вы подключаетесь, имеет дополнительные возможности, или вы хотите задать свойство клиента ArcGIS AllSource для подключения к серверу WFS, добавьте имена и значения параметров пользовательского запроса в разделе Параметры пользовательского запроса.
Примерами обычно используемых зарезервированных ключевых слов для клиентов ArcGIS AllSource являются: PAGESIZE - для включения разбиения на страницы на стороне клиента, BBOX - для ограничения объектов определенной географической областью, MAXFEATURES - для ограничения количества объектов, отображаемых на карте (по умолчанию ограничение равно 3000), и SWAPXY - для изменения порядка осей слоя. Эти ключевые слова применяются ко всем слоям подключения к серверу WFS. Чтобы изменить свойства отдельных слоев, просмотрите или измените их на вкладке WFS свойств слоя. Учтите, что ArcGIS AllSource не может проверить эти дополнительные параметры для сервера.
Чтобы добавить пользовательские параметры выполните следующее:
- Щелкните в первой ячейке.
- Задайте имя параметра в ячейке под столбцом Параметр.
- Задайте значение параметра в ячейке под столбцом Значение.
- Чтобы добавить больше параметров, щелкните кнопку Добавить строку и повторите шаги a–c.
Чтобы удалить пользовательские параметры выполните следующее:
- Выберите строку, содержащую параметр, который нужно удалить.
- Для удаления этой строки щелкните Удалить строку.
- Повторяйте шаги a и b для каждого параметра, который требуется удалить.
- Если необходимо, проверьте аутентификацию сервиса, выполнив одно из следующих действий:
- Если сервис защищен с помощью обычной проверки подлинности, в ниспадающем меню Аутентификация выберите Аутентификация сервера и введите имя пользователя и пароль. Чтобы сохранить имя пользователя и пароль в Windows Credential Manager или в файле подключения, включите опции под заголовком Сохранить логин.
- Если сервис защищен с помощью аутентификации на основе OAuth 2.0, в ниспадающем меню Аутентификация выберите соответствующее подключение из ниспадающего списка. См. раздел Подключение к провайдерам аутентификации из ArcGIS Pro, чтобы узнать, как добавить подключение к поставщикам аутентификации, если они недоступны. При необходимости щелкните Войти, чтобы выполнить аутентификацию подключения к провайдеру.
- Нажмите OK.
Новый файл подключения WFS (.wfs) будет создан и сохранен в домашнем каталоге вашего проекта. В проект будет добавлен элемент, ссылающийся на данный файл подключения, а само подключение появится в папке Серверы на вкладке проект на панели Каталог.
- Разверните подключение к WFS, чтобы просмотреть слои в сервисе WFS, щелкните правой кнопкой мыши слой и выберите опцию в ниспадающем меню Добавить в новой или щелкните Добавить на текущую карту
, чтобы добавить слой WFS на карту.
Вы можете также добавить сервис на карту, перетащив его на нее или на панель Содержание.
Появится диалоговое окно Добавить слой WFS с параметрами слоя, и слой WFS будет добавлен на карту. Можно отменить добавление слоя на карту, щелкнув Отмена в диалоговом окне процесса. Если при добавлении на карту данные отображаются не так, как ожидалось, можно изменить свойства слоя WFS.
Сервисы WFS позволяют добавить один или несколько слоев. Чтобы выбрать группу слоев, нажмите клавишу Shift и щелкните первый и последний подслои в группе, которую вы хотите добавить. Также можно выбрать непоследовательно расположенные слои, удерживая нажатой клавишу Ctrl и щелкая каждый отдельный слой. После выбора нужных слоев щелкните правой кнопкой мыши выбранные слои и выберите, добавить ли их на текущую карту, или на новую карту. Одновременное добавление нескольких слоев занимает больше времени, чем добавление одного слоя.
Добавление сервиса WFS из подключения к активному порталу
Сервисы WFS также можно добавлять на портал. На портале есть следующие три источника элементов WFS:
- Сервисы WFS, опубликованные на сайтах ArcGIS Server, которые вы интегрировали с порталом, автоматически добавляются в качестве элементов портала.
- Сторонние сервисы WFS, которые добавлены на портал в качестве элементов.
- Размещенные сервисы WFS, которые создаются при публикации сервиса WFS из размещенного векторного слоя.
Каждый из этих типов WFS-элементов портала добавляется на карту с помощью следующих шагов:
- На панели Каталог щелкните вкладку Портал.
- Перейдите к элементам WFS или найдите элементы, которые вы хотите использовать, из коллекций Мои ресурсы, Мои группы или ArcGIS Online.
Наведите курсор мыши на элемент портала, чтобы увидеть его тип.
- Щелкните правой кнопкой мыши элемент и выберите опцию в ниспадающем меню Добавить к новой или щелкните Добавить на текущую карту
, чтобы добавить слой WFS на карту.
Вы можете также добавить сервис на карту, перетащив его на нее или на панель Содержание. Если сервис содержит несколько слоев, вам будет предложено выбрать слой для добавления на карту.
Появится диалоговое окно Добавить слой WFS с параметрами слоя, и слой WFS будет добавлен на карту. Можно отменить добавление слоя на карту, щелкнув Отмена в диалоговом окне процесса. Если при добавлении на карту данные отображаются не так, как ожидалось, можно изменить свойства слоя WFS.
Сервисы WFS позволяют добавить один или несколько слоев. Чтобы выбрать группу слоев, нажмите клавишу Shift и щелкните первый и последний подслои в группе, которую вы хотите добавить. Также можно выбрать непоследовательно расположенные слои, удерживая нажатой клавишу Ctrl и щелкая каждый отдельный слой. После выбора нужных слоев щелкните правой кнопкой мыши выбранные слои и выберите, добавить ли их на текущую карту, или на новую карту. Одновременное добавление нескольких слоев занимает больше времени, чем добавление одного слоя.
Используйте диалоговое окно Добавить слой(и) WFS
Диалоговое окно Добавить слой(и) WFS позволяет задать некоторые дополнительные свойства слоя, доступные для слоев WFS. Они включают в себя настройку максимального числа объектов и размера страницы, а также ограничение объектов областью интереса с помощью указания экстента. Вы также можете изменить эти свойства в диалоговом окне Свойства слоя WFS.

- Задать максимальное число возвращаемых объектов — задайте общее количество объектов, которые будут добавлены на карту. Добавление очень большого набора данных на карту может привести к проблемам с производительностью и к замедлению работы. Эта опция позволяет ограничить количество объектов, добавляемых на карту. При использовании с параметром Использовать пространственный экстент она ограничит число объектов в пределах предоставленного экстента.
- Задать размер страницы — для сервисов WFS 2.0, поддерживающих подкачку страниц, можно задать число объектов, которые будут возвращены по запросу загрузки с сервера. Для запроса WFS GetFeature это задает значение параметра count, которое используется совместно с параметром startIndex для запросов подкачки. ArcGIS AllSource старается определить оптимальный размер страницы для использования на основе настроек вашего сервиса, однако оптимальное значение может зависеть от производительности сервера, который будет возвращать объекты до истечения времени ожидания (примерно 15 секунд). Например, серверы, которые могут возвращать 25 000 объектов до истечения времени ожидания, будут загружать карту намного быстрее, если размер страницы установлен равным 25 000. Это уменьшает общее число запросов, отправляемых на сервер от клиента. Однако некоторые менее производительные серверы могут возвращать, например, только 200 объектов до истечения времени ожидания. В этом случае потребуется низкое значение размера страницы, чтобы избежать ошибок загрузки из-за истечения времени ожидания, и вы увидите увеличение числа запросов, отправляемых на сервер для загрузки данных.
- Использовать пространственный экстент — выберите, чтобы ограничить объекты, указав область интереса (пространственный экстент).
- Отмечено — ограничить объекты, добавляемые на карту, указав нужный экстент. Сервис WFS должен поддерживать параметр BBOX, чтобы использовать эту функциональность. Укажите экстент для использования в параметре Выбранный экстент.
- Не отмечено — не ограничивать пространственно объекты, добавляемые на карту. Используется по умолчанию.
- Выбранный экстент — установите пользовательский экстент, который будет использоваться для ограничения данных, добавляемых на карту. Можно ввести координаты вручную или взять значения экстента из текущего видимого экстента, экстента данных во всех слоях, экстента конкретного слоя.
Свойства диалогового окна Добавить слой WFS также доступны для просмотра или изменения на вкладке WFS диалогового окна Свойства слоя.
Модель данных ArcGIS допускает только один тип геометрии для каждой таблицы. Если на карту добавлен слой WFS со смешанной геометрией, тип геометрии слоя определяется по запросу первого объекта в сервисе WFS. Например, если первая строка данных представляет полигон, слой WFS будет добавлен на карту как полигональный.
Использование параметра пользовательского запроса
Форма параметров пользовательского запроса может использоваться для ввода дополнительных возможностей, которые поддерживаются сервисом WFS. Входная пара ключ-значение может быть пользовательским параметром, который является специфичным для внедрения сервера WFS, или можно использовать одно из зарезервированных ключевых слов, встроенных клиентом ArcGIS AllSource.
Использование пары ключ-значение
Некоторые сервисы WFS могут иметь определенные пары ключ-значение, используемые для выполнения пользовательского запроса к сервису. Пара ключ-значение будет добавлена к адресу URL WFS после символа вопросительного знака. Например, URL-адрес WFS такой: https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?. Если у вас есть пользовательский параметр с именем myCustomKey, вы можете ввести значение myCustomKey в ячейку Параметр и ввести его значение в ячейку Значение. Когда ArcGIS AllSource делает запрос на подключение к сервису WFS, он применит пару ключ-значение к URL-адресу WFS, например, https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS&myCustomKey=myValue.
Использование зарезервированного ключевого слова
Клиент ArcGIS AllSource WFS содержит зарезервированные ключевые слова, которые могут использоваться для указания свойства подключения для подключения к серверу WFS. Значение, которое вы задаете для этих параметров, будет применяться ко всем слоям в сервисе WFS. Если вы хотите применить зарезервированное ключевое слово к отдельным слоям в сервисе WFS вместо того, чтобы применять их к подключению, необходимо создать несколько подключений с различными значениями параметров или обновить свойства слоев WFS на карте. В следующей таблице перечислены имена и значения пользовательских параметров, которые можно использовать для задания свойств файла подключения к серверу WFS:
Ключевое слово | Описание |
---|---|
BBOX | Предоставляет экстент ограничивающей рамки для возвращаемых объектов, например, -122.5,37.7,-122.3,37.8. Этот параметр полезен, если нужно ограничить число возвращаемых объектов во всех слоях WFS определенной географической областью. Этот параметр применим только для режима снимка. |
MAXFEATURES | Задает максимальное количество объектов, возвращаемых для слоев подключения к серверу WFS. Этот параметр позволяет избежать проблем с производительностью в случаях, когда в сервисе имеется очень большое количество объектов. Значение по умолчанию - 3000. Если ваших данных больше, можно задать большее число, чтобы видеть больше объектов. Если ваш сервис поддерживает разбиение на страницы, можно настроить параметр PAGESIZE для более эффективной загрузки данных. |
MODE | Укажите, какой режим подключения использовать для слоя. По умолчанию используется режим снимка.
|
OUTPUTFORMAT | Укажите формат, в котором запрашиваются объекты. WFS-сервисы могут поддерживать множество типов выходных форматов, но по умолчанию используется формат GML. Используйте эту опцию только, если сервис поддерживает указанный выходной формат. Можно проверить, какие выходные форматы поддерживает сервис в ответе на запрос GetCapabilities.
Свойства SWAPXY и SWAPXYFILTER не применяются, когда используется выходной формат GeoJSON. |
PAGESIZE | Укажите размер страницы, который будет использоваться при выполнении запроса GetFeature для загрузки данных в карту. По умолчанию, если сервис поддерживает разбиение на страницы, будет использовано значение размера страницы, равное 200. Используйте это ключевое слово, чтобы изменить число объектов, возвращаемых по запросу (используя параметр WFS count=). Оптимальное значение для размера страницы зависит от производительности сервера. В идеале это значение должно быть равно максимальному числу объектов, которые сервис может вернуть в одном запросе GetFeature без времени ожидания сервера (примерно 15 секунд). Для серверов с быстрым временем отклика наилучшим вариантом может быть размер страницы от 10 000 до 50 000. Для серверов с медленным временем ожидания или ограниченным числом объектов, возвращаемых в ответе, меньший размер страницы, равный 100, может помочь избежать ошибки времени ожидания. Сервис, не поддерживающий разбиение на страницы и имеющий большое число объектов и слоев, может медленно загружать карту поскольку все объекты будут возвращены в одном запросе. Это ключевое слово применимо только для сервисов WFS 2.0, которые поддерживают параметры startIndex и count. Ключевое слово неприменимо при использовании режима подключения по запросу. |
STRINGLENGTH | Задает длину текстовый полей в слое WFS. Когда слой открыт в карте, длина всех текстовых полей обрезается до 255 символов по умолчанию. |
SWAPXY | Переставляет координаты x,y для отображения слоя.
|
SWAPXYFILTER | Меняет местами координаты x,y для запросов пространственного фильтра, отправляемых на сервер.
|
HTTPMETHOD | Укажите HTTP-метод для использования при отправке запросов на сервер в режиме ожидания. По умолчанию ArcGIS AllSource отправляет запросы POST на сервер в режиме ожидания. Это позволяет отправлять на сервер расширенные фильтры. Однако некоторые реализации WFS не поддерживают запросы POST. В этом случае вы можете настроить HTTPMETHOD на GET и получить доступ к основным функциям слоя WFS в режиме ожидания по требованию.
|
Примечание:
За исключением ключевых слов BBOX, STRINGLENGTH, OUTPUTFORMAT и HTTPMETHOD, все ключевые слова имеют соответствующие настройки для слоя в свойствах слоя WFS. Доступ к свойствам слоя WFS можно получить, щелкнув слой правой кнопкой мыши на панели Содержание и выбрав Свойства.
Дополнительно к перечисленным ключевым словам, которые могут использоваться для указания свойства подключения к WFS серверу, существуют другие зарезервированные ключевые слова, которые использовать нельзя, поскольку они имеют особенное значение для сервисов WFS или для ArcGIS. Эти ключевые слова включают следующие: NAMESPACE, TYPENAME, VERSION, SERVICE, CRSNAME, REQUEST, USER, URL, PASSWORD, MODE, ANONYMOUS, HTTPTIMEOUT, CAPABILITIES_PARAMETERS, и CONNECTIONPATH.
Использование инструмента WFS в класс объектов
Инструмент геообработки WFS в класс объектов можно использовать для загрузки данных из сервиса WFS в базу геоданных. Инструмент позволяет создавать сценарии загрузки данных WFS и поддерживает комплексные сервисы WFS.
Для применения инструмента для загрузки данных из комплексного сервиса WFS выполните следующие действия:
- Откройте инструмент геообработки WFS в класс объектов.
Инструмент можно открыть, перейдя к нему на панели Геообработки в наборе инструментов Конвертация и группе инструментов Из WFS, или можно найти инструмент по имени, набрав его в строке поиска.
Откроется диалоговое окно инструмента WFS в класс объектов.
- Если сервис WFS является комплексным, включите опцию Комплексный сервис WFS.
- Скопируйте или введите URL-адрес вашего сервиса WFS в параметр WFS Server и щелкните вне текстового окна параметра.
http://gisserver.example.com/geoserver/ows?
Это заполнит ниспадающее меню параметра Выбрать тип объекта для извлечения списком доступных слоев для загрузки.
- Выберите слой из ниспадающего меню.
- Укажите местоположение для загрузки при помощи параметра Выходное местоположение.
Если Комплексный сервис WFS отмечен, выходными данными будет файловая база геоданных, поэтому местоположением должна быть папка.
Если Комплексный сервис WFS не отмечен, выходными данными будет класс объектов, поэтому местоположением должна быть база геоданных или набор классов объектов в базе геоданных.
- Предоставьте имя выходного класса объектов или базы геоданных в параметре Имя.
- Дополнительно выберите ввод значения для параметра Макс. число объектов, чтобы ограничить количество возвращаемых объектов.
- Дополнительно, при включенной опции Комплексный сервис WFS, предоставьте метаданные сервиса, включив параметр Предоставить метаданные, которые создаст и заполнит таблицы метаданных в выходной базе геоданных.
- Дополнительно, чтобы ограничить объекты областью интереса, укажите значение экстента для параметра Экстент обработки на вкладке Параметры среды (или задайте arcpy.env.extent, если используется Python) при запуске инструмента.
Для автоматизации этого процесса в скрипте Python найдите примеры кода в документации инструмента.