Время прочтения: 6 минут
Версия QGIS: 3.40.1
Уровень владения QGIS: вы знаете, что такое слои, как их создавать и подгружать в программу, а также знаете основы работы в Макете
Уровень владения QGIS: вы знаете, что такое слои, как их создавать и подгружать в программу, а также знаете основы работы в Макете
Обзорные карты — частый гость новостных изданий по всему земному шару, и зачастую в качестве обзорной поверхности территории, попавшей в заголовки медиа, используется глобус. В этой статье мы узнаем, как сделать такой обзорный глобус и добавить его на карту в QGIS.

Подготовка данных и состав карты
В этом уроке мы сделаем обзорную карту Эквадора, как на картинке ниже.

Для подготовки карты я использовал два слоя, взятых с Natural Earth:
- границы государств (ne_10m_admin_0_countries);
- меридианы и параллели, кратные 20 градусам (ne_10m_graticules_20).

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

Теперь начнем создавать глобус.
В QGIS есть удобная возможность прямо в макете устанавливать систему координат карты. То есть в проекте у нас может быть одна система координат, в которой «на лету» пересчитываются координаты объектов всех слоев, а в макете мы можем устанавливать другую. Это удобно, когда необходимо сделать картинку и выгрузить ее в картографической проекции, в которой неудобно работать со слоями.
Чтобы установить необходимую ортографическую проекцию, сначала нужно выбрать карту, а затем нажать на значок «Выбрать систему координат».

В появившемся меню на той же панели выбираем «Пользовательская СК», затем «Формат» — «Proj» и в появившееся окошко вставляем классические параметры ортографической картографической проекции в формате Proj:
+proj=ortho +lat_0=0 +lon_0=0 +x_0=0 +y_0=0

Первая часть задачи выполнена, у нас получился глобус, но вот Эквадора на горизонте не видно, а нам нужно показать его в самом выгодном свете. Для этого необходимо модифицировать параметры картографической проекции, а значит давайте посмотрим на них еще раз:
+proj=ortho +lat_0=0 +lon_0=0 +x_0=0 +y_0=0
Для того, чтобы центрировать проекцию глобуса на Эквадор, выгоднее, чтобы основной меридиан и основная параллель проходили как можно ближе к Эквадору. Эти параметры регулируются с помощью строчек «lat_0=0» и «lon_0=0».
Lat_0=0 означает, что основная параллель проекции равна 0 градусов, то есть Экватору. С меридианом аналогично. Поэтому нам после знака «=» вместо нуля нужно выставить другие значения, и для Эквадора код будет выглядеть так
+proj=ortho +lat_0=-10 +lon_0=-70 +x_0=0 +y_0=0

Настройка параметров проекции через макет карты позволяет без лишних кликов на лету менять параметры системы координат и настраивать вид глобуса. Это, на мой взгляд, гораздо быстрее и удобнее, чем настраивать систему координат в проекте, постоянно открывая и закрывая свойства проекта.
Возможно, у вас возникнет вопрос, почему я в параметрах системы координат для глобуса у Эквадора выбрал основной параллелью не экватор, что логично для названия страны, а 10 градусов южной широты. Ответ прост: мне нравится смещать центр ортографических проекций относительно экватора, так глобус кажется объемнее. Вы можете убедиться в этом, сравнив два предыдущих скриншота.
Настраиваем дизайн глобуса
Помимо того, что нам нужно добавить глобус на карту, необходимо настроить его дизайн, который включает следующие элементы:
- стиль горизонталей и параллелей;
- стиль слоя с полигонами государств, на котором важно выделить Эквадор;
- стиль океана, окружающего сушу. Он придаст объем глобусу, а также выделит его сильнее на фоне основной карты либо другой картинки, которую будет дополнять глобус.
Я подробно остановлюсь на стиле океана и стран, потому что их настройка не так очевидна, как может показаться.
Для начала отобразим на глобусе океан, и просто добавление слоя океана от Natural Earth нам тут не поможет. Здесь нужен другой метод, так как пересчет слоя в ортографическую проекцию будет ломать слой.
Для начала возвращаемся в проект, заходим в «Настройки» и выбираем «Пользовательские проекции», после чего добавляем туда нашу проекцию для Эквадора.

Устанавливаем эту новую проекцию в качестве системы координат проекта.

Теперь давайте сделаем слой с океаном. Сначала выбираем вкладку «Вид», «Панели инструментов» и ставим галочку напротив «Панель инструментов оцифровки».
После этого создаем новый полигональный слой. Можете создать его в любом формате, хоть .shp, хоть .gpkg, но самое важное, чтобы система координат слоя была такая же, как и система координат проекта. Созданный слой ставим ниже других на панели слоев, и на появившихся инструментах оцифровки рисуем круг по нашему глобусу.


Теперь давайте выделим на этой карте Эквадор, и не только цветом, но и дополнительной рамкой, чтобы заострить внимание на территории.
Сначала настроим цвет. В стиле слоя выбираем «Символизация на основе правил», после чего настраиваем правила с помощью кода, который пишется в строку «Фильтр» («Правило»). Для Эквадора код "NAME" = 'Ecuador', для остальных стран "NAME" != 'Ecuador'.

Следующим этапом добавляем рамку.
Сначала используем инструмент «Граничные рамки», чтобы создать прямоугольник вокруг интересующего нас объекта. Если в слое много объектов, то инструмент построит граничную рамку от каждого, поэтому тут удобно выделить нужный полигон и при использовании инструмента поставить галочку напротив «Только выделенные объекты».
Если территория интереса — мультиполигон, то есть у объекта несколько контуров, то граничная рамка будет включать все контуры этого объекта. Чтобы этого избежать и построить рамку только от отдельной территории, воспользуйтесь инструментом «Разбить составную геометрию». Он разобьет мультиполигон на отдельные полигоны, сохранив атрибутивную информацию, что позволит одним кликом выделять только один контур.

Теперь нам нужно сделать рамку побольше, чтобы Эквадору было не так «тесно» в рамке, а она быстрее привлекала внимание зрителя к такой небольшой стране. Сделаем это с помощью инструмента «Буфер». В настройках «Стиль торцов» выбираем «Плоские», а «Стиль сопряжения» — «Острое».

После чего можно оформлять финальную карту в Макете и добавлять на нее глобус. Для карты с глобусом убедитесь, что в свойствах элемента на макете убрана галочка напротив настройки «Фон».

Связанные статьи:
Материал подготовил Александр Зуев