QuickMapServices: удобная работа с картографическими подложками

Растровая картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка часто представлена в виде различных интернет-сервисов: TMS, WMS, WMTS, ESRI ArcGIS Service или просто в виде тайлов XYZ.

Свежие новости о QuickMapServices: поиск, API, разные клиенты

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

В QGIS, например, есть и собственные провайдеры данных и сторонние расширения для доступа к этим сервисам. WMS и WMTS протоколы реализованы в ядре QGIS. Доступ к TMS сервисам и тайлам XYZ можно организовать используя GDAL WMS Driver. В этом случае нужно подготавливать специальный XML-файл с описанием для GDAL. Это не удобно, так как запомнить адреса сложно, а процесс их ввода каждый раз при смене рабочего места отнимает достаточно много времени.

Существующие расширения для оптимизации работы нас не устроили и мы сделали QuickMapServices — расширение, которое позволяет быстро и удобно работать с подложками, получаемыми из различных интернет-сервисов.

QuickMapServices:

  1. Имеет готовый список адресов сервисов и умеет добавлять подложки в один клик (как OpenLayers Plugin, но у последнего скачивание данных фактически происходит через браузер webkit, что не оптимально).
  2. Не испытывает проблем с масштабированием надписей на нестандартных масштабах (как Tile Map Scale Plugin, последний использует универсальный драйвер GDAL, что приводит к проблемам с качеством отображения и печати на нестандартных масштабных уровнях в QGIS).
  3. Использует реализацию доступа к тайлам со сглаживанием на нестандартных масштабных уровнях, что решает проблему отображения подписей на нестандартных масштабных уровнях (как TileLayer Plugin, но последний не имеет удобного способа добавлять готовые подложки).
  4. Cписок сервисов может легко расширяться путем добавления простых ini файлов.

quick_map_services_1Мы не ограничились одним типом сервисов: добавлена возможность использования практически всех типов растровых подложек — тайлы XYZ, TMS, WMS, WMTS, ESRI ArcGIS Service. Используя данное расширение в нашей новой сборке NextGIS QGIS основанной на GDAL 2.0, можно с легкостью добавлять динамические сервисы ArcGIS Server, как например слои Росреестра или Электронного Атласа Москвы.
quick_map_services_2Пока мы реализовали только базовые возможности. Мы планируем расширять список сервисов, которые можно подключать через расширение и развивать функциональные возможности: улучшенная работа с масштабами, дополнительные источники данных, поддержка «родных» пользовательских форм для добавления соответствующих ресурсов на карту.

Будем рады отзывам, предложениям по развитию расширения, ссылкам на открытые ресурсы, которых пока еще нет в расширении. Сообщать о всех проблемах и присылать пулл-реквесты с новыми подложками можно через Github.

Подробное описание QuickMapServices.

Подробнее о QMS:

20 комментариев на «“QuickMapServices: удобная работа с картографическими подложками”»

  1. Александр:

    Уважаемые разработчики, а можно подправить плагин, чтобы он подгружал данные Росреестра. Я так понимаю, Росреестр перешел на новую публичную карту и изменил сервера. Может я сам смогу это сделать, только подскажите как?

    • Мы добавили новые адреса. Не забывайте рассказывать об обновлениях сервисов нам, чтобы мы могли их оперативно обновлять в каталоге, который использует QuickMapServices. Можно писать прямо в контакты: https://nextgis.ru/contact/

  2. Александр:

    Спасибо, обновил источники, все появилось

    • Аркадий:

      Подскажите, что именно обновили. Не ничего не получается. Один раз правда получилось отредактировать xml базовой карты росреестра. Но после того как обновился и это не получается.

  3. Аркадий:

    Базовая карта и кадастр все-таки подгрузились. Ничего не видно по ЗОУИТ. В xml поменял на строчку: http://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/ZONES/MapServer

    • 1. Изменились параметры настройки сервера Росреестра (не только ссылка).
      2. Мы внесли необходимые исправления и добавили новые слои ограничений (3 шт.) в поддерживаемую версию NextGIS QGIS.
      3. Чтобы воспользоваться нашими улучшениями вам нужно, либо дождаться нового релиза модуля, либо подписаться на нашу поддержку https://nextgis.ru/services/support/ тогда вы будете получать обновления максимально оперативно.
      Видео: https://www.youtube.com/watch?v=ppBXy1IoiqI

  4. Евгений В.:

    плагин не установить ни из загрузчика [QGIS 2.99 вообще не видит плагинов из https://nextgis.ru/programs/qgis/qgis-repo.xml ], ни из zip`a [http://pixs.ru/showimage/Bezimyanni_5385788_29002109.jpg]

    • правильно, потому что 2.99 — не поддерживаемая версия для разработчиков

      • Евгений В.:

        угу. (я понял это ту лэйт, поставил стабильный). вы не подскажете, есть ли способ убрать надпись «API key required» на картах (слоях) с «лейблом (TF)» в категории OSM.

  5. Рустем:

    Добрый день. Из-за загрузок серверов росреестра в рабочее время нельзя без ошибок сконвертировать в растр. То есть не все участки отображаются. Если конвертировать ночью то всё оk. Можно ли как-то настроить NextGIS , так чтобы обойти эту проблему. Вроде немного помогло увеличение кэша, но ошибки всё равно есть.

  6. Gor:

    Очень хотелось бы видит в модуле сервисы карт here.com (в частности спутник или гибрид). Очень хороший охват с высоким качеством и детальностью.

  7. Александр:

    Добрый день!
    Подскажите, пожалуйста, в чем может быть дело?
    Quick_map что-то не видит, а почему?
    При установке выскакивает ошибка
    «Не удалось загрузить модуль ‘quick_map_services’ due to an error when calling its classFactory() method »
    TypeError: ‘QVariant’ object is not subscriptable
    Traceback (most recent call last):
    File «C:/PROGRA~1/QGIS3~1.8/apps/qgis/./python\qgis\utils.py», line 334, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
    File «C:/Users/razumov/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\__init__.py», line 35, in classFactory
    return QuickMapServices(iface)
    File «C:/Users/razumov/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\quick_map_services.py», line 72, in __init__
    self.locale = Locale.get_locale()
    File «C:/Users/razumov/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\plugin_locale.py», line 30, in get_locale
    return QSettings().value(‘locale/userLocale’)[0:2]
    TypeError: ‘QVariant’ object is not subscriptable

    Версия Python: 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
    Версия: 3.8.0-Zanzibar Zanzibar, 11aff65f10
    И из репозитория, и из архива (что, впрочем неудивительно))
    QGis — 3.8.0-Zanzibar

    • на данный момент мы не используем эту ГИС поэтому вряд ли сможем помочь. В любом случае, работа по любые подобным вопросы требует чтобы вы были на поддержке, план Премиум https://nextgis.ru/pricing-base/

      • Александр:

        Максим, спасибо за ответ!
        Есть подозрение, что Qvariant неиндексируемый контейнер, а в коде [0, 2], и может тут и затык происходит)

  8. Здравствуйте, почему может возникать ошибка: NextGIS Connect: Internal plugin error occurred! See logs for details.
    Формат верный

  9. Добрый день!
    Есть ли актуальная информация по wms подключению ПКК? QMS не работают. Не получается подключиться QGIS/NextGis Web