Глава 2. Расчет динамики ВНП с использованием оконных функций#
Методические указания (как делать)#
- Скачайте данные
- Откройте QGIS и загрузите данные из CSV файла
- Слой ->Добавить слой -> Добавить слой из текста с разделителями
- Формат файла -> Другие разделители -> точка с запятой
- Имя слоя -> ВВП_Регионы
- Параметры записей как на картинке. Формат геометрии -> без геометрии
Примечание
: Проверьте текст в разделе «Примеры данных»
Если там нет русского текста, то поменяйте кодировку на Windows-1251
- Зайдите в База данных -> Менеджер БД
- Раскройте вашу БД и нажмите на Public
- Затем Импорт слоя/файла
- Параметры импорта настройте
следующим образом:
- С помощью модуля QuickOSM выгрузите
Административные границы субъектов РФ - Параметры (см. картинку)
- Admin_level = 4
- Boundary = administrative
- В Россия
- Удалите лишние слои
- Удалите лишние атрибуты в admin_level_4_boundary_administrative_Россия
На этом шаге выпишите списком какие атрибуты оказались лишними!
- Переименуйте слой admin_level_4_boundary_administrative_Россия в Субъекты_РФ
- Импортируйте слой в БД,
Параметры на картинке:
- Сделать запрос к БД и сформировать список Регионов, которые соседи вашего выбранного региона
SELECT сосед."name" AS соседний_регион, сосед.geom
FROM субъекты_РФ AS основной
JOIN субъекты_РФ AS сосед
ON ST_Touches(основной.geom, сосед.geom)
WHERE основной."name" = 'Ваша область';
13. Выгрузите слой и проверьте все ли регионы-соседи были получены
Справа пример для Нижегородской области (коричневая) регионы-соседи (серые)
-
Выписать регионов-соседей списком
-
Соединить таблицу ВВП_Регионы и субъекты_РФ по названию регионов. В запросе выбрать регионы соседей и ваш регион. Сформировать статистику изменения динамики ВВП (год к году)
SELECT ВВП_Регионы."object_name" AS регион,
субъекты_РФ.geom,
ВВП_Регионы."year" AS год,
ВВП_Регионы."indicator_value" AS ВВП,
ВВП_Регионы."indicator_value" - LAG(ВВП_Регионы."indicator_value") OVER (PARTITION BY ВВП_Регионы."object_name" ORDER BY ВВП_Регионы."year") AS динамика_ВВП
FROM ВВП_Регионы
JOIN субъекты_РФ ON субъекты_РФ."name" = ВВП_Регионы."object_name«
WHERE ВВП_Регионы."object_name" IN ( 'Регион 1', 'Регион 2', 'Регион N' )
ORDER BY
ВВП_Регионы."object_name",
ВВП_Регионы."year";
Замените на список интересующих вас регионов + ваш выбранный регион ( 'Регион 1', 'Регион 2', 'Регион N' )
Если в итоговом слое будет не хватать регионов проверьте написание в регионов в таблице ВВП_Регионы
и субъекты_РФ
- Выпишите названия регионов из СубъектыРФ и вставьте в запрос к таблице ВВВ_Регионы. Сравните результат
Например для Нижегородской области
SELECT DISTINCT(ВВП_Регионы."object_name“) AS регион
FROM ВВП_Регионы
WHERE
ВВП_Регионы."object_name" ILIKE '%Ивановская область%' OR
ВВП_Регионы."object_name" ILIKE '%Костромская область%' OR
ВВП_Регионы."object_name" ILIKE '%Марий Эл%' OR
ВВП_Регионы."object_name" ILIKE '%Чувашия%' OR
ВВП_Регионы."object_name" ILIKE '%Мордовия%' OR
ВВП_Регионы."object_name" ILIKE '%Владимирская область%' OR
ВВП_Регионы."object_name" ILIKE '%Рязанская область%' OR
ВВП_Регионы."object_name" ILIKE '%Кировская область%' OR
ВВП_Регионы."object_name" ILIKE '%Нижегородская область%'
ORDER BY ВВП_Регионы."object_name";
Обратите внимание, что для
Чувашии
ничего не высветиться. Почему?Потому что полное название
Чувашская республика
, что не совпадает с запросом
- Используя результаты запрос обновите данные в таблице ВВП. Например для Нижегородской области пришлось переименовать следующие 4 региона:
UPDATE ВВП_Регионы
SET "object_name" = CASE
WHEN "object_name" = 'Республика Марий Эл' THEN 'Марий Эл'
WHEN "object_name" = 'Республика Мордовия' THEN 'Мордовия'
WHEN "object_name" = 'Рязанская область' THEN 'Рязанская область‘
WHEN "object_name" = ' Чувашская республика ' WHERE "object_name" = ' Чувашия'
ELSE "object_name"
END;
- Настройте стиль полученного слоя
ПКМ по слою
->Стиль
->символизация по диапазонам значения
( в старых версиях QGISградуированный знак
) ->значение
Динамика_ВВП ->Режим (алгоритм)
Равные Интервалы ->количество классов
подбираете самостоятельно и руководствуетесь своим эстетическим чувством . Симметрическая классификация вокруг 0. Цветовой ряд как на картинке.
-
Не забудьте настроить верную процекцию!
-
Используя модуль
Time Manager
создать гиф-изображение с иллюстрацией динамики ВВП
21.Убедитесь, что данные Года в формате Date
- Выполните обновление типа столбца (на всякий случай)
- to_date(«Имя столбца с годами", 'yyyy')
Состав отчета#
- Используя файл description_regions_collection_102_v25062024.pdf дать описание данных
- Добавить цитирование, как указано в файле и соблюдая ГОСТ
(ссылка в список используемой литературы) - Привести первые 4 строки из CSV файла и дать комментарий к каждой приведенной характеристике
- Показать запрос для отображения (Листинг 6) всей таблицы с данными ВВП в БД.
- Указать на источник данных для слоя с Регионами РФ. Привести процесс запроса
(какой плагин использовался, с какими параметрами) - Указать список атрибутов, которые вы удалили из данного слоя.
- Показать запрос для отображения (Листинг 7) всей таблицы с данными Регионами в БД.
- Привести запрос из пункта 12 в исправленном виде для вашего варианта (Листинг 8) . Рис. 13 Результат данного запроса
- Дать определение оконным функциям и объяснить принцип их работы. Дать по пункту 14
Сформировать Листинг 8. На рис. 14 привести результат запроса. - Если возникли проблемы привести список субъектов, которые не вывелись на экран. Указать причину. Дать список изменений.
- Показать настройки стиля слоя и дать комментарий к нему (что такое Симметрическая классификация в QGIS и почему там «вокруг 0» и проч)
Рис. 15 Показать результат применения стиля. - Рассказать про процесс построения картографической анимации для визуализации динамики изменения ВВП выбранных регионов. (Какой модуль используете, как настраиваете)
- Дать результаты анализа (какой из регионов показывает положительную динамику, какой отрицательную и проч)
Gif изображение приложить к отчету, который вы присылаете