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

Материал из GIS-Lab
Версия от 21:16, 13 марта 2012; Максим Дубинин (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Модуль представляет собой плагин для Quantum GIS, получающий на вход набор данных MODIS и выдающий растровые изображения поверхности и маски облаков.

Около 40% Земли покрыто облаками. Они представляют существенную помеху для анализа поверхности Земли с помощью методов дистанционного зондирования. Чтобы избежать получения ошибочных результатов из-за облаков, необходимо сначала исключить из рассмотрения облачные районы с помощью подготовленной маски облачности. Хотелось бы рассказать о проекте для создания такой маски, выполненном в виде модуля к системе Quantum GIS.

Возможности и недостатки

На основе данных со спутников с сенсорами MODIS, а именно MOD02 с разрешением 1 км, 500 и 250 м, генерируются два изображения в формате png. Первое - композит в цветах, близких к натуральным, с нанесенной координатной сеткой, которую теоретически можно использовать для привязки. Второе - маска облаков, на которой безоблачные регионы выделены черным (RGB 0,0,0), а районы, в которых сработали различные алгоритмы, выделены соответствующими цветами и их суммами в случае наложения нескольких обнаружений. Стоит отметить, что текущая версия написана под платформу Linux, а в качестве хранилища путей к данным и результатам используется база данных MySQL. Исходные коды полностью доступны, об этом ниже. Возможности и особенности программы:

  • Используется часть базовых алгоритмов из документации MOD35, которая показывает небольшое время работы комбинированного алгоритма.
  • Добавление и сохранение всех данных в базе. Позволяет быстро находить нужные данные и не подбирать вручную соответствующие тройки входных файлов.
  • Сохранение обработанных результатов в базе. Позволяет не обрабатывать данные повторно а также быстро находить необходимые результаты.

Недостатки:

  • Программа ещё не тестировалась заинтересованными лицами, под вопросом востребованность и целесообразность функций.
  • Ложные срабатывания на яркие области карты: лед, снег, песок.
  • Привязка по координатной сетке представляется не самым лучшим решением.

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

Использованный алгоритм

Как было сказано выше, использовались основные алгоритмы документации MOD35:

  1. Простой пороговый тест, использует яркостную температуру канала 11µm. Этот канал присутствует только в данных разрешения 1 км, поэтому результат не максимально детализирован. Принцип основан на том, что температура облаков меньше температуры поверхности Земли. Поэтому достаточно определить пороговое значение, температура меньше которого будет показывать, что пиксель является облачным. Опытным путем был установлен порог 277 К, дающий приемлемые результаты.
  2. Тест на основе сопоставления разностей яркостных температур каналов 8.6µm - 11µm и 11µm – 12µm. Была составлена таблица соответствия одной разности другой. В случае отклонения меньше порога 0.5 засчитывается обнаружение облака в пикселе.
  3. Тест на основе сравнения разности температур каналов 11µm – 3.9µm и определенного порога. В случае, если разность меньше порогового значения, пиксель считается облачным. Подобранное значение порога -14 дает приемлемые результаты.
  4. Тест на наличие перистых облаков использует канал MODIS 1.38µm, который является очень чувствительным к наличию водяных паров. Сравнивается значение энергетической яркости с пороговым значением. Если значение больше порогового, пиксель отмечается в маске как облачный.
  5. Тест, использующий отношение энергетических яркостей каналов 0.87µm и 0.66µm. Результат - отношение 0.87µm/0.66µm, попадающий в интервал (0.90, 1.05), говорит о наличии облака в пикселе.

Перечисленные тесты часто пересекаются, но некоторые типы облаков могут быть обнаружены только одним из тестов и не могут быть обнаружены остальными. Таким образом, тесты дополняют друг друга, и мы, складывая маски облачности в одну, получаем обнаружение большинства облачных районов. Документацию MOD35 можно скачать по ссылке DISCRIMINATING CLEAR-SKY FROM CLOUD WITH MODIS ALGORITHM THEORETICAL BASIS DOCUMENT (MOD35)

Установка

Еще раз напомню, что модуль разрабатывался под Linux, поэтому все инструкции и команды будут приведены на примере системы Ubuntu. Для начала необходимо убедиться, что установлено все перечисленное: git, qmake, libpng++-dev, libqgis-dev и libhdf4-alt-dev.

$ sudo apt-get install git qt4-qmake libpng++-dev libqgis-dev libhdf4-alt-dev

Далее скачиваем исходные коды

$ git clone git://github.com/Eugenpaul/Cloud-recognition.git

Переходим в папку plugin проекта

$ cd Cloud-recognition/plugin

Выполняем команду qmake

$ qmake

И после этого делаем make

$ make

В результате компиляции в директории появится файл libcloudrecognitionplugin.so, его надо скопировать в директорию библиотек qgis, стандартный путь /usr/lib/qgis/

$ sudo cp libcloudrecognitionplugin.so /usr/lib/qgis/

После этого остается подключить модуль в qgis через пункт меню plugins -> manage plugins..., там выбираете Cloud recognition, после чего на панели инструментов становится доступна кнопка для вызова модуля "CR plugin".

Инструкция по использованию

Для использования необходимо установить СУБД MySQL

$ sudo apt-get install mysql-client mysql-server

Заходите в qgis и нажимайте кнопку CR plugin на панели, появится основное окно:

Основное окно

Сначала необходимо создать базу. Для это нажмите на кнопку "DB config..." в правой верхней части окна, в открывшейся форме введите учетную запись MySQL с правами на создание. При установке MySQL создается администраторская учетная запись, можно использовать ее.

Окно создания базы

Данные этой учетной записи используются один раз и никаким образом не сохраняются. После нажатия "Create" создается база данных modisdatabase и пользователь modisuser с паролем modispassword и правами доступа только к базе modisdatabase. Эта информация используется автоматически. После создания базы можно добавить данные. Нажмите кнопку "add to DB..." и выберите все необходимые hdf файлы.

Диалог добавления файлов в базу

Требуются данные типов MOD021KM, MOD02HKM и MOD02QKM для каждого района. Где их можно скачать описано, например, в статье Использование WIST для отбора и получения данных дистанционного зондирования. Важно: имена файлов должны быть оригинальными, т.е. вида MOD02XKM.AYYYYDDD.hHHvVV.CCC.YYYYDDDHHMMSS.hdf. О расшифровке названий можно прочитать в статье Продукты MODIS - Land. Кроме hdf файлов можно добавлять уже существующие изображения поверхности и маски, с именами AYYYYDDD.hHHvVV.CCC.YYYYDDDHHMMSS.surface.png и AYYYYDDD.hHHvVV.CCC.YYYYDDDHHMMSS.mask.png соответственно. После добавления файлов в базу можно использовать поиск, введите часть названия, чтобы найти данные и нажмите кнопку "Search". В левой колонке появится список найденных данных. Для обработки данных добавьте их в правый список кнопками "Add >" или "Add all >>". Задайте папку, в которую будут сохраняться результаты в поле "Destination folder". После этого нажмите "Run" и дождитесь окончания обработки.

Данные обрабатываются

Если данные обработаны успешно, двойным щелчком можно открыть маску и изображение поверхности в виде новых слоев в основном окне QGIS. Чтобы визуально оценить соответсвие маски и снимка, можно сделать прозрачным фон маски. Для этого нажмите правой кнопкой на слой маски и выберите пункт "properties". В открывшемся окне выберите закладку "Transparency" и добавьте новый слой со 100% прозрачностью для цвета 0, 0, 0.

Задание прозрачности

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

Результат

Заключение

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

Ссылки по теме

  1. Продукты MODIS - Land
  2. Схема фрагментов для продуктов MODIS 2G, 3, и 4
  3. Использование WIST для отбора и получения данных дистанционного зондирования
  4. Документация по алгоритму MOD35