Как сделать паншарпенинг в qgis

Обновлено: 06.07.2024

Формирование мультиспектрального снимка на основе многоспектральной съемки Роскосмоса высокого разрешения и улучшение качества на основе панхроматического снимка (паншарпенинг) в QGIS 3.16.
Таймкод:
00:07 | Этапы работ.
00:24 | Заказ и просмотр съемки на геопортале Роскосмоса.
01:21 | Исходные материалы съемки Роскосмоса.
02:40 | Немного теории о спектральных каналах съемки и паншарпенинге в рамках полученного материала.
05:39 | Начальный этап. Подключение растров в QGis 3.16.
06:46 | 1-ый этап. Формирование мультиспектрального снимка в QGis 3.16.
08:54 | 2-ый этап. Улучшение разрешения мультиспектрального снимка (паншарпенинг) в QGis 3.16 .

Видео Первичная обработка снимков высокого разрешения Роскосмоса в QGis 3.16 канала Александр Фадеев - Территория ГИС

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Отрисовка границ участков описана на примере границы заказника "Широколиственные леса Подольского лесничества".
При реорганизации заказников часто выкладывают проект положения о заказнике с координатами узловых точек, но не выкладывают схему. Понять по координатам, как изменяются границы, практически невозможно. Поэтому границу нужно отрисовать в ГИС-программе и сравнить с существующей. Здесь описано, как решить эту задачу с использованием программы Quantum GIS.

Все использованные данные доступны для скачивания (ссылка).


В положениях (пример) границы описывают, например, так:
Внешняя граница заказника начинается от поворотной точки 1 (координаты (55°23'37,93" с.ш., 37°29'38,07" в.д.) и идет в общем направлении на север по внешней границе земельного участка с кадастровым номером 50:27:0020614:156 через точки:
2 (55°23'37,96" с.ш., 37°29'38,06" в.д.),
3 (55°23'37,99" с.ш., 37°29'38,06" в.д.),
Для работы в ГИС-программе координаты нужно из представления градусы-минуты-секунды перевести в десятичные градусы. Для этого извлечем их из текста и удалим из них все лишнее (удобно воспользоваться функцией Найти и заменить). В результате получится заготовка таблицы — её нужно сохранить в файл .txt.
1 55 23 37,93 37 29 38,07
2 55 23 37,96 37 29 38,06
3 55 23 37,99 37 29 38,06
Теперь откроем получившийся файл с помощью MS Excel или OpenOffice Calc. Появится диалоговое окно Импорт текста. В качестве разделителя установим пробел и убедимся, что в полученной таблице градусы, минуты и секунды стоят в разных столбцах.

Если появятся лишние столбцы, можно их удалить. Теперь можно перевести координаты в десятичные градусы: ГГ,ГГГГ = ГГ + ММ/60 + СС/3600, записав результат в отдельные столбцы. В первой строке желательно написать названия столбцов (или оставить ее пустую) — в противном случае при открытии в QGIS первая точка потеряется. Таблицу сохраняем в формате .csv (comma separated values = значения, разделенные запятой).


Открываем Quantum GIS. В меню Установки — Свойства проекта устанавливаем правильную систему координат — ту, в которой даны координаты точек. Как узнать, в какой системе координат они даны? Спросить у того, кто эти координаты вам дал. В случае с границами заказников, скорее всего, это географическая система координат Pulkovo 1942. Полезно добавить в проект космоснимок — по нему удобно проверить, правильно ли получились точки. В меню Слой или на панели инструментов выбираем Создать слой из текста с разделителями. Появится диалоговое окно — здесь нужно объяснить QGIS'у, как прочитать таблицу и откуда брать координаты точек.

Важно указать именно те столбцы, в которых содержатся долгота (X-поле) и широта (Y-поле) в десятичных градусах.


Нажимаем ОК, и появляется векторный слой с точками.

Стоит мысленно провести границу по точкам и убедиться, что она нормально ложится на местность (совпадает с дорогами, границами леса, реками и т.п.). При этом могут быть полезны дополнительные векторные слои, например треки GPS или данные OpenStreetMaps (OSM). Если в положении о заказнике упомянуто о примыкании к каким-то кадастровым участкам – стоит использовать публичную кадастровую карту (о том, как добавить ее в QGIS, можно прочитать здесь).

Теперь нужно нарисовать границу заказника. Как правило, мы пользуемся системой координат WGS84, в ней и нужно нарисовать границу. Для этого создаем новый проект с системой координат WGS84 (или прямоугольной СК, для Московской области — WGS84 UTM zone 37N). В этот проект нужно добавить получившийся shape-файл. Чтобы удобно было рисовать границу по точкам, полезно отобразить номера точек. Для этого нужно в свойствах слоя настроить отображение подписей на вкладке Подпись.

Поле, содержащее подпись — это то поле, в котором записан номер точки. Номера точек отобразятся в основном окне QGIS.


Создаем новый полигональный shape-файл в системе координат WGS84 для границы заказника. Подробнее о создании и редактировании векторных слоев написано в этой статье. Чтобы углы заказника точно совпадали с точками, нужно в меню Установки — Параметры прилипания задать прилипание слоев с точками и с границей заказника. Можно поставить порог прилипания около 20 пикселей (удобное вам значение вы определите в процессе отрисовки :)).

При желании можно сохранить получившуюся границу в формате .kmz (Меню Свойства слоя, Сохранить как) и просмотреть в Google Earth, SAS Planet или добавить на GoogleMaps.

Использованные данные:
Положение о заказнике "Широколиственные леса Подольского лесничества", утвержденное постановлением Правительства Московской обл. N 770/17 от 10.05.2012
Текстовый файл с координатами точек
Таблица и векторные слои (точки и граница заказника)
Снимок Landsat 7 (7 июля 2001 г.)
Эта инструкция в формате pdf.
Всё перечисленное сразу.

В этой статье описывается процедура подготовки пригодных для печати географических карт. Будет показано, как на карту наносить дополнительную информацию о положении УИК и других объектов.

Для работы будем использовать QGIS. QGIS — это геоинформационная система (ГИС), то есть программа для обработки географических карт и наносимых на них дополнительных данных; при этом сами карты могут быть получены из различных источников. QGIS существует в версиях для различных платформ (Linux и другие разновидности Unix, MacOS X, Windows и Android), имеет открытый код и распространяется бесплатно.

В качестве картографической основы мы будем использовать карты Openstreetmap, являющиеся полностью свободными для пользования.

Содержание

Установка QGIS [  ]

Скачиваем и устанавливаем свежий QGIS. На этом этапе никаких сложностей быть не должно.

Исходные данные [  ]

Скачиваем данные OpenStreetMap для региона, карту которого собираемся распечатать. Отсюда можно сразу скачать архив с готовым проектом для QGIS. Для любознательных вот тут дано описание представленных данных. Скачанный архив нужно распаковать и открыть в QGIS файл qgis-mapnik.qgs .

Теперь нужно загрузить в QGIS информацию о положении УИК и органов власти. Их можно взять в формате KML из Наблы со страницы соответствующей избирательной кампании. Координаты УИК можно также взять со странички экспорта проекта УИК ГЕО.

Данные из KML файла добавляются в проект как отдельный векторный слой. Если используются данные из проекта УИК ГЕО, то открывать нужно файл vrt, который находится в скачанном архиве.

и потом использовать shp файл вместо vrt файла

Если в дальнейшем планируется корректировать положение УИК, то слой данных с положениями УИК нужно пересохранить в виде shape-файла.

Подготовка макета [  ]

Макет карты создается из QGIS с помощью пункта меню Проект → Создать макет. В открывшемся окне выбираем Правка → Добавить карту и задаем область на листе, где будет располагаться карта. С помощью пункта меню Правка → Переместить содержимое уточняем охват территории.

В рамках одного проекта можно создать несколько макетов.

Стили отображения [  ]

Теперь нужно настроить стиль отображения разных слоев

УИКи и органы власти [  ]

Открываем окно свойств слоя

  • В разделе Стиль устанавливаем в качестве маркера для УИК черный квадрат, а для органов власти — черный треугольник
  • В разделе Подписи отмечаем Подписывать объекты значениями поля

Если координаты УИКов и органов власти взяты из KML файла с наблы со странички соответствующей избирательной кампании, то в качестве выражения для подписи задаем regexp_substr("Name" , '.*\\s+(.*)')
Если координаты УИК берутся из проекта УИК ГЕО, то необходимо задать диапазон отображаемых УИК с помощью фильтра, который выглядит примерно так "number_official" = 'NNNN' OR ("number_official" >= 'NMIN' AND "number_official" , а в качестве выражения для подписи задаем "number_official"

  • В разделе Подписи-Текст устанавливаем полужирное начертание для шрифта
  • В разделе Подписи-Буфер устанавливаем толщину буфера в 1.5мм (толщина обводки) и светло-серый цвет
  • В разделе Подписи-Размещение задаем отступ величиной 1мм
  • В разделе Подписи-Отрисовка требуем показывать все подписи, даже если они перекрываются

Населенные пункты [  ]

Удобно сделать так, чтобы название населенных пунктов отображалось при любом масштабе. Для этого в свойствах точечного слоя Населенные пункты в разделе Подписи-Отрисовка нужно снять галочку Видимость в пределах масштаба

Автодороги [  ]

  • На мелких масштабах на карте могут не отображаться дороги местного значения. Нужно убедиться, что все дороги, которые могут использоваться для подъезда к УИКу отображаются на карте. Масштаб, при котором автодорога отображается на карте, задается в разделе Стиль. Может быть полезным изменить масштабы для дорог типа 'residential' и 'unclassified'.
  • Чтобы пересечения дорог на карте выглядели более аккуратными нужно проделать процедуру, которая описана вот тут.

Экспорт карт [  ]

Чтобы изменение стилей было видно на макете нужно на панели Свойства элемента нажать кнопку обновить. Теперь можно сохранить приготовленную карту в растровом формате, PDF или SVG.

Пример карты, подготовленной по этой инструкции, можно увидеть по ссылке.


17.12.2021 | Гершевский Егор, г. Самара | 0

В статье рассматриваются два ознакомительных примера работы с ГИС. Представлен также способ взаимодействия системы с языком программирования Python для более детального анализа карты и местности.

Основной текст

Сегодня QGIS (ранее известная как Quantum GIS) – это свободная геоинформационная система. Данная геосистема предназначена для создания и редактирования данных, производства карт и выполнения аналитических операций. QGIS активно поддерживается международным сообществом (Россия представлена командой NextGIS).

QGIS, позволяет совершать следующие действия:

  • Просмотр данных,
  • Исследование данных и компоновка карт,
  • Управление данными (создание, редактирование и экспорт),
  • Анализ данных,
  • Экспорт карт в сети Интернет,
  • Расширение функциональности QGIS с помощью модулей.


Рисунок 1 – Стартовая страница на сайте разработчиков QGIS

Теперь перейдем к работе с QGIS.

На примере рассмотрим, как в QGIS выгрузить файлы зданий, улиц и парков. Для решения это задачи необходимо установить в QGIS два модуля: QuickMapServices – для получения базовой карты и QuickOSM – для выгрузки данных.


Рисунок 2 – Базовая карта (подложка) из OpenMapServices

Работа с модулем QuickOSM.


Рисунок 3 – Выбранный участок карты

После чего выполним запрос и посмотрим какой результат был получен, предварительно отключив слой подложки в меню слева (рисунок 4).


Рисунок 4 – Результат запросов по ключу

Также следует отметить, что полученные слои необходимо сохранить, иначе они будут удалены после закрытия проекта. Для того, чтобы сохранить слой необходимо в меню слева нажать на кнопку (рисунок 5) и появившемся меню выбрать имя, формат и расположение для сохранения слоя.


Рисунок 5 – Сохранение временного слоя

Помимо различных опций по настройке каждого слоя, в QGIS имеется атрибутивная таблица слоя, где можно узнать id, полный адрес, тип, количество этажей и т.п., а также информацию об организациях, которые расположены в конкретных зданиях с указанием номера телефона, сайта и почтовым адресом (рисунок 6).


Рисунок 6 – Таблица атрибутов слоя building

Применение языка программирования Python в QGIS.

Рассмотрим работу со слоем и выборкой объектов по выражению на примере загруженного слоя административно-территориального деления Российской Федерации, которая имеет свою атрибутивную таблицу (рисунок 7). В таблице имеются несколько столбцов, которые заполнены как на кириллице, так и на латинице. Открыть консоль Python в QGIS можно нажав на кнопку:

Рисунок 7 – Таблица атрибутов слоя gadm36_RUS_1

Чтобы начать работу с используемым слоем в первую очередь необходимо записать его в переменную, в данном случае в переменную layer:


Можно также посмотреть какими свойствами обладает слой:

с помощью этой строчки выводится имя слоя:



Другие методы и свойства можно посмотреть, применив функцию dir к объекту layer. Тем самым получим список методов и свойств, которые применимы к объекту QgsVectorLayer.

Чтобы получить все объекты из таблицы атрибутов слоя можно воспользоваться функцией getFeatures, для этого создадим новую переменную:

Следующим действием пробежимся по итерируемой переменной features:

и получим вывод на экран атрибутов:

С помощью консоли Python можно также выделять все объекты слоя с помощью метода selectAll, а чтобы снять выделение — removeSelection:

Рисунок 8 – Слой gadm36_RUS_1до выделения Рисунок 9 – Слой gadm36_RUS_1после выделения

Чтобы выбрать объекты по конкретному выражению внутри слоя используется метод selectByExpression, параметрами в данном методе является текстовое выражение, где в кавычках ставится имя столбца и после знака равенства значение внутри данного столбца:

на слое после применения строки кода выделяются объекты республики Российской Федерации (рисунок 10):


Рисунок 10 – Выделение республик Российской Федерации

Можно поменять цвет выборки, если это необходимо, для этого применим следующую строчку кода:

в результате получим:

Создадим новую переменную selected и выполним следующий код, который позволит вывести на экран все республики, которые выделены в данный момент на слое:

результатом выполнения кода будет:


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

В заключение хочется отметить, что статья написана и предназначена для знакомства с данным видом ГИС. Если более детально изучить способы работы с программой, то её в полной мере можно применять в различных проектах, например: от анализа урожая со снимков дрона до подбора оптимального месторасположения нового офиса. Стоит также учитывать тот факт, что программа хорошо взаимодействует с Python и SQL.

QGIS обладает очень широким спектром возможностей, ознакомиться с которыми можно по следующей ссылке.

OpenStreetMap – некоммерческий веб-картографический проект по созданию силами сообщества участников – пользователей Интернета подробной свободной и бесплатной географической карты мира. Карты создаются на основе следующих данных: персональных GPS-т рекеров, аэрофотоснимков, видеозаписей, спутниковых снимков, панорам улиц [1].

1

Рисунок 1 – Окно программы NextGIS QGIS

2

Рисунок 2 – Окно конструктора запросов

Shapefile представляет собой векторный формат географических файлов, позволяет хранить объекты только одного типа: точки, линейные объекты или полигоны. Каждый объект в шейп-файле представляет один географический объект и его атрибуты. Шейп-файлы хранятся в трех или более файлах (таблица 1), которые имеют одинаковый префикс и находятся в одной папке (рабочей области шейп-файлов), к обязательным файлам относятся файлы форматов .shp, .shx и .dbf [2,3].

Таблица 1 – Компоненты шейп-файла

3

Читайте также: