Как сделать паншарпенинг в qgis
Формирование мультиспектрального снимка на основе многоспектральной съемки Роскосмоса высокого разрешения и улучшение качества на основе панхроматического снимка (паншарпенинг) в 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 – Окно программы NextGIS QGIS
Рисунок 2 – Окно конструктора запросов
Shapefile представляет собой векторный формат географических файлов, позволяет хранить объекты только одного типа: точки, линейные объекты или полигоны. Каждый объект в шейп-файле представляет один географический объект и его атрибуты. Шейп-файлы хранятся в трех или более файлах (таблица 1), которые имеют одинаковый префикс и находятся в одной папке (рабочей области шейп-файлов), к обязательным файлам относятся файлы форматов .shp, .shx и .dbf [2,3].
Таблица 1 – Компоненты шейп-файла
Читайте также: