Перейти к содержанию

Глава 2. Расчет динамики ВНП с использованием оконных функций#

Методические указания (как делать)#

  1. Скачайте данные
  2. Откройте QGIS и загрузите данные из CSV файла
  3. Слой ->Добавить слой -> Добавить слой из текста с разделителями

https://ratcatcher.ru/media/bd/rgr/53.png

  • Формат файла -> Другие разделители -> точка с запятой
  • Имя слоя -> ВВП_Регионы
  • Параметры записей как на картинке. Формат геометрии -> без геометрии

https://ratcatcher.ru/media/bd/rgr/54.png

Примечание: Проверьте текст в разделе «Примеры данных»
Если там нет русского текста, то поменяйте кодировку на Windows-1251

  1. Зайдите в База данных -> Менеджер БД
  2. Раскройте вашу БД и нажмите на Public
  3. Затем Импорт слоя/файла
  4. Параметры импорта настройте
    следующим образом:

https://ratcatcher.ru/media/bd/rgr/55.png

  1. С помощью модуля QuickOSM выгрузите
    Административные границы субъектов РФ
  2. Параметры (см. картинку)
  3. Admin_level = 4
  4. Boundary = administrative
  5. В Россия

https://ratcatcher.ru/media/bd/rgr/56.png

  1. Удалите лишние слои
  2. Удалите лишние атрибуты в admin_level_4_boundary_administrative_Россия
    На этом шаге выпишите списком какие атрибуты оказались лишними!
    https://ratcatcher.ru/media/bd/rgr/57.png
  3. Переименуйте слой admin_level_4_boundary_administrative_Россия в Субъекты_РФ
  4. Импортируйте слой в БД,
    Параметры на картинке:

https://ratcatcher.ru/media/bd/rgr/58.png

  1. Сделать запрос к БД и сформировать список Регионов, которые соседи вашего выбранного региона

    SELECT сосед."name" AS соседний_регион, сосед.geom 
    FROM субъекты_РФ AS основной 
    JOIN субъекты_РФ AS сосед 
    ON ST_Touches(основной.geom, сосед.geom) 
    WHERE основной."name" = 'Ваша область';

13. Выгрузите слой и проверьте все ли регионы-соседи были получены
Справа пример для Нижегородской области (коричневая) регионы-соседи (серые)

https://ratcatcher.ru/media/bd/rgr/59.png

  1. Выписать регионов-соседей списком

  2. Соединить таблицу ВВП_Регионы и субъекты_РФ по названию регионов. В запросе выбрать регионы соседей и ваш регион. Сформировать статистику изменения динамики ВВП (год к году)

    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' )
Если в итоговом слое будет не хватать регионов проверьте написание в регионов в таблице ВВП_Регионы и субъекты_РФ

https://ratcatcher.ru/media/bd/rgr/61.png

  1. Выпишите названия регионов из СубъектыРФ и вставьте в запрос к таблице ВВВ_Регионы. Сравните результат

Например для Нижегородской области

    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"; 

Обратите внимание, что для Чувашии ничего не высветиться. Почему?
Потому что полное название Чувашская республика, что не совпадает с запросом

  1. Используя результаты запрос обновите данные в таблице ВВП. Например для Нижегородской области пришлось переименовать следующие 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;

https://ratcatcher.ru/media/bd/rgr/62.png

  1. Настройте стиль полученного слоя ПКМ по слою -> Стиль -> символизация по диапазонам значения ( в старых версиях QGIS градуированный знак) ->значение Динамика_ВВП -> Режим (алгоритм) Равные Интервалы -> количество классов подбираете самостоятельно и руководствуетесь своим эстетическим чувством . Симметрическая классификация вокруг 0. Цветовой ряд как на картинке.

https://ratcatcher.ru/media/bd/rgr/63.png

  1. Не забудьте настроить верную процекцию!

  2. Используя модуль Time Manager создать гиф-изображение с иллюстрацией динамики ВВП

https://ratcatcher.ru/media/bd/rgr/64.png

21.Убедитесь, что данные Года в формате Date
- Выполните обновление типа столбца (на всякий случай)

https://ratcatcher.ru/media/bd/rgr/65.png

  • to_date(«Имя столбца с годами", 'yyyy')

https://ratcatcher.ru/media/bd/rgr/66.png

Состав отчета#

  1. Используя файл description_regions_collection_102_v25062024.pdf дать описание данных
  2. Добавить цитирование, как указано в файле и соблюдая ГОСТ
    (ссылка в список используемой литературы)
  3. Привести первые 4 строки из CSV файла и дать комментарий к каждой приведенной характеристике
  4. Показать запрос для отображения (Листинг 6) всей таблицы с данными ВВП в БД.
  5. Указать на источник данных для слоя с Регионами РФ. Привести процесс запроса
    (какой плагин использовался, с какими параметрами)
  6. Указать список атрибутов, которые вы удалили из данного слоя.
  7. Показать запрос для отображения (Листинг 7) всей таблицы с данными Регионами в БД.
  8. Привести запрос из пункта 12 в исправленном виде для вашего варианта (Листинг 8) . Рис. 13 Результат данного запроса
  9. Дать определение оконным функциям и объяснить принцип их работы. Дать по пункту 14
    Сформировать Листинг 8. На рис. 14 привести результат запроса.
  10. Если возникли проблемы привести список субъектов, которые не вывелись на экран. Указать причину. Дать список изменений.
  11. Показать настройки стиля слоя и дать комментарий к нему (что такое Симметрическая классификация в QGIS и почему там «вокруг 0» и проч)
    Рис. 15 Показать результат применения стиля.
  12. Рассказать про процесс построения картографической анимации для визуализации динамики изменения ВВП выбранных регионов. (Какой модуль используете, как настраиваете)
  13. Дать результаты анализа (какой из регионов показывает положительную динамику, какой отрицательную и проч)
    Gif изображение приложить к отчету, который вы присылаете