Создаём интерактивную карту в QGIS. Часть первая

QGIS — это свободное геоинформационное программное обеспечение (ГИС) с открытым исходным кодом, предназначенное для создания, редактирования, визуализации, анализа и публикации пространственных данных - "Википедия".
В этой статье я приведу пошаговый алгоритм создания интерактивных карт - наподобие такой, что приведена вот на этой странице. Сразу бросаться "с места в карьер" мы не будем: начнём с основ работы в программе QGIS, и для начала решим простую прикладную задачу: создадим карту локальных топонимов.

Начало работы. Установка программы

Скачать программу проще всего с официального сайта. Переходим по ссылке:
https://qgis.org/download/
И скачиваем последнюю стабильную версию программы. На момент написания этой заметки это версия 3.44.12 Solothurn.
Важно!
  1. Путь установки (папка, куда ставится программа) — должен содеожать только латиницу, цифры, подчёркивания и дефисы. Не используйте пробелы (хотя они обычно допустимы, но лучше без них).
  2. Пример хорошего пути: C:\GIS\QGIS или D:\Programs\QGIS
После установки запустите QGIS. Перед вами появится чистый лист (холст), готовый для работы: пустой экран по центру, панели инструментов вверху, браузер и панели слоёв слева.
В строке заголовка будет написано «Untitled Project» (Без имени), пока вы его не сохраните

Сохраняем новый проект

Сразу после создания нового проекта рекомендуется его сохранить, чтобы не потерять данные.
  1. В верхнем меню выберите Проект (Project) → Сохранить как... (Save As...).
  2. В появившемся окне выберите папку для вашего проекта.
  3. Дайте проекту осмысленное имя (например, My_Project).
  4. Нажмите «Сохранить». Файл проекта будет иметь расширение .qgz.
Важно! В названии файла проекта (.qgz) также используйте только латиницу, цифры, дефисы и подчёркивания, без пробелов.
👉 Пример: my_first_project.qgz или project_2026_08_09.qgz
Папка, в которой лежит проект и путь к ней тоже должен содержать только латиницу.
👉 Пример: C:\GIS\MyProjects\FirstProject\ или D:\Data\UrbanPlan

Установка модуля Basemaps и загрузка карты-подложки

Далее установим модуль Basemaps. Он создан специально для загрузки и управления множеством подложек - от широко известных OpenStreetMap / OpenTopoMap до спутниковых USGS, ESRI или хорошо знакомого нам Google.
Для установки модуля Basemaps в верхнем меню находим раздел "Модули": нажимаем на него. Появляется выпадающее меню: выбираем вкладку "Управление модулями":
Открывается окно с полным перечнем модулей, доступных для скачивания и установки. Список объёмный, но пугаться не нужно: в открывшемся меню переходим во вкладку "Все", в окне поиска вводим "Basemaps", находим его в списке и нажимаем "Установить модуль":
После установки плагин обычно добавляет свою панель инструментов или пункт в меню. Она выглядит как на картинке ниже (отмечена маленьким кружком). Нажмите на неё, и перед вами появится перечень карт, доступных для загрузки (окно "Базовые карты"). Выберите ту карту, что вам приглянулась (например, ниже я выбрал World Imaginery от ESRI - отмечена большим кружком на картинке внизу). Дважды кликните по ней: карта подгрузится в окно QGIS.
Обратите внимание: в окне "Слои" появился первый слой, World Imaginery. Это наша карта-подложка:

Загрузка цифрового рельефа местности

Говоря простым языком, цифровая модель рельефа (ЦМР) - это карта высот, которая поможет для создания трёхмерных сцен. С помощью ЦМР мы сможем увидеть местность такой, какая она есть на самом деле: с холмами, равнинами и низинами, и рассмотреть её со всех сторон.
ЦМР-файлы можно скачать на портале NASA Geodata. Для того, чтобы это сделать, перейдите по адресу: urs.earthdata.nasa.gov и зарегистрируйтесь на портале (это бесплатно). Запомните свой логин и пароль: он понадобится на следующем шаге.
Далее перейдите на сайт dwtkns.com/srtm30m. Здесь вы увидите карту мира, разбитые на прямоугольники. Всё просто: данные ЦМР разбиты на квадраты, чтобы вы могли работать только с тем участком, что вам нужен:
Выберите прямоугольник, в котором находится ваше село, и нажмите на него. Появится ссылка для скачивания:
Нажмите на неё: появится окно ввода логина и пароля с сайта NASA Geodata. Введите логин и пароль: начнётся загрузка архива с файлом ЦМР. Он имеет расширение .hgt
Откройте скачанный архив, и перетащите hgt-файл в окно QGIS: он добавятся как слой рельефа. Файл в окне выглядит как чёрно-бело изображение: цвет пикселей здесь кодирует высоту (чем светлее, тем точка на местности выше). Удобнее перетащить этот слой вниз, под базовую карту, чтобы он визуально не перекрывал её.
Базовая карта и модель рельефа добавлены в проект. Не забудьте сохранить его! Теперь можно перейти к следующему этапу.

Ввод системы координат

Укажем программе, в какой системе координат мы ходим работать. Ввод системы координат происходит в правом нижнем углу рабочего окна программы:
Для работы с трёхмерными проекциями нам не подойдут географические системы координат (например, EPSG:4326 с градусами). Нам нужна система координат UTM (универсальная поперечная проекция Меркатора). Она делит поверхность Земли на 60 зон шириной 6° по долготе. Моё Елфимово, как и большая часть Нижегородской области, находится в зоне 38. В какой зоне находится ваше село - можно узнать на сайте:
https://mangomap.com/robertyoung/maps/69585/what-utm-zone-am-i-in-
38-я зона UTM выделена жёлтым цветом
Соответственно, в качестве системы координат я выбрал EPSG:32638 (универсальная проекция Меркатора для 38-й зоны).
Если вы не хотите возиться с UTM, можете выбрать систему координат ESRI:102113 (Web Mercator). Она охватывает весь мир, и на небольших расстояниях (а в краеведенни мы оперируем только такими) сильных искажений вы не заметите.

Добавляем на карту линии и полигоны (отмечаем овраги, реки, памятные места и т.п.)

Добавим на карту изображение оврага. Для этого в верхнем меню программы в меню "Слой" выберем "Создать слой", далее - "Создать слой Shapefile".
В открывшемся окне указываем название файла (нового слоя) и задаём тип геометрии: поскольку мы будем показывать овраг, который имеет замкнутый контур, указываем тип геометрии "Полигон". Если бы мы рисовали реку - следовало бы выбрать "Линия", а если бы хотели показать местоположение родника или другого отдельно стоящего объекта - нужно было бы выбрать "Точка".
После того, как всё сделали, нажимаем "ОК": появляется новый слой с нашим названием. Он пока пустой. Для начала редактирования щёлкнем по нему правой кнопкой мыши, и выберем "Редактирование слоя" (иконку с жёлтым карандашом):
Далее на панели инструментов выбираем "Добавить полигональный объект":
И начинаем добавлять точки на карте, которые образуют контур оврага. После того, как закончим, нажимаем правую кнопку мыши. Появится окно указания идентификатора (id). Нужно указать его в виде числа (любого, но лучше по порядку). Вводим единицу, и нажимаем ОК.
Овраг появляется на карте. После этого сохраняем полигон: нажимаем на иконку дискеты с карандашом (см. на картинке ниже), а после - нажимаем на иконку с жёлтым карандашом (она рядом) - выходим из режима редактирования.
Чтобы отредактировать полученный полигон, щёлкнем по слою правой кнопкой и выберем "Свойства":
Появится окно свойств, в котором в разделе "Стиль" можно выбрать цвет полигона и настроить его прозрачность.

Задаём описание слоя

Для того, чтобы создать описание оврага, контур которого мы изобразили, нужно выделить слой мышкой, после чего нажать на клавиатуре F6. Появится окно описания слоёв. Пока здесь есть только id:
Нажмём на жёлтый карандашик (переходим в режим редактирования свойств). Далее нажимаем Ctrl+W. Появится окно добавления нового свойства. Здесь в графе имя укажем его название: Описание, в графе "Тип" выберем "Текст (string), в графе "Длина" введём "999" - это максимально допустимое число символов. Нажимаем ОК.
В новом появившемся поле вводим название оврага (но можно ввести вообще всё, что угодно в виде текста). После того, как закончили - жмём на иконку дискеты, затем на жёлтый карандашик и закрываем окно.
Можно сделать то же самое иначе (для кого-то этот способ будет проще). Нажимаем правой кнопкой по слою, заходим в его свойства (Properties). Далее во вкладке "Поля" переходим в режим редактирования (нажимаем жёлтый карандашик), после нажимаем на кнопку "Новое поле":
Указание атрибутов (имя, тип и так далее) выполняется аналогично. После не забываем нажать кнопку "сохранить" и выйти из режима редактирования, нажав на жёлтый карандашик ещё раз.

Наполняем карту контентом

Аналогично отрисовываем остальные овраги (полигонами), реки (линиями), отмечаем вершины (точками).
Следующий шаг - создание трехмерной карты с помощью модуля QGIS2threejs.

Работа с модулем QGIS2threejs

QGIS2threejs — это плагин для QGIS, который превращает ваши 2D-данные в интерактивные 3D-карты. Их можно просматривать в обычном веб-браузере.
Для установки QGIS2threejs в верхнем меню QGIS выбираем "Модули" -> "Управление модулями":
В открывшемся окне переходим во вкладку "Все", после чего в окне поиска вводим "QGIS2threejs", выбираем найденный плагин и нажимаем "Установить":
После этого на панели инструментов окажется иконка модуля: зелёный треугольник над оранжевой полосой. Нажимаем его:
Модуль загружается, показывая нам трёхмерный вариант карты. В окне слева - список слоёв, которые мы добавили на предыдущем этапе. Приступим к настройке их отображения. В первую очередь, покажем метки блоков. На картинке внизу они уже настроены.
Делается это следующим образом. Щёлкаем правой кнопкой мыши по настраиваемому слою. В выпадающем меню выбираем "Properties" (свойства блока). Сейчас мы настраиваем свойства слоя "Синиха" - это овраг так называется:
Привяжем высоту слоя к ЦМР. Для этого во вкладке "Styling" в графе "Mode" блока "Z Coordinate", выберем "Relative to XXX", где XXX - название вашего слоя ЦМР. Если этого не сделать, слой будет болтаться под картой (его положение по умолчанию привязано к абсолютному значению высоты, равному ноль метров).
После во вкладке "Features" установим галочку "Export Attributes"
И, наконец во вкладке "Labels" установим галочку Show Labels (показывать метки). Здесь в графе Label Height (высота метки) задаём высоту метки над картой (в метрах), в графе Text указываем, какое именно свойство блока будет отображаться (выставляем "Описание"), ползунком Size (размер) регулируем размер текста метки.
И так последовательно проходим все слои.
После включаем отображение стрелки компаса: она будет указывать направление на север. Это делается через вкладку "View" -> Widgets-> North Arrow.
Теперь сделаем карту чуть красивее. Добавим вертикальные обрывы на границе карты. Нажмите правой кнопкой мыши по слою рельефа, в разделе DEM, выберите Properties (свойства):
В раскрывшемся окне перейдите во вкладку "Others", и установите галочку "Build Sides". Цифра в графе "Bottom Altitude" задаёт высоту вертикальной стены обрыва на границе карты.
Далее сделаем рельеф более выраженным (для средней полосы России это очень актуально). Для этого в QGIS2threejs в верхнем меню нажмите "Scene" -> "Scene Settings", после чего в раскрывшемся меню во вкладке World введите значение Z exaggeration, большее единицы (оно задаёт, во сколько раз рельеф будет более выраженным). На картинке внизу цифра "2" говорит о том, что высота вершин увеличена в два раза по сравнению с реальной.

Экспорт карты в веб

Для экспорта карты в окне QGIS2threejs выберите File - > Export to Web. В появившемся меню в графе Output Directory укажите путь до папки, в которую вы хотите сохранить ваш проект. Помните, что он не должен содержать кириллических символов. Галочку " Enable file viewer to run locally" лучше установить: это позволить посмотреть результат в браузере прямо на вашем компьютере, без загрузки проекта в сеть. После того, как параметры выставлены, нажмите "Export".
После того, как программа сообщит об успешном экспорте, в указанной вами папке появится несколько файлов и папок:
Нас интересует файл "index.html". Перетащите его в ваш браузер, и проверьте, как выглядит карта:
Если вас всё устраивает, файлы можно загрузить на Github и встроить карту на свой сайт. Если же что-то не так, как вы ожидали - это можно подправить, вернувшись назад в QGIS и выполнив загрузку карты в QGIS2threejs заново (не волнуйтесь, абсолютно всё заново делать не придётся: все настройки, сделанные вами на предыдущих этапах, будут сохранены). Дело в том, что QGIS2threejs сохраняет настройки каждый раз, когда вы закрываете её окно.
В следующей части посмотрим, как в QGIS выполнить привязку подложки - архивной карты и загрузить на карту 3D-модели.
Made on
Tilda