Сервисы#
При создании ресурсов автоматически генерируются ссылки, по которым можно подключить данные в сторонние приложения:
Для векторного слоя создаётся ссылка на MVT тайлы;
Для стиля векторного или растрового слоя, веб-карты и WMS-слоя создаётся ссылка на TMS;
Также можно создавать сервисы, которые обеспечивают доступ к данным по стандартным протоколам:
Векторные тайлы MVT#
При создании векторного слоя автоматически генерируется ссылка, с помощью которой загруженные данные можно подключить в формате MVT (Map Vector Tiles, спецификация).
Преимущества формата MVT#
Представление MVT позволяет хранить и передавать большие объёмы географических данных в компактном виде. Это делает его особенно полезным для веб-карт и мобильных приложений, где использование сетевых ресурсов и быстрый доступ к данным являются ключевыми.
Главные преимущества формата:
Скорость отрисовки данных;
Динамичные подписи и элементы карты;
Широкие и гибкие возможности по настройке стилей данных (фильтры отображения по масштабу, временны́м или иным данным).
Каждый тайл является самодостаточным и содержит все необходимые данные для отображения конкретного уровня масштабирования (zoom level) определённого прямоугольного региона на карте. Данные организованы в слои, которые могут содержать разные типы геометрии и атрибуты.
MVT поддерживается различными библиотеками и инструментами для чтения, записи и отображения тайлов:
библиотеки Mapbox GL, OpenLayers, Leaflet,
инструменты для создания и обработки MVT-тайлов, такие как Tippecanoe и Mapbox Studio.
Формирование ссылки MVT#
При создании векторного слоя в NextGIS Web автоматически генерируется ссылка типа:
Жирным выделены URL-адрес Веб ГИС и номер ресурса (векторного слоя).
Такую ссылку можно использовать в сторонних веб-приложениях и конструкторах карт. Ссылка передаёт данные о слое, стиль для слоя настраивается на стороне клиента.
Ссылка расположена на странице ресурса в разделе «Внешний доступ».
Рис. 381. Ссылка на векторные тайлы MVT на странице ресурса#
Подключение с помощью библиотеки NextGIS Frontend#
Достаточно знать только URL-адрес вашей Веб ГИС и номер ресурса, чтобы подключить векторный слой в виде MVT в ваше приложение. Для этого используются разработанные нашей командой JS-библиотеки.
Все библиотеки доступны в открытом сервисе NextGIS Frontend.
Там же можно найти примеры использования библиотек. Возьмём один из таких примеров, чтобы отобразить наш векторный слой.
URL Веб ГИС и номер ресурса указываются в соответствующих строках.
При открытии HTML-страницы мы увидим карту. Настроить дополнительный функционал можно также с помощью NextGIS Frontend.
Чтобы данные из вашей Веб ГИС отображались во внешних приложениях, надо открыть доступ к слою на чтение в настройках в Веб ГИС. Либо можно указать данные для входа в Веб ГИС в само веб-приложение.
В настройках Веб ГИС нужно задать свои настройки CORS.
Подключение MVT из NextGIS Web в QGIS#
Предоставляемую NextGIS Web ссылку на векторные тайлы можно добавить в QGIS. Таким образом вы сможете использовать представление векторного слоя из вашей Веб ГИС в настольном приложении.
Чтобы подключить тайлы, выберить в меню добавления слоя в QGIS «Добавить векторный тайловый слой».
Такой слой можно использовать как подложку, для него можно настраивать стиль.
Работает идентификация объектов с описанием атрибутов.
Сервис TMS#
NextGIS Web является сервером TMS. Соответственно подключить созданные в нем слои/стили можно в любом клиентском ПО, поддерживающем протокол TMS. Для этого нужно знать URL сервиса TMS.
Сервис TMS автоматически создаётся для следующих типов ресурсов:
Векторный стиль
Растровый стиль
Слой WMS
Веб-карта
Ссылка располагается на странице ресурса в разделе «Внешний доступ»:
Ссылка формируется следующим образом, пример:
Благодаря такой ссылке любой слой (стиль), созданный в Веб ГИС, можно подключать как подложку (базовую карту).
Для использования 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>
Сервис 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. (Рис. 382.).
Рис. 382. Выбор действия «Сервис OGC API Features»#
На вкладке Ресурс указывается наименование сервиса (Рис. 383.). Поле «Ключ» предназначено для разработчиков, заполнять его не обязательно.
Рис. 383. Наименование Сервиса OGC API Features#
Также можно добавить Описание и метаданные.
Вкладка «Сервис OGC API Features» отвечает за слои, включаемые в сервис (Рис. 384.). Для каждого добавленного слоя нужно указать число возвращаемых из базы объектов. По умолчанию это значение равно 1000. Если в этом поле значение убрать совсем, то ограничение будет снято и будут передаваться все объекты. Однако это может привести к значительной нагрузке на сервер и значительным задержкам при передаче больших объемов данных.
Рис. 384. Окно параметров сервиса 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
Cервис WFS#
Создание сервиса WFS#
NextGIS Web является сервером WFS - может публиковать сервисы WFS на базе векторных слоёв. Используя эти сервисы, сторонние программы могут изменять векторные данные на сервере. Поддерживаемые версии протокола WFS: 1.0, 1.1, 2.0, 2.0.2.
Примечание
На данный момент поддерживаются фильтры Intersects, ResourceId (ObjectId, FeatureId).
Нажмите кнопку Создать ресурс и выберите во всплывающем окне тип ресурса Сервис WFS (Рис. 385.).
Рис. 385. Выбор типа ресурса «Сервис WFS»#
На вкладке Ресурс указывается наименование сервиса (Рис. 386.). Поле «Ключ» предназначено для разработчиков, заполнять его не обязательно.
Рис. 386. Наименование Сервиса WFS#
Также можно добавить Описание и метаданные.
Вкладка «Сервис WFS» отвечает за слои, включаемые в сервис (Рис. 387.). Для каждого добавленного слоя нужно указать число возвращаемых из базы объектов. По умолчанию это значение равно 1000. Если в этом поле значение убрать совсем, то ограничение будет снято и будут передаваться все объекты. Однако это может привести к значительной нагрузке на сервер и значительным задержкам при передаче больших объемов данных.
Рис. 387. Окно параметров сервиса WFS#
Использование сервиса WFS#
После создания ресурса вам будет доступен URL сервиса WFS, который вы можете использовать в других программах, например NextGIS QGIS. Для этого нужно настроить права доступа к сервису WFS. Подключение при помощи WFS позволяет редактировать данные на сервере из настольного приложения.
Совет
Если вы работаете в QGIS, редактировать данные Веб ГИС можно также помощи модуля NextGIS Connect.
Программно подключаться к созданным сервисам 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
Сервис WMS#
Создание WMS-сервиса#
Программное обеспечение NextGIS Web может работать как сервер WMS. По этому протоколу клиенты запрашивают картинку карты по заданному охвату.
Для развёртывания WMS-сервиса необходимо добавить ресурс. Нажмите кнопку Создать ресурс и выберите во всплывающем окне тип ресурса Сервис WMS (см. Рис. 388.).
Рис. 388. Выбор типа ресурса «Сервис WMS»#
На вкладке «Ресурс» указывается наименование сервиса WMS (Рис. 389.). Оно будет отображаться в административном интерфейсе. Поле Ключ является необязательным к заполнению.
Рис. 389. Наименование сервиса WMS#
Также можно добавить Описание и метаданные.
На вкладке «Сервис WMS» необходимо добавить ссылки на нужные слои или стили. (Рис. 390.). Также можно указать диапазон масштабных уровней отображения данных.
Рис. 390. Окно параметров соединения WMS#
Когда ресурс будет создан, на его страницы вы найдёте три URL:
Их использовать в других программах, например 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