Упражнение 14 Создание веб-карты
14.1 Введение
Цель задания — получение навыков создания веб-карт с использованием QGIS.
Необходимая теоретическая подготовка: модели пространственных данных, модели пространственных объектов, базы пространственных объектов, картографические проекции.
Необходимая практическая подготовка: Знание основных компонент интерфейса QGIS (менеджер источников данных, таблица слоёв, фрейм карты, менеджер компоновок). Работа с различными форматами источников пространственных данных. Настройка символики и подписей объектов. Владение базовыми ГИС-технологиями, в том числе пространственный и атрибутивный запросы.
Исходные данные: набор данных, созданный на основе Natural Earth, индекс-городов.рф и how-old-is-this.house.
Ожидаемый результат: мультимасштабная веб-карта, доступная для просмотра по ссылке.
14.1.1 Контольный лист
- Добавить на карту слои пространственных данных
- Подготовить слои пространственных данных с помощью атрибутивных и пространственных запросов
- Оформить слои
- Задать масштабные границы отображения слоёв
- Экспортировать результат в виде веб-страницы
- Опубликовать веб-страницу
14.1.2 Аннотация
Веб-карты — это карты, предназначенные для использования в сети. Их основными достоинствами являются интерактивность, общедоступность и мультимасштабность. В рамках данного упражнения мы научимся создавать веб-карты с помощью QGIS, по ходу подготовки веб-карты закрепим полученные на предыдущих занятиях навыки.
14.2 Получение и подготовка исходных данных
Создайте рабочую директорию для выполнения упражнения и заведите в ней новый проект QGIS.
Добавьте в созданный проект все слои, содержащиеся в архиве с исходными данными и изучите их.
Вопрос 1: какие данные имеются в загруженном наборе? Какую семантическую информацию они содержат?
Вопрос 2: какую информацию содержат поля с суффиксом \_points
в наборе данных о городах?
- Отключите слой со зданиями.
Перейдите на сайт Natural Earth и загрузите набор пространственных данных, описывающий единицы административно-территориального деления (АТД) 1-го порядка с детальностью масштаба 1:10 000 000.
Страница загрузки данных NaturalEarth
Распакуйте архив в вашу рабочую директорию и добавьте набор данных в проект QGIS
Примечание: данные, получаемые с Natural Earth, поставляются в формате шейп-файлов. Помните, что шейп-файл — это несколько файлов. Не стоит распаковывать архив непосредственно в директорию проекта; вместо этого лучше завести вложенную папку специально для этого набора даных.
Окно QGIS после добавления всех необходимых данных
Выберите в слое единиц АТД регионы, относящиеся к Центральному федеральному округу РФ (ЦФО).
Экспортрируйте выборку в новый файл формата GeoPackage. Для этого в контекстном меню слоя выберите «Экспорт — Сохранить выбранные объекты как…»
Экспорт выборки
Добавьте экспортированный набор данных в проект, если этого не произошло автоматически, и удалите из проекта исходный слой с регионами мира.
Из общего набора данных о городах выберите те города, которые попадают в пределы ЦФО. Экспортируйте выборку и добавьте её в проект. Удалите из проекта исходный слой с городами.
Отобразите содержимое фрейма карты в QGIS в полном охвате и сделайте снимок экрана.
Скриншот 1: подготовленные исходные данные
14.3 Расчёт среднего качества городской среды в регионе
На этом шаге вам нужно рассчитать среднее значение индекса качества городской среды для каждого субьекта РФ. В QGIS есть инструмент, позволяющий подсчитать число точек в полигоне, в том числе с учётом весовых коэффициентов. Можно рассчитать «суммарный» индекс качества городской среды для каждого региона, а затем разделить его на число городов в регионе и таким образом получить среднее значение индекса.
Используйте инструмент Подсчёт точек в полигоне… (Вектор — Анализ), чтобы определить число точек в каждом полигоне. Самостоятельно задайте имя целевого поля. Результат можно сохранить во временный слой.
Инструмент «Подсчёт числа точек в полигоне»
Теперь вновь используйте тот же инструмент, чтобы рассчитать суммарное значение индекса («вес») в каждом полигоне. Самостоятельно задайте имя целевого поля, но таким образом, чтобы оно отличалось от имени поля числа точек, созданного на предыдущем шаге. Результат вновь сохраните во временный слой.
Соедините таблицы атрибутов двух полученных слоёв.
Используйте калькулятор полей, чтобы посчитать среднее значение индекса в каждом регионе. Результат запишите в виде целых чисел (integer)
Сохраните слой, в котором посчитаны средние значения индекса, в файл формата GeoPackage.
14.4 Оформление карты
- Удалите с карты все слои, кроме:
- Слоя с регионами ЦФО, для которых подсчитаны средние значения индекса;
- Слоя с городами ЦФО;
- Слоя со зданиями города Владимир.
- Изобразите города с помощью значков разного цвета в зависимости от значения показателя total_points (символизация по диапазонам значений). Число классов, метод классификации и цветовую шкалу выберите самостоятельно, учитывая особенности картографируемого показателя
- Изобразите регионы ЦФО с помощью картограммы на основе рассчитанных средних значений индекса. Отредактируйте число классов, границы классов и цветовую шкалу таким образом, чтобы они совпадали с настройками слоя городов
- Изобразите здания способом «градуированных цветов» (символизация по диапазонам значений) на основе года постройки. Самостоятельно задайте число классов, метод классификации (можно задать граничные значения вручную), цветовую шкалу. Отключите обводку полигонов.
- Сделайте снимок экрана
Скриншот 2: слои проекта после применения настроек визуализации
14.5 Подготовка карты к публикации
14.5.1 Перевод названий полей на русский язык
Необходимо заменить английские наименования полей на русские, чтобы пользователю было удобнее работать с информацией на карте.
- В слое с регионами назовите по-русски поля с названием региона и со средним значением индекса качества городской среды. Экспортируйте его в новый слой, оставив только переведённые поля.
- В слое с городами назовите по-русски поля с названием города и поля с суффиксом “_points”. Экспортируйте его в новый слой, оставив только переведённые поля.
- В слое со зданиями назовите по-русски поле “r_year_int” и другие поля на своё усмотрение. Экспортируйте его в новый слой, оставив только переведённые поля.
Зачем выполняется экспорт в новый слой? Почему после перевода названий полей исчезают слои?
14.5.2 Настройки мультимасштабного отображения
В мелком масштабе нецелесообразно показывать городские здания, а в крупном — регионы.
Для определения мультимасштабности используйте вкладку Rendering в свойствах слоя. Регионы должны отображаться в масштабах мельче 1:1 000 000. Города — в масштабах от 1:2 000 000 до 1:100 000. Здания — в масштабах крупнее 1:100 000.
14.5.3 Добавление базовой карты
Лицензии ряда базовых карт жёстко ограничивают возможности их использования. Например, подложку Яндекс.Карт можно использовать только в сервисах на основе API Яндекс карт. При создании веб-карт, доступных в глобальной сети, к этому надо относиться особенно внимательно.
14.6 Публикация карты
Чтобы карта стала доступна в Интернете, её надо экспортировать в виде веб-страницы и разместить её на веб-сервере (мы для этого используем бесплатные возможности сервиса Netlify).
- Установите плагин qgis2web
- Приблизьтесь к карте так, как бы хотели, чтобы она выглядела при публикации. Создайте веб-карту на основе проекта Web > qgis2web > Create web map.
- Для каждого из полей во всплывающем окне кроме полей с индексами установите строчную подпись (inline label).
- В качестве движка для создания веб-карты выберите OpenLayers или Leaflet.
- Во вкладке Appearance добавьте список слоёв и возможность поиска городов по названию.
- Во вкладке Export задайте папку, куда будет экспортирована папка с веб-картой.
- Зарегистрируйтесь на Netlify
- Зайдите в аккаунт и перенесите папку с веб-страницей карты в соответсвующее окно.
- В настройках сайта замените имя сайта по собственному усмотрению.