Статьи

Открытый урок по ГИС — раскраски с городами в QGIS

2025-04-18 11:08 Туториалы Дизайн
Сложность: подойдет для начинающих и с минимальным опытом работы в QGIS
Версия QGIS на скринах: 3.38
Учимся делать городскую карту-раскраску в QGIS, параллельно узнав простые, но полезные основы ГИС. В итоге получим PDF-раскраску, которую можно распечатать.

Что узнаем на уроке:

  • Открытие проекта и базовой карты в QGIS
  • Скачивание данных из OpenStreetMap через QuickOSM
  • Стилизация слоев
  • Точечная заливка
  • Работа с макетом
Если вы ГИС-специалист, вы и так многое знаете из этих основ. Но для тех, кто только познает QGIS, это возможность попрактиковаться на небольшом проекте. В случае, если это ваш первый ГИС-проект, что-то может показаться сложным, что-то придется погуглить или поэкспериментировать. Главное — не бойтесь узнавать новое и не бойтесь ошибаться, только так можно научиться новому :)
А если вы начинаете работать в QGIS и хотите подтянуться до уровня ГИС-специалиста, присоединяйтесь к курсу «Введение в QGIS»! Выйдете оттуда с большим количеством практических знаний и с готовыми картами.

Что понадобится

  • QGIS — открытое и бесплатное ПО для обработки и визуализации геоданных
  • плагин QuickOSM
  • плагин QuickMapServices

Пошаговое создание карты

Создаем проект

Создаем в QGIS проект — место, где будут храниться слои, и где мы будем их визуализировать. Для этого в верхней строке меню кликнем «Проект» — «Создать»:
QGIS — это большая программа, в ней сотни настроек. В этом проекте нам подойдут базовые настройки и базовая система координат проекта, которая принимается по умолчанию, поэтому можно ничего не менять, QGIS все сделает самостоятельно. А вот в более сложных проектах без знаний о системах координат не обойтись.

Выбираем район с красивым узором застройки

Чтобы появилась гео-основа, подключаем плагин QuickMapServices — он подгружает в проект готовые базовые карты или подложки — готовую картографическую основу, чтобы ориентироваться по ней. Это полезный шаг в начале многих проектов. Чтобы узнать про этот шаг больше, читайте про базовые карты в QGIS.
В верхней строке меню QGIS найдите «Модули» — «Управление модулями». Во вкладке «Все» наберите QuickMapServices и установите его. Теперь он будет доступен во вкладке «Интернет». Откроем через нее базовую карту OpenStreetMap, чтобы сориентироваться и выбрать интересный район.
Если каких-то базовых карт в модуле нет или что-то пошло не так, зайдите в «Настройки» модуля. Там же можно добавить дополнительные базовые карты.
Нам понадобится найти интересные здания — именно они лучше всего отрисованы в крупных городах, и именно их приятнее всего раскрашивать. Я возьму центральную часть Санкт-Петербурга — просто приближаюсь к ней на подключенной карте OSM до нужной области.

Скачиваем слои со зданиями

Дальше добавим в проект здания, чтобы визуализировать их в виде раскраски. Плагин QuickOSM в QGIS — это простой способ скачивать данные OpenStreetMap напрямую в проект. Информация хранится в базе данных OSM, плагин обращается к этой базе и подгружает данные в проект в виде слоя. Это не единственный способ скачать данные из OSM, но один из самых удобных, если вы работаете в QGIS.
Как и в шаге 1, устанавливаем модуль через вкладку «Модули» в верхней строке и открываем через зеленую иконку с лупой, появившуюся в меню (иконка есть ниже на скрине).
Для задачи с раскраской нужно знать про следующие теги OpenStreetMap:
  • building=* — полигоны зданий; нам понадобятся все значения тега
  • highway=* — линии дорог и троп; нам понадобятся все значения тега
  • leisure=park — парки по желанию, но с ними будет красивее
  • natural=water — водные объекты по желанию, если они попали на рисунок
Чтобы подгрузить в проект здания, откроем плагин и выставим следующее:
Выставляем все поля как на скрине, кликаем «Выполнить запрос», и слои со зданиями появляются в стопке всех слоев. Удаляем из стопки слои с линиями и точками, оставив только полигоны. Чтобы удалить ненужные слои, кликните правой кнопкой мыши и выберите «Удалить слой».
Полигоны зданий сейчас во временном слое, и в списке слоев они отмечены особой иконкой. Чтобы комфортно работать с ними, пересохраняем их в слой GeoPackage, который будет храниться у нас локально. Теперь, если мы сохраним и закроем проект QGIS, а затем снова откроем его, ничего не потеряется.
Сохраним слой в постоянный, удалим временный слой и оставим здания пока как есть. Стилизуем их чуть позже.

Скачиваем дороги

Дороги придадут раскраске более законченный вид. Скачиваем их так же, как и здания, только прописываем другой тег.

Есть несколько вариантов, как оформить дороги. Мне удобнее скачать сразу все линии через запрос на все значения highway=*, а затем убрать видимость лишних линий, вроде пешеходных троп.
После выполнения запроса в проекте появилось очень много дорог, и это нормально. В зависимости от города дорожная сеть будет разной, и понадобится отразить разные категории дорог и тропинок, которые в OSM хранятся в разных значениях тегов. Поэтому общий случай, который подойдет всегда — это скачать все дороги сразу, а потом убрать ненужное.
Для начала удалим из стопки слоев появившиеся слои с точками и полигоны, потому что нам нужны только линии. Затем пересохраним слой дорог в .gpkg, чтобы работать с постоянным слоем, и удалим временный. Теперь кликнем правой кнопкой мыши на название слоя и зайдем в свойства слоя. Выставим в типе отрисовки «Символизацию по уникальным значениям», в поле «Значение» выберем highway и кликнем «Классифицировать», а затем «Ок».
Теперь у каждого типа дороги свой знак, все ненужные дороги будет легко отключить, а остальные — легко настроить руками.

Стилизация зданий и дорог

Когда мы добавляем слой в проект, получаем стилизацию одним случайным цветом. Чтобы поменять цвет зданий и дорог, кликаем на слой в стопке слоев правой кнопкой мыши и заходим в «Свойства слоя» — «Стиль». Там тоже много разных интересных настроек, но нам нужны базовые.
Для зданий выставляем черный контур и прозрачную или белую заливку:
Для дорог нужно выставить черный цвет и толщину, но сначала уберем часть дорог, оставив только важные. В стопке слоев уберем галочки тех типов дорог, которые не хотим видеть на раскраске. Для каждой ситуации набор галочек может быть разным, поэтому лучше пощелкать и посмотреть, какие дороги мы хотим видеть.
Теперь выставляем цвет и толщину линии для оставшихся дорог, кликнув на классы правой кнопкой мыши:
Задача со звездочкой: так как на фрагменте есть реки, их можно добавить, скачав их также через QuickOSM, выставив ключ natural, а значение water. Чтобы эти линии отличались от дорог, их контуры можно выделить цветом и толщиной линии.

Наводим красоту в парках

Здания есть, дороги есть, можно раскрашивать?
Не совсем. Чтобы было красиво и не лениво, сделаем несколько интересных движений, которые придадут раскраске более законченный вид.
В центре Санкт-Петербурга много парков, а на раскраске они выглядят как пустые места, потому что там нет зданий и дорог. Чтобы было красиво, и при этом не мешало раскрашивать, добавим точечную заливку — небольшие серые точки. А еще красивые тропинки в парках, тоже ненавязчиво. Заодно познакомимся с разными способами стилизации линий и полигонов.
По аналогии с шагами 2 и 3 скачаем парки на территории по тегам leisure=park и пересохраним в .gpkg.
Сейчас парки раскрашены по умолчанию. Хочется выделить их так, чтобы их можно было раскрашивать. Для этого можем использовать текстурную заливку, например, точки. Заходим в свойства слоя — «Стиль» — и выбираем в «Типе слоя» заливку точками:
Теперь нужно настроить точки. Кликаем на «Простой маркер» и устанавливаем серый цвет, небольшой размер и стиль обводки «без линии»:
Чтобы настроить расстояние между точками, кликните на слова «Заливка точками» и выставите интервал:
Чтобы посмотреть изменения, не закрывая окно, кликайте «Применить». Когда все готово — «Ок».
Задача со звездочкой: можно через QuickOSM скачать тропинки в парках по значению highway=footway, обрезать их по слою парков и обозначить пунктиром. В верхней строке меню ищите «Вектор» — «Геообработка» — «Обрезать». В исходном слое выставите слой троп, в «слое наложения» — парки. Выполните и в свойствах слоя задайте пунктир. Получится красиво.
Хотя этот туториал должен подходить для новичков, с нуля осваивать QGIS сложно — это большая программа. Запишитесь на курс «Введение в QGIS». Там есть все основы работы с пространственными данными и вся нужная теория и практика, чтобы делать карты и проводить анализ.

Оформление карты в макете

Макет — это отдельный раздел QGIS, где мы оформляем карту, превращая ее из совокупности слоев в изображение для печати. Именно там добавляются элементы карты: сетка координат, масштабная линейка. И там же можно подготовить изображение для экспорта в хорошем качестве или для печати.
В макете десятки настроек, но сейчас мы научимся:
  • создавать макет
  • настраивать макет под печать в формате А4
  • добавлять в него карту
  • добавлять надписи
  • экспортировать карту
Создаем макет через верхнюю строку меню — «Макет»:
Наберем название макета, и приступим к оформлению. Для начала кликнем правой кнопной мыши и зададим размер и ориентацию страницы.
После этого добавляем в макет карту: выбираем в боковом меню инструмент и создаем на листе прямоугольник. В нем автоматически появится карта.
После того, как мы добавили карту, можем настроить ее получше. Меняйте охват содержимого и масштаб, используя выделенные на скрине элементы:
Добавим надпись, чтобы придать завершенности. Через верхнее меню добавляем новый элемент, затем выделяем на листе мышкой, куда его поместить. После этого по клику на этот элемент настроим содержимое, шрифт и размер цвета:
Добавим еще надпись «(c) участники OpenStreetMap». Данные OpenStreetMap открыты, но это не освобождает от ответственности перед требованиями лицензии. Если собираетесь распространять как печатные издания, кроме указания источника должна быть ссылка на www.openstreetmap.org/copyright
Теперь карта готова. Выглядит просто, зато в процессе мы узнали многие основы работы с ГИС: работу с проектом, визуализацию слоев и основу работы с макетом. Это база, к которой потом можно добавить пространственный анализ. А поколдовав со стилями, вместо раскраски можно сделать простую, но эффектную карту города.

Открытое обучение на открытых данных

Этот урок сделан на данных OpenStreetMap — потрясающей открытой базе данных, куда каждый может вносить изменения. В данных могут быть пробелы, но благодаря энтузиастам точность зданий и дорог в крупных городах высокая. И все открыто и удобно.

Про открытые данные я думаю так: получаешь — отдавай. Если вы пользуетесь данными OSM для своих проектов или в обучающих целях, присмотритесь к редакторам OpenStreetMap и попробуйте улучшить карту. Именно на этом основано сообщество открытых данных и открытой информации. И после этого указывать авторство данных по лицензии приятно, как будто себя тоже похвалил :)
Материал подготовила Юлия Федорова

Передаю благодарность Александру Зуеву, который пишет для блога Картетики и который делал туториал о том, как сделать минималистичный городской постер в QGIS. Именно там я научилась использовать QuickOSM, спасибо!