Поддержка сервисов ArcGIS Server в NextGIS QGIS Future

Мы доработали интеграцию QGIS и ESRI ArcGIS Server, теперь пользователи NextGIS QGIS могут работать практически со всеми типами сервисов ESRI ArcGIS Server.

До этого момента у пользователя QGIS была возможность подключаться к сервисам ArcGIS Server только по стандартным протоколам WMS и WFS. Так же, продвинутые пользователи могли подключить кэшированные тайловые (TiledMapService) сервисы, подготовив специальный файл с описанием сервиса для GDAL. Но перечисленные способы работают, при условии активации необходимых протоколов на самом ArcGIS сервере. По умолчанию эти протоколы отключены, и доступным является лишь базовый (проприетарный) протокол доступа к сервисам (MapService). Работа с этим типом сервисов невозможна из стандартных версий GDAL и QGIS. Поэтому, используя текущие версии вы не сможете подключить такие источники как, например, слой ЗОУИТ (Зоны с особыми условиями использования территории) с Публичной кадастровой карты или слои данных ЕГИП с Электронного атласа Москвы.

Благодаря этой разработке в новой версии NextGIS QGIS Future появилась возможность подключать и эти сервисы.

Идея NextGIS QGIS Future состоит в использовании самых новых версий GDAL с самыми новыми нашими разработками, еще не попавшими в основной QGIS или даже upstream GDAL. В новую сборку NextGIS QGIS Future входит GDAL версии 2.0.0dev с расширенными возможностями драйвера WMS. Мы разработали новый «минидрайвер» AGS, который поддерживает API ArcGIS Server в части выполнения операций Schematic Export и Schematic Identify. Благодаря этому, теперь можно получать растровые изображения (gdal_translate) с ArcGIS Server, и запрашивать информацию об определенном пикселе (gdallocationinfo) полученного изображения.

Благодаря данному расширению GDAL у пользователей появились возможности:

  1. Загружать растровые слои ArcGIS Server через стандартный инструмент добавления растрового слоя.
    Для добавления данного слоя необходимо создать xml файл следующего содержания (пример для слоя ЗОУИТ — Зоны с особыми условиями использования территории. (Внимание, данный сервис может работать нестабильно на стороне провайдера, возможны проблемы с отображением и доступом к данным ):

    <GDAL_WMS>
        <Service name="AGS">
            <ServerUrl>http://maps.rosreestr.ru/arcgis/rest/services/Cadastre/ZOUIT/MapServer</ServerUrl>
            <ImageFormat>png32</ImageFormat>
            <Transparent>true</Transparent>
            <ImageSR>102100</ImageSR>
            <Layers></Layers>
            <BBoxOrder>xyXY</BBoxOrder>
        </Service>
        <DataWindow>
            <UpperLeftX>-20037508.34278700</UpperLeftX>
            <UpperLeftY>20037508.34278700</UpperLeftY>
            <LowerRightX>20037508.34278103</LowerRightX>
            <LowerRightY>-20037508.34278103</LowerRightY>
            <SizeX>40075016</SizeX>
            <SizeY>40075016</SizeY>
        </DataWindow>
        <BlockSizeX>512</BlockSizeX>
        <BlockSizeY>512</BlockSizeY>
        <Projection>EPSG:3857</Projection>
        <BandsCount>4</BandsCount>
        <ClampRequests>true</ClampRequests>
        <UserAgent>Mozilla/5.0</UserAgent>
        <Referer>http://maps.rosreestr.ru/PortalOnline/</Referer>
        <ZeroBlockHttpCodes>499,204,404</ZeroBlockHttpCodes>
        <ZeroBlockOnServerException>true</ZeroBlockOnServerException>
    </GDAL_WMS>

    Пример для слоя «Объекты арендного фонда» (слой с номером 120) из Электронного атласа Москвы:

    <GDAL_WMS>
        <Service name="AGS">
            <ServerUrl>http://api.atlas.mos.ru/arcgis/rest/services/Basemaps/egipdata/MapServer</ServerUrl>
            <ImageFormat>png</ImageFormat>
            <Transparent>true</Transparent>
            <ImageSR>102100</ImageSR>
            <Layers>show:120</Layers>
            <BBoxOrder> xyXY </BBoxOrder>
        </Service>
        <DataWindow>
        <UpperLeftX>-2.0037507067199707E7</UpperLeftX>
        <UpperLeftY>1.6979753644836426E7</UpperLeftY>
        <LowerRightX>2.0037507067382812E7</LowerRightX>
        <LowerRightY>5039694.577209473</LowerRightY>
        <SizeX>40075014</SizeX>
        <SizeY>11940059</SizeY>
        </DataWindow>
        <BlockSizeX>256</BlockSizeX>
        <BlockSizeY>256</BlockSizeY>
        <Projection>EPSG:3857</Projection>
        <BandsCount>4</BandsCount>
        <ClampRequests>false</ClampRequests>
    </GDAL_WMS>
  2. Производить идентификацию объектов слоя посредством инструмента Identify Plus. Наш новый плагин Identify Plus, расширяющий возможности стандартного инструмента идентификации объектов, также включен в состав сборки NextGIS QGIS Future.

На рисунке показан пример загрузки слоя ЗОУИТ с сервиса Росреестра и идентификация объектов:

agsserver_ngq_zouitПример загрузки  слоя «Объекты арендного фонда» ЕГИП Москвы и идентификация объектов:

agsserver_ngq_egipМы планируем отправить наши изменения в upstream GDAL. Это означает, что после появления нового релиза GDAL и переходу на него одной из следующих версий QGIS, эти возможности станут доступны и для пользователей стандартного QGIS.

Обсуждение закрыто.