SFire - составление карт гарей лесных массивов в Quantum GIS (Геоконкурс 2011): различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
(Новая страница: «{{Статья|Черновик}} == Введение == Важной задачей мониторинга природопользования является ...»)
 
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 5: Строка 5:
Важной задачей мониторинга природопользования является учет и картографирование территорий, пострадавших в результате лесных пожаров.
Важной задачей мониторинга природопользования является учет и картографирование территорий, пострадавших в результате лесных пожаров.


Отслеживанию пожарной динамики и оценке последствий пожаров был посвящен геоконкурс [http://gis-lab.info/projects/geokonkurs2011], проведенный порталом GIS - Lab совместно с рядом российских и зарубежных компаний. Описываемый плагин был разработан для данного геоконкурса в рамках магистерской диссертации разработчика.
Отслеживанию пожарной динамики и оценке последствий пожаров был посвящен [http://gis-lab.info/projects/geokonkurs2011 геоконкурс], проведенный порталом GIS - Lab совместно с рядом российских и зарубежных компаний. Описываемый плагин был разработан для данного геоконкурса в рамках магистерской диссертации разработчика.


Ядром плагина является классификатор, состоящий из двух машин опорных векторов. На вход классификатора подается вектор спектральных яркостей пикселя спутникового снимка, с выхода классификатора снимается номер класса, к которому отнесен пиксель. По номерам классов плагин составляет карту гарей и сохраняет ее в файле формата GeoTIFF с привязкой карты к системе координат WGS84 и проекцией карты в проекцию UTM. Пиксели результирующей карты гарей могут быть установлены в следующие значения:
Ядром плагина является классификатор, состоящий из двух машин опорных векторов. На вход классификатора подается вектор спектральных яркостей пикселя спутникового снимка, с выхода классификатора снимается номер класса, к которому отнесен пиксель. По номерам классов плагин составляет карту гарей и сохраняет ее в файле формата GeoTIFF с привязкой карты к системе координат WGS84 и проекцией карты в проекцию UTM. Пиксели результирующей карты гарей могут быть установлены в следующие значения:
Строка 20: Строка 20:
Обучающее множество векторов образуют вектора спектральных яркостей части пикселей младшего спутникового снимка.
Обучающее множество векторов образуют вектора спектральных яркостей части пикселей младшего спутникового снимка.


Старший и младший спутниковые снимки должны быть сделаны в период активной вегетации растительности (конец весны - начало лета), примерно в одно и то же время с разницей в один - два года;
Старший и младший спутниковые снимки должны быть сделаны в период активной вегетации растительности (конец весны - начало лета), примерно в одно и то же время с разницей в один - два года (старший спутниковый снимок должен быть сделан, очевидно, раньше младшего);


* карта леса и область интереса - полигональные векторные слои, сохраненные в файлах формата ESRI Shape.
* карта леса и область интереса - полигональные векторные слои, сохраненные в файлах формата ESRI Shape.
Строка 28: Строка 28:
* несколько обрабатываемых спутниковых снимков, для которых будут составлены карты гарей.
* несколько обрабатываемых спутниковых снимков, для которых будут составлены карты гарей.


В качестве источника спутниковых снимков должен исльзоваться КА "Landsat 5", данные от которого могут быть получены с помощью EarthExplorer [http://earthexplorer.usgs.gov/].
В качестве источника спутниковых снимков должен исльзоваться КА "Landsat 5", данные от которого могут быть получены с помощью [http://earthexplorer.usgs.gov/ EarthExplorer].


Спутниковые снимки должны пройти предварительную обработку с целью минимизации помех и для устранения посторонних объектов (облака, дымка и тому подобные вещи).
Спутниковые снимки должны пройти предварительную обработку с целью минимизации помех и для устранения посторонних объектов (облака, дымка и тому подобные вещи).
Строка 49: Строка 49:
Для установки плагина необходимо выполнить следующие действия:
Для установки плагина необходимо выполнить следующие действия:


# скачать исходный код плагина: <nowiki>git checkout git://github.com/verzhak/sfire.git</nowiki>
# скачать исходный код плагина: <pre>git checkout git://github.com/verzhak/sfire.git</pre>
# перейти в каталог с исходным кодом плагина: <nowiki>cd sfire</nowiki>
# перейти в каталог с исходным кодом плагина: <pre>cd sfire</pre>
# собрать плагин: <nowiki>make</nowiki>
# собрать плагин: <pre>make</pre>
# создать символьную ссылку на каталог с исходным кодом плагина в каталоге с плагинами для QGIS: <nowiki>ln -s `pwd` ~/.qgis/python/plugins/</nowiki>
# создать символьную ссылку на каталог с исходным кодом плагина в каталоге с плагинами для QGIS: <pre>ln -s `pwd` ~/.qgis/python/plugins/</pre>


== Запуск ==
== Запуск ==
Строка 59: Строка 59:


# запустить qgis;
# запустить qgis;
# подключить плагин (рисунок \ref{image:manager});
# подключить плагин (рисунок 1);
# выбрать пункт "Составление карт гарей лесных массивов" в одноименном подменю меню "Модули" панели инструментов QGIS (рисунок \ref{image:menu}).
# выбрать пункт "Составление карт гарей лесных массивов" в одноименном подменю меню "Модули" панели инструментов QGIS (рисунок 2).
 
[[Файл:Sfire-qgis-1.png]]
 
<small>Рисунок 1 - Менеджер модулей QGIS</small>
 
 
[[Файл:Sfire-qgis-2.png]]
 
<small>Рисунок 2 - Меню "Модули"</small>


\mimage{manage"{1."Менеджер модулей QGIS}{}
\mimage{menu}{2.png}{Меню "Модули"}{}


== Составление карты гарей ==
== Составление карты гарей ==
Строка 71: Строка 78:
Обучающее множество векторов спектральных яркостей пикселей младшего спутникового снимка составляется по старшему и младшему спутниковым снимкам, векторной карте леса и области интереса.
Обучающее множество векторов спектральных яркостей пикселей младшего спутникового снимка составляется по старшему и младшему спутниковым снимкам, векторной карте леса и области интереса.


Составление обучающего множества осуществляется на вкладке "Создание обучающего множества векторов" главного окна плагина (рисунки \ref{image:create:1}, \ref{image:create:2} и \ref{image:create:3}).
Составление обучающего множества осуществляется на вкладке "Создание обучающего множества векторов" главного окна плагина (рисунки 3, 4 и 5).


Обучающее множество векторов сохраняется в три файла - по одному для каждого из целевых классов.
Обучающее множество векторов сохраняется в три файла - по одному для каждого из целевых классов.
"age{create:1}{103.png}{Вкладка "Создание обучающего множества векторов"}{}
 
\mimage{create:2}{104.png}{Составление обучающего множества векторов}{}
[[Файл:Sfire-qgis-103.png]]
\mimage{create:3}{105.png}{Обучающее множество векторов составлено}{}
 
<small>Рисунок 3 - Вкладка "Создание обучающего множества векторов"</small>
 
 
[[Файл:Sfire-qgis-104.png]]
 
<small>Рисунок 4 - Составление обучающего множества векторов</small>
 
 
[[Файл:Sfire-qgis-105.png]]
 
<small>Рисунок 5 - Обучающее множество векторов составлено</small>
 


=== Обучение классификатора ===
=== Обучение классификатора ===


Обучение классификатора производится по обучающему множеству векторов с помощью вкладки "Обучение классификатора" главного окна плагина (рисунки \ref{image:teach:1}, \ref{image:teach:2} и \ref{image:teach:3}).
Обучение классификатора производится по обучающему множеству векторов с помощью вкладки "Обучение классификатора" главного окна плагина (рисунки 6, 7 и 8).


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


\mimage{teach:1}{106.png}{Вкладка "Обучение классификатора"}{}
[[Файл:Sfire-qgis-106.png]]
\mimage{teach:2}{108.png}{Обучение классификатора}{}
 
\mimage{teach:3}{109.png}{Обучение классификатора завершено}{}
<small>Рисунок 6 - Вкладка "Обучение классификатора"</small>
 
 
[[Файл:Sfire-qgis-108.png]]
 
<small>Рисунок 7 - Обучение классификатора</small>
 
 
[[Файл:Sfire-qgis-109.png]]
 
<small>Рисунок 8 - Обучение классификатора завершено</small>
 


=== Составление карты гарей ===
=== Составление карты гарей ===


Составление карты гарей по некоторому спутниковому снимку производится с помощью вкладки "Формирование карты гарей лесного массива" главного окна плагина (рисунки \ref{image:map:1}, \ref{image:map:2} и \ref{image:map:3}). Для составления карты требуется обученный классификатор.
Для составления карты требуется обученный классификатор и спутниковый снимок целевой местности, по характеристикам совпадающей с местностью, на спутниковых снимках которой был обучен классификатор (например, классификатор, обученный на снимках Черноземья, скорее всего, будет эффективно работать только с Черноземьем - для других территорий требуется переобучение классификатора).
 
Составление карты гарей по некоторому спутниковому снимку производится с помощью вкладки "Формирование карты гарей лесного массива" главного окна плагина (рисунки 9, 10 и 11).


Карта гарей сохраняется в виде растровой маски в файле формата GeoTIFF.
Карта гарей сохраняется в виде растровой маски в файле формата GeoTIFF.


\mimage{map:1}{111.png}{Вкладка "Формирование карты гарей лесного массива"}{}
[[Файл:Sfire-qgis-111.png]]
\mimage{map:2}{112.png}{Формирование карты гарей лесного массива}{}
 
\mimage{map:3}{113.png}{Карта гарей лесного массива сформирована}{}
<small>Рисунок 9 - Вкладка "Формирование карты гарей лесного массива"</small>
 
 
[[Файл:Sfire-qgis-112.png]]
 
<small>Рисунок 10 - Формирование карты гарей лесного массива</small>
 
 
[[Файл:Sfire-qgis-113.png]]
 
<small>Рисунок 11 - Карта гарей лесного массива сформирована</small>
 


=== Результат ===
=== Результат ===


На рисунке \ref{image:result} приведена карта гарей лесного массива части национального парка "Мещерский", составленная по спутниковому снимку 29-го июля 2011-го года.
На рисунке 12 приведена карта гарей лесного массива части национального парка "Мещерский", составленная по спутниковому снимку 29-го июля 2011-го года.


В качестве векторной карты леса был использован слой "vegetation-polygon" из числа слоев, сохраненных в наборе shape - файлов в рамках проекта "Данные OpenStreetMap в формате Shape и PostGIS"[http://gis-lab.info/projects/osm_shp/region/RU-RYA], разрабатываемого порталом GIS - Lab.
В качестве векторной карты леса был использован слой "vegetation-polygon" из числа слоев, сохраненных в наборе shape - файлов в рамках проекта "Данные OpenStreetMap в формате Shape и PostGIS"[http://gis-lab.info/projects/osm_shp/region/RU-RYA], разрабатываемого порталом GIS - Lab.


\mimage{result}{map_2011.png}{Карта гарей лесного массива части национального парка "Мещерский" от 29-го июля 2011-го года}{}
[[Файл:Sfire-qgis-map_2011.png]]
 
<small>Рисунок 12 - Карта гарей лесного массива части национального парка "Мещерский" от 29-го июля 2011-го года</small>
 


== Ссылки ==
== Ссылки ==


* Код плагина на github[https://github.com/verzhak/sfire];
* [https://github.com/verzhak/sfire Код плагина] на github;
* Презентация для геоконкурса[http://www.scribd.com/doc/73507244/Akinin-Geokonkurs-2011].
* [http://www.scribd.com/doc/73507244/Akinin-Geokonkurs-2011 Презентация] для геоконкурса.


<br />
<br />
<br />
<br />


''Акинин М.В., verzhak@gmail.com''
== Об авторе ==
 
Автор: Акинин М.В., verzhak@gmail.com


''Научный руководитель: к.т.н, доцент Конкин Ю.В.''
Научный руководитель: к.т.н, доцент Конкин Ю.В.


''Рязанский государственный радиотехнический университет, кафедра ЭВМ''
Рязанский государственный радиотехнический университет, кафедра ЭВМ


''2011 - 2012 гг.''
2011 - 2012 гг.

Текущая версия от 02:08, 26 марта 2012

Эта страница является черновиком статьи.


Введение

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

Отслеживанию пожарной динамики и оценке последствий пожаров был посвящен геоконкурс, проведенный порталом GIS - Lab совместно с рядом российских и зарубежных компаний. Описываемый плагин был разработан для данного геоконкурса в рамках магистерской диссертации разработчика.

Ядром плагина является классификатор, состоящий из двух машин опорных векторов. На вход классификатора подается вектор спектральных яркостей пикселя спутникового снимка, с выхода классификатора снимается номер класса, к которому отнесен пиксель. По номерам классов плагин составляет карту гарей и сохраняет ее в файле формата GeoTIFF с привязкой карты к системе координат WGS84 и проекцией карты в проекцию UTM. Пиксели результирующей карты гарей могут быть установлены в следующие значения:

  • 3 - пиксель занят лесом;
  • 2 - пиксель занят гарью;
  • 1 - пиксель не занят ни лесом, ни гарью;
  • 0 - пиксель не попал в область интереса (AOI).

Входными данными для составления карты гарей являются:

  • "старший" и "младший" спутниковые снимки - спутниковые снимки, по которым плагин составляет обучающее множество векторов, на котором обучает и тестирует качество обучения классификатора.

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

Старший и младший спутниковые снимки должны быть сделаны в период активной вегетации растительности (конец весны - начало лета), примерно в одно и то же время с разницей в один - два года (старший спутниковый снимок должен быть сделан, очевидно, раньше младшего);

  • карта леса и область интереса - полигональные векторные слои, сохраненные в файлах формата ESRI Shape.

Карта гарей будет составлена только для пересечения данных двух векторных слоев;

  • несколько обрабатываемых спутниковых снимков, для которых будут составлены карты гарей.

В качестве источника спутниковых снимков должен исльзоваться КА "Landsat 5", данные от которого могут быть получены с помощью EarthExplorer.

Спутниковые снимки должны пройти предварительную обработку с целью минимизации помех и для устранения посторонних объектов (облака, дымка и тому подобные вещи).

Установка

Плагин SFire является свободно распространяемым программным обеспечением (лицензия GPLv3).

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

  • ОС GNU/Linux;
  • компилятор GNU C Compiler из состава коллекции компиляторов GNU Compiler Collection;
  • интерпретатор для языка программирования Python 2;
  • средство автоматизации сборки GNU Make;
  • система контроля версий Git;
  • программные библиотеки Qt4, pyqt4, GDAL / OGR;
  • утилита swig;
  • ГИС Quantum GIS версии не ниже 1.7.

Для установки плагина необходимо выполнить следующие действия:

  1. скачать исходный код плагина:
    git checkout git://github.com/verzhak/sfire.git
  2. перейти в каталог с исходным кодом плагина:
    cd sfire
  3. собрать плагин:
    make
  4. создать символьную ссылку на каталог с исходным кодом плагина в каталоге с плагинами для QGIS:
    ln -s `pwd` ~/.qgis/python/plugins/

Запуск

Для запуска плагина необходимо выполнить следующие действия:

  1. запустить qgis;
  2. подключить плагин (рисунок 1);
  3. выбрать пункт "Составление карт гарей лесных массивов" в одноименном подменю меню "Модули" панели инструментов QGIS (рисунок 2).

Sfire-qgis-1.png

Рисунок 1 - Менеджер модулей QGIS


Sfire-qgis-2.png

Рисунок 2 - Меню "Модули"


Составление карты гарей

Составление обучающего множества векторов

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

Составление обучающего множества осуществляется на вкладке "Создание обучающего множества векторов" главного окна плагина (рисунки 3, 4 и 5).

Обучающее множество векторов сохраняется в три файла - по одному для каждого из целевых классов.

Sfire-qgis-103.png

Рисунок 3 - Вкладка "Создание обучающего множества векторов"


Sfire-qgis-104.png

Рисунок 4 - Составление обучающего множества векторов


Sfire-qgis-105.png

Рисунок 5 - Обучающее множество векторов составлено


Обучение классификатора

Обучение классификатора производится по обучающему множеству векторов с помощью вкладки "Обучение классификатора" главного окна плагина (рисунки 6, 7 и 8).

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

Sfire-qgis-106.png

Рисунок 6 - Вкладка "Обучение классификатора"


Sfire-qgis-108.png

Рисунок 7 - Обучение классификатора


Sfire-qgis-109.png

Рисунок 8 - Обучение классификатора завершено


Составление карты гарей

Для составления карты требуется обученный классификатор и спутниковый снимок целевой местности, по характеристикам совпадающей с местностью, на спутниковых снимках которой был обучен классификатор (например, классификатор, обученный на снимках Черноземья, скорее всего, будет эффективно работать только с Черноземьем - для других территорий требуется переобучение классификатора).

Составление карты гарей по некоторому спутниковому снимку производится с помощью вкладки "Формирование карты гарей лесного массива" главного окна плагина (рисунки 9, 10 и 11).

Карта гарей сохраняется в виде растровой маски в файле формата GeoTIFF.

Sfire-qgis-111.png

Рисунок 9 - Вкладка "Формирование карты гарей лесного массива"


Sfire-qgis-112.png

Рисунок 10 - Формирование карты гарей лесного массива


Sfire-qgis-113.png

Рисунок 11 - Карта гарей лесного массива сформирована


Результат

На рисунке 12 приведена карта гарей лесного массива части национального парка "Мещерский", составленная по спутниковому снимку 29-го июля 2011-го года.

В качестве векторной карты леса был использован слой "vegetation-polygon" из числа слоев, сохраненных в наборе shape - файлов в рамках проекта "Данные OpenStreetMap в формате Shape и PostGIS"[1], разрабатываемого порталом GIS - Lab.

Sfire-qgis-map 2011.png

Рисунок 12 - Карта гарей лесного массива части национального парка "Мещерский" от 29-го июля 2011-го года


Ссылки



Об авторе

Автор: Акинин М.В., verzhak@gmail.com

Научный руководитель: к.т.н, доцент Конкин Ю.В.

Рязанский государственный радиотехнический университет, кафедра ЭВМ

2011 - 2012 гг.