7.6. Сервисы

При создании ресурсов автоматически генерируются ссылки, по которым можно подключить данные в сторонние приложения:

  • Для векторного слоя создаётся ссылка на MVT тайлы;

  • Для стиля векторного или растрового слоя, веб-карты и WMS-слоя создаётся ссылка на TMS;

Также можно создавать сервисы, которые обеспечивают доступ к данным по стандартным протоколам:

7.6.1. Векторные тайлы MVT

При создании векторного слоя автоматически генерируется ссылка, с помощью которой загруженные данные можно подключить в формате MVT (Map Vector Tiles, спецификация).

Преимущества формата MVT

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

Главные преимущества формата:

  • Скорость отрисовки данных;

  • Динамичные подписи и элементы карты;

  • Широкие и гибкие возможности по настройке стилей данных (фильтры отображения по масштабу, временны́м или иным данным).

Каждый тайл является самодостаточным и содержит все необходимые данные для отображения конкретного уровня масштабирования (zoom level) определённого прямоугольного региона на карте. Данные организованы в слои, которые могут содержать разные типы геометрии и атрибуты.

MVT поддерживается различными библиотеками и инструментами для чтения, записи и отображения тайлов:

  • библиотеки Mapbox GL, OpenLayers, Leaflet,

  • инструменты для создания и обработки MVT-тайлов, такие как Tippecanoe и Mapbox Studio.

Подключение с помощью библиотеки NextGIS Frontend

Достаточно знать только URL-адрес вашей Веб ГИС и номер ресурса, чтобы подключить векторный слой в виде MVT в ваше приложение. Для этого используются разработанные нашей командой JS-библиотеки.

Все библиотеки доступны в открытом сервисе NextGIS Frontend.

Там же можно найти примеры использования библиотек. Возьмём один из таких примеров, чтобы отобразить наш векторный слой.

URL Веб ГИС и номер ресурса указываются в соответствующих строках.

../../_images/mvt_frontend_code_ru.png

При открытии HTML-страницы мы увидим карту. Настроить дополнительный функционал можно также с помощью NextGIS Frontend.

../../_images/mvt_frontend_map_ru.png

Чтобы данные из вашей Веб ГИС отображались во внешних приложениях, надо открыть доступ к слою на чтение в настройках в Веб ГИС. Либо можно указать данные для входа в Веб ГИС в само веб-приложение.

В настройках Веб ГИС нужно задать свои настройки CORS.

Подключение MVT из NextGIS Web в QGIS

Предоставляемую NextGIS Web ссылку на векторные тайлы можно добавить в QGIS. Таким образом вы сможете использовать представление векторного слоя из вашей Веб ГИС в настольном приложении.

Чтобы подключить тайлы, выберить в меню добавления слоя в QGIS «Добавить векторный тайловый слой».

../../_images/mvt_qgis_ru.jpg

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

Работает идентификация объектов с описанием атрибутов.

7.6.2. Сервис TMS

NextGIS Web является сервером TMS. Соответственно подключить созданные в нем слои/стили можно в любом клиентском ПО, поддерживающем протокол TMS. Для этого нужно знать URL сервиса TMS.

Сервис TMS автоматически создаётся для следующих типов ресурсов:

  • Векторный стиль

  • Растровый стиль

  • Слой WMS

  • Веб-карта

Ссылка располагается на странице ресурса в разделе «Внешний доступ»:

Ссылка формируется следующим образом, пример:

https://demo.nextgis.ru/api/component/render/tile?z={z}&x={x}&y={y}&resource=234

Благодаря такой ссылке любой слой (стиль), созданный в Веб ГИС, можно подключать как подложку (базовую карту).

Для использования TMS через утилиты GDAL нужно создать для него файл XML и подставить эту ссылку в строку ServerUrl примера ниже. Всё остальное остаётся неизменным.

<GDAL_WMS>
 <Service name="TMS">
     <ServerUrl>https://demo.nextgis.ru/api/component/render/tile?z={z}&x={x}&y={y}&resource=234</ServerUrl>
 </Service>
 <DataWindow>
     <UpperLeftX>-20037508.34</UpperLeftX>
     <UpperLeftY>20037508.34</UpperLeftY>
     <LowerRightX>20037508.34</LowerRightX>
     <LowerRightY>-20037508.34</LowerRightY>
     <TileLevel>18</TileLevel>
     <TileCountX>1</TileCountX>
     <TileCountY>1</TileCountY>
     <YOrigin>top</YOrigin>
 </DataWindow>
 <Projection>EPSG:3857</Projection>
 <BlockSizeX>256</BlockSizeX>
 <BlockSizeY>256</BlockSizeY>
 <BandsCount>4</BandsCount>
 <Cache />
</GDAL_WMS>

7.6.3. Сервис OGC API Features

Загруженные в Веб ГИС векторные данные можно опубликовать с помощью протокола OGC API Features. Это позволяет редактировать их через сторонние приложения.

Создание сервиса OGC API Features

Настройка сервиса OGC API Features осуществляется так же, как для WFS-сервиса.

NextGIS Web является сервером OGC API Features - может публиковать сервисы OGC API Features на базе векторных слоёв. Используя эти сервисы, сторонние программы могут изменять векторные данные на сервере. Поддерживаемые версии протокола OGC API Features: 1.0.0.

Для развёртывания сервиса OGC API Features нажмите кнопку Создать ресурс и выберите во всплывающем окне тип ресурса Сервис OGC API Features. (Рис. 7.46.).

../../_images/ngweb_create_service_OGC_ru.png

Рис. 7.46. Выбор действия «Сервис OGC API Features»

На вкладке Ресурс указывается наименование сервиса (Рис. 7.47.). Поле «Ключ» предназначено для разработчиков, заполенять его не обязательно.

../../_images/admin_layers_create_ogc_api_features_service_name_rus_2.png

Рис. 7.47. Наименование Сервиса OGC API Features

На вкладке «Описание» можно добавить произвольный текст, описывающий текущий ресурс (Рис. 7.48.)

../../_images/admin_layers_create_ogc_api_features_service_description_rus_2.png

Рис. 7.48. Описание Сервиса OGC API Features

В «Метаданные» ресурса можно записать информацию в формате «ключ-значение» (Рис. 7.49.). Как правило, метаданные используются для разработки сторонних приложений с помощью API.

../../_images/admin_layers_create_ogc_api_features_service_metadata_rus_2.png

Рис. 7.49. Метаданные Сервиса OGC API Features

Вкладка «Сервис OGC API Features» отвечает за слои, включаемые в сервис (Рис. 7.50.). Для каждого добавленного слоя нужно указать число возвращаемых из базы объектов. По умолчанию это значение равно 1000. Если в этом поле значение убрать совсем, то ограничение будет снято и будут передаваться все объекты. Однако это может привести к значительной нагрузке на сервер и значительным задержкам при передаче больших объемов данных.

../../_images/admin_layers_create_ogc_api_features_service_settings_rus.png

Рис. 7.50. Окно параметров сервиса OGC API Features

Использование сервиса OGC API Features

После создания ресурса вам будет доступен URL сервиса OGC API Features, который вы можете использовать в других программах, например QGIS.

Если это необходимо, можно настроить права доступа к сервису OGC API Features.

Программно подключаться к созданным сервисам OGC API Features можно по ссылкам следующего вида (также поддерживается basic auth):

https://yourwebgis.nextgis.com/api/resource/208/ogcf

7.6.4. Cервис WFS

Создание сервиса WFS

Настройка сервиса WFS осуществляется так же, как для WMS-сервиса, только добавляется не стиль, а слой.

Примечание

На данный момент поддерживаются фильтры Intersects, ResourceId (ObjectId, FeatureId).

NextGIS Web является сервером WFS - может публиковать сервисы WFS на базе векторных слоёв. Используя эти сервисы, сторонние программы могут изменять векторные данные на сервере. Поддерживаемые версии протокола WFS: 1.0, 1.1, 2.0, 2.0.2.

Нажмите кнопку Создать ресурс и выберите во всплывающем окне тип ресурса Сервис WFS (Рис. 7.51.).

../../_images/ngweb_create_wfs_service_ru.png

Рис. 7.51. Выбор типа ресурса «Сервис WFS»

На вкладке Ресурс указывается наименование сервиса (Рис. 7.52.). Поле «Ключ» предназначено для разработчиков, заполенять его не обязательно.

../../_images/admin_layers_create_wfs_service_name_rus_3.png

Рис. 7.52. Наименование Сервиса WFS

На вкладке «Описание» можно добавить произвольный текст, описывающий текущий ресурс (Рис. 7.53.)

../../_images/admin_layers_create_wfs_description_rus_2.png

Рис. 7.53. Описание Сервиса WFS

В «Метаданные» ресурса можно записать информацию в формате «ключ-значение» (Рис. 7.54.). Как правило, метаданные используются для разработки сторонних приложений с помощью API.

../../_images/admin_layers_create_wfs_metadata_rus_2.png

Рис. 7.54. Метаданные Сервиса WFS

Вкладка «Сервис WFS» отвечает за слои, включаемые в сервис (Рис. 7.55.). Для каждого добавленного слоя нужно указать число возвращаемых из базы объектов. По умолчанию это значение равно 1000. Если в этом поле значение убрать совсем, то ограничение будет снято и будут передаваться все объекты. Однако это может привести к значительной нагрузке на сервер и значительным задержкам при передаче больших объемов данных.

../../_images/create_wfs_service_settings_ru.png

Рис. 7.55. Окно параметров сервиса WFS

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

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

Программно подключаться к созданным сервисам WFS можно по ссылкам следующего вида (также поддерживается basic auth):

https://mywebgis.nextgis.com/api/resource/2413/wfs?SERVICE=WFS&TYPENAME=ngw_id_2412&username=administrator&password=mypassword&srsname=EPSG:3857&VERSION=1.0.0&REQUEST=GetFeature

7.6.5. Сервис WMS

Создание WMS-сервиса

Программное обеспечение NextGIS Web может работать как сервер WMS. По этому протоколу клиенты запрашивают картинку карты по заданному охвату.

Для развёртывания WMS-сервиса необходимо добавить ресурс. Нажмите кнопку Создать ресурс и выберите во всплывающем окне тип ресурса Сервис WMS (см. Рис. 7.56.).

../../_images/ngweb_create_wms_service_ru.png

Рис. 7.56. Выбор типа ресурса «Сервис WMS»

На вкладке «Ресурс» указывается наименование сервиса WMS (Рис. 7.57.). Оно будет отображаться в административном интерфейсе. Поле Ключ является необязательным к заполнению.

../../_images/admin_layers_create_wms_service_name_rus_2.png

Рис. 7.57. Наименование сервиса WMS

На вкладке «Описание» можно добавить произвольный текст, описывающий текущий ресурс (Рис. 7.58.)

../../_images/admin_layers_create_wms_description_rus_2.png

Рис. 7.58. Описание Сервиса WMS

В «Метаданные» ресурса можно записать информацию в формате «ключ-значение» (Рис. 7.59.). Как правило, метаданные используются для разработки сторонних приложений с помощью API.

../../_images/admin_layers_create_wms_metadata_rus_2.png

Рис. 7.59. Метаданные Сервиса WMS

На вкладке «Сервис WMS» необходимо добавить ссылки на нужные слои или стили. (Рис. 7.60.). Также можно указать диапазон масштабных уровней отображения данных.

../../_images/admin_layers_create_wms_service_url_rus.png

Рис. 7.60. Окно параметров соединения WMS

После создания ресурса выведется сообщение с URL WMS-сервиса, который можно использовать в других программах, например NextGIS QGIS, или JOSM. Далее необходимо настроить права доступа к WMS-сервису для стороннего использования различными пользователями.

Cлой NextGIS Web можно добавлять в настольные, мобильные и Веб ГИС различными способами.

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

NextGIS Web является сервером WMS. Соответственно подключить созданные в нем сервисы WMS можно в любом клиентском ПО, поддерживающем протокол WMS. Для этого нужно знать URL WMS-сервиса, который высвечивается на странице настроек конкретного сервиса.

Например:

https://demo.nextgis.ru/api/resource/4817/wms

Для использования сервиса через утилиты GDAL нужно создать для него файл XML. Для создания такого файла нужно знать URL сервиса WMS. Эти параметры нужно подставить в строку ServerUrl примера ниже. Все остальное остается неизменным.

<GDAL_WMS>
 <Service name="WMS">
     <Version>1.1.1</Version>
     <ServerUrl>https://demo.nextgis.ru/api/resource/4817/wms</ServerUrl>
     <SRS>EPSG:3857</SRS>
     <ImageFormat>image/png</ImageFormat>
     <Layers>moscow_boundary_multipolygon</Layers>
     <Styles></Styles>
 </Service>
 <DataWindow>
   <UpperLeftX>-20037508.34</UpperLeftX>
   <UpperLeftY>20037508.34</UpperLeftY>
   <LowerRightX>20037508.34</LowerRightX>
   <LowerRightY>-20037508.34</LowerRightY>
   <SizeY>40075016</SizeY>
   <SizeX>40075016.857</SizeX>
 </DataWindow>
 <Projection>EPSG:3857</Projection>
 <BandsCount>3</BandsCount>
</GDAL_WMS>

Если нужна картинка с альфа каналом, следует указать <BandsCount>4</BandsCount>.

Пример вызова утилиты GDAL. Она получает картинку из NextGIS WEB по WMS и сохраняет её в GeoTIFF.

gdal_translate -of "GTIFF" -outsize 1000 0  -projwin  4143247 7497160 4190083 7468902   ngw.xml test.tiff