Красивые и эффектные анимированные карты хорошо показывают изменения одновременно в пространстве и во времени, да и в целом красиво смотрятся.
Расскажем о простом способе создания анимированных карт с помощью встроенных функций QGIS.
Если вам интересна эта тема, ознакомьтесь с полной версией материала на английском языке и с дополнительными советами, пояснениями и ссылками.

В ранних версиях QGIS можно было визуализировать временные данные с помощью плагина (модуля) TimeManager. Начиная с версии 3.14, в программе появился собственный встроенный инструмент работы с временными данными – Temporal Controller (или "Временные данные").
О временных данных
Для создания анимированной карты нам понадобится версия QGIS со встроенным Temporal Controller (начиная с 3.14), а также набор векторных данных с информацией о времени. Основной допустимый формат времени в QGIS — “YYYY-MM-DD hh:mm:ss”. Temporal Controller может работать также с данными о дате без указания времени, например, в формате “YYYY-MM-DD”. Самый простой способ — это иметь готовые данные с полем “Время” в допустимом формате, но это также можно сделать с помощью выражений QGIS из записей даты в любом формате, преобразовав информацию (функция to_datetime в Конструкторе выражений).
Если вы хотите попробовать создать свою анимированную карту, и у вас сейчас нет готовых временных данных, вы воспользуйтесь набором данных о движении поездов от Топи Тьюканова, автора оригинала этого текстового урока про карты-анимации (прямая ссылка на скачивание). Это файл GeoPackage размером 90 Мб.
Другие наборы данных перед работой с Temporal Controller могут потребовать обработки. Если захотеть, в виде анимированной карты можно визуализировать много разных данных, так как у многих наборов данных есть и пространственная, и временная составляющая.
Открываем новый проект и загружаем в него данные. В свойствах слоя увидим инструмент “Temporal” (“Временные данные”) с довольно простым пользовательским интерфейсом. Далее выберем, какой тип подходит для наших данных в поле “Параметры”. Если используете готовые данные о поездах, в поле “Параметры” стоит выбрать “Single field with Date/Time” (одно поле с датой/временем).

Поле “Длительность события” определяет, как долго будут видны объекты. Поскольку GPS-точки в наборе данных о поездах немного неточны, попробуйте выбрать длительность от 10 секунд до минуты.

У контроллера есть виджет, который позволяет нам анализировать и просматривать создаваемую анимацию на главном экране QGIS. Если вы не видите его, значит он не подключен. Виджет включается в меню Вид → Панели → Temporal Controller.
После появления панели для запуска анимации необходимо нажать на зеленую кнопку воспроизведения слева. После начала воспроизведения в виджете появятся новые кнопки, позволяющие перематывать анимацию. Далее в меню Temporal Controller нужно воспользоваться кнопкой в виде двух синих стрелочек, чтобы считать атрибуты времени из данных и отфильтровать их соответствующим образом.

Значение “Step” (“Шаг”) влияет на длительность кадра. Отрегулируйте его в соответствии с особенностями вашего набора данных. Поскольку в примере с данными о поездах мы работаем только с одним атрибутом, имеет смысл сделать так, чтобы значение шага в анимации соответствовало длительности события или было немного больше. Обратите внимание, что очень маленькое значение шага и большой временной интервал могут привести к тому, что анимация будет содержать огромное количество кадров. Чтобы получить наилучший результат (без пустых кадров, без перекрывающихся кадров, без слишком большого количества выходных кадров и т.д.), нужно немного подкорректировать эти два значения.
Время загрузки каждого кадра (как и время экспорта) зависит от производительности вашего компьютера, формата файла и выбранных настроек. Для крупных проектов используйте более эффективные форматы файлов (например, PostGIS или GeoPackage вместо CSV или GeoJSON).
Осталась только стилизация. Можно классифицировать цвет объекта по его id (уникальному номеру) или использовать математические выражения. Например, сделать так, чтобы размер символа зависел от значения скорости.
От кадров к анимации
При сохранении получаем диалоговое окно, в котором вы можете выбрать, куда сохранить результаты. Это окно очень похоже на обычное окно экспорта изображения в QGIS, и при экспорте анимации мы можем определить вручную разрешение изображений.

Сейчас QGIS по умолчанию сохраняет кадры в виде отдельных PNG-файлов, которые нам придется еще превратить в анимацию вручную. Рекомендуем делать анимации с количеством кадров от 100 до 500, они не слишком длинные и не слишком объемные. От частоты кадров зависит легкость восприятия анимации. Особенно это касается GIF-анимаций, которые нельзя отмотать назад или поставить на паузу.
Есть несколько вариантов преобразования изображений в анимацию:
- В Windows 10 можно использовать встроенное приложение Video Editor. Импортируйте кадры в проект и создайте видео – это просто.
- Анимацию можно создать онлайн, например, на сайте ezGIF.com – он хорошо подходит для небольших анимаций.
- Можно использовать GIMP или другие редакторы изображений.
Может быть, в будущем появится возможность создать GIF прямо в QGIS, но сейчас превращать кадры в анимацию приходится вручную, в других программах.
На примере с данными о поездах у нас может получиться вот такая анимированная карта:
Стилизация и идеи для анимации
У QGIS много есть много возможностей стилизации. Вот несколько советов:- Чтобы анимация смотрелась эффектно, не добавляйте на карту лишних элементов и упростите фон. Не забывайте, что вы можете изменить цвет фона проекта, и темный фон часто смотрится стильно.
- Экспериментируйте с цветовыми палитрами. Как и в случае с обычной статической картой, цвета влияют на эффектность.
- Используйте математические выражения и динамическую стилизацию.
Что еще можно анимировать, кроме приведенных ранее наборов данных? Что угодно!
- Анимированные GPS-треки. Экспортируйте данные из приложения на смартфоне или другого устройства.
- Анимированные растры. Temporal Controller может работать и с растрами в формате, например, WMS-T.
- Анимации с изохронами. Они могут показать, как далеко можно добраться от определенной точки в определенное время.
Другие примеры анимированных карт смотрите на сайте Time Manager. И экспериментируйте самостоятельно! А если хотите обратную связь и советы от эксперта, на курсе "QGIS для практиков: проекты и анализ данных" мы создаем красивые анимации затопления территорий. На них сразу видно, какая часть территории уходит под воду.

Надеемся, что мы увидим еще больше креативных и красивых анимированных карт!
Материал подготовила Юлия Федорова.