Расчет NDVI в GRASS 6.4.3: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Статья|Черновик}}
{{Статья|Черновик}}
Аннотация:в статье представлена инструкция по созданию проекта базы геоданных, области и набора данных в GRASS и  расчету вегетационного индекса NDVI с помощью программы GRASS 6.4.3
Аннотация:в статье представлена инструкция по расчету нормализованного относительного индекса растительности NDVI с помощью программы GRASS 6.4.3


GRASS (англ. Geographic Resources Analysis Support System — система для обработки географической информации. Аббревиатура складывается в английское слово grass — трава.) Геоинформационная система с открытым исходным кодом. Поддерживает большое количество форматов. Выпущены версии, работающие под многими операционными системами — Microsoft Windows, Apple Mac OS X, POSIX-совместимыми вообще и Linux в частности http://ru.wikipedia.org/wiki/GRASS_(%D0%93%D0%98%D0%A1).
== Общие сведения ==


== Создание проекта в GRASS ==
NDVI (Normalized Difference Vegetation Index) - нормализованный относительный индекс растительности - простой количественный показатель количества фотосинтетически активной биомассы (обычно называемый вегетационным индексом). Один из самых распространенных и используемых индексов для решения задач, использующих количественные оценки растительного покрова. Подробнее об индексе в статье "NDVI - [теория] и практика"http://gis-lab.info/qa/ndvi.html


Для того, чтоб начать любую работу в GRASS необходимо создать базу геоданных (DATABASE).
Расчет произведен на примере снимка Landsat 8 Oli LC81130252013190LGN00, Хабаровский край, Солнечный район.  
На общем уровне база геоданных состоит из следующих частей [[http://wiki.gis-lab.info/w/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%93%D0%98%D0%A1_GRASS_%D0%B8_%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B_%D0%B5%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F]]:
== Подготовка к расчету ==
DATABASE -- база геоданных (второе название -- каталог данных). Это обычный каталог, который может быть расположен в любом месте дерева каталогов на компьютере пользователя или сети. Здесь хранятся все области проектов (LOCATION).
=== Импорт данных в проект ===
LOCATION -- область проекта  или просто проект. Область проекта определяется системой координат и пространственным охватом.  В проекте хранится вся информация об интересующей территории (карты), настройки подключений к БД и т.п. Проект не является замкнутой системой, его данные могут быть  использованы в другом проекте.
MAPSET -- набор карт (набор данных или просто набор). Набор представляет собой часть области проекта и может быть поделен на более мелкие логические части, например:
по тематике ( набор топографических данных и/или набор данных ДЗЗ),
пространственному охвату ( набор на всю территорию и набор на северо-западную часть области),
пользователю-владельцу набора (набор пользователя user1 и набор пользователя user2).
В любой области должен быть задан как минимум один набор, название которого -- PERMANENT.
'''«N. B.!»''' При создании базы геоданных пользователь сам определяет место расположения базы, ее название, а также названия областей и наборов. Чтобы избежать проблем в дальнейшей работе следует помнить, что пути и названия не должны содержать:пробелы и символы, отличные от символов латинского алфавита.


Базу геоданных (database) можно создать через модуль GRASS в QGIS. Для этого, запускаем QGIS, открываем вкладку Модули и ставим галочку напротив GRASS, тем самым активируя его.
Для дальнейшей работы необходимо импортировать растровые слои http://gis-lab.info/docs/grass/tutorial60/05r.html. Для расчёта NDVI нам потребуются файлы 3 и 4 канала. Воспользуемся модулем r.in.gdal
<center> [[Файл:20140403031320!Vrladka modul.jpg]]</center>
Теперь на панели инструментов появилась панель меню GRASS, выбираем на ней кнопку «Новый набор»
<center>[[Файл:Sozdat nabor.jpg]]</center>
Создаем папку grassdata в удобном нам месте. Помним о том,что путь к ней не должен содержать символы отличные от латиницы!
<center>[[Файл:BazadannwhGRASS.jpg]]</center>
Далее вводим Имя района и выбираем  системы координат с которыми планируем работать. Устанавливаем Регион GRASS, например Россия. Даём имя новому набору.Вот, что должно получится:
<center>[[Файл:Novwinabor+raion.jpg]]</center>
Запускаем Grass в его графической оболочке, через терминал Tc|Tk GUI,


<center>[[Файл:Grass_ndvi.jpg]]</center>
Выбираем «Определить новую область» - «Привязанный файл»
<center>[[Файл:NDVI1.png]]</center>
нажимаем «Войти в GRASS», видим на экране три окна
<center>[[Файл:Ndvi_grass_3.jpg]]</center></center>[[Файл:Import sloya.jpg]]</center>
Задаём имя выходной растровой карты


получаем окно
<center>[[Файл:Import rastra.jpg]]</center>


<center>[[Файл:Grass_ndvi2.jpg]]</center>
Нажимаем «Запустить». В окне «Вывод» видим сообщение
Теперь, можно проверить, что у нас получилось. Находим , созданную папку grassdata, открываем папку с названием района, в неё автоматически появилась папка Permanent. Теперь в QGIS панель инструментов стала активной и можно приступать к дальнейшей работе в этой же программе, либо через интерфейс GRASS.  


Выбираем «Определить новую область» - «Привязанный файл»
<center>[[Файл:Vwvod1.jpg]]</center>


<center>[[Файл:NDV_oblast.jpg]]</center>
Повторяем операцию для создания слоя L8_4.


нажимаем «Войти в GRASS», видим на экране три окна
=== Настройка региона и разрешения растра ===


<center>[[Файл:Ndvi_grass_3.jpg]]</center>
После импорта растров, но перед расчетом NDVI
Точная подгонка региона под охват и разрешение выбранного растра:


=== Импорт данных в проект ===
g.region rast=растр -a
Для дальнейшей работы необходимо импортировать растровые слои. Для расчёта NDVI нам потребуются файлы с 3 и 4 каналом.


</center>[[Файл:Import sloya.jpg]]</center>
Флаг -a позволяет подогнать с максимальной точностью, без этого флага, подгонка разрешения выполняется с округлением. Этот подход предпочтительней.


Задаём имя выходной растровой карты
Другой вар.: подогнать охват под выбранный растр и задать разрешение равное ровно 30 м. (в исходных растрах Landsat пространственное разрешение м.б. не 30 м, а, например, 29.85
КОД: ВЫДЕЛИТЬ ВСЁ
g.region rast=растр res=30.0 -a


<center>[[Файл:Import rastra.jpg]]</center>


Нажимаем «Запустить». В окне «Вывод» видим сообщение
Посмотреть параметры текущего региона:
КОД: ВЫДЕЛИТЬ ВСЁ
g.region -p


<center>[[Файл:Vwvod1.jpg]]</center>
=== Радиометрическая коррекция ===


Повторяем операцию для создания слоя L8_4.
Перед расчетом необходимо провести  радиометрическую коррекцию снимка,которую можно выполнить с помощью модуля i.landsat.toar


== Расчет NDVI в GRASS ==
== Расчет NDVI ==


Расчёт NDVI производится по формуле (http://gis-lab.info/qa/ndvi.html)
Расчёт NDVI производится по формуле (http://gis-lab.info/qa/ndvi.html)
Строка 83: Строка 73:
На этом расчет вегетационного индекса NDVI в программе GRASS окончен.
На этом расчет вегетационного индекса NDVI в программе GRASS окончен.


При написании статьи были использованы следующие материалы:
== Просмотр полученного растра ==
 
== Ссылки по теме==
1. Знакомство с ГИС GRASS Колесов Д. А., Мурый А. А.http://gisconf.ru/talks/lect17-kolesov-grass.pdf
1. Знакомство с ГИС GRASS Колесов Д. А., Мурый А. А.http://gisconf.ru/talks/lect17-kolesov-grass.pdf
2. NDVI - [теория] и практика http://gis-lab.info/qa/ndvi.html
2. NDVI - [теория] и практика http://gis-lab.info/qa/ndvi.html
4. Структура базы геоданных ГИС GRASS и способы ее создания http://wiki.gis-lab.info/w/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%93%D0%98%D0%A1_GRASS_%D0%B8_%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B_%D0%B5%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F
4. Учебное руководство по GRASS. Импорт данных http://gis-lab.info/docs/grass/tutorial60/05r.html
5.http://ru.wikipedia.org/wiki/GRASS_(%D0%93%D0%98%D0%A1)
5.http://ru.wikipedia.org/wiki/GRASS_(%D0%93%D0%98%D0%A1)

Текущая версия от 04:18, 5 мая 2014

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


Аннотация:в статье представлена инструкция по расчету нормализованного относительного индекса растительности NDVI с помощью программы GRASS 6.4.3

Общие сведения

NDVI (Normalized Difference Vegetation Index) - нормализованный относительный индекс растительности - простой количественный показатель количества фотосинтетически активной биомассы (обычно называемый вегетационным индексом). Один из самых распространенных и используемых индексов для решения задач, использующих количественные оценки растительного покрова. Подробнее об индексе в статье "NDVI - [теория] и практика"http://gis-lab.info/qa/ndvi.html

Расчет произведен на примере снимка Landsat 8 Oli LC81130252013190LGN00, Хабаровский край, Солнечный район.

Подготовка к расчету

Импорт данных в проект

Для дальнейшей работы необходимо импортировать растровые слои http://gis-lab.info/docs/grass/tutorial60/05r.html. Для расчёта NDVI нам потребуются файлы 3 и 4 канала. Воспользуемся модулем r.in.gdal

Выбираем «Определить новую область» - «Привязанный файл»

NDVI1.png

нажимаем «Войти в GRASS», видим на экране три окна

Ndvi grass 3.jpg

Import sloya.jpg

Задаём имя выходной растровой карты

Import rastra.jpg

Нажимаем «Запустить». В окне «Вывод» видим сообщение

Vwvod1.jpg

Повторяем операцию для создания слоя L8_4.

Настройка региона и разрешения растра

После импорта растров, но перед расчетом NDVI Точная подгонка региона под охват и разрешение выбранного растра:

g.region rast=растр -a

Флаг -a позволяет подогнать с максимальной точностью, без этого флага, подгонка разрешения выполняется с округлением. Этот подход предпочтительней.

Другой вар.: подогнать охват под выбранный растр и задать разрешение равное ровно 30 м. (в исходных растрах Landsat пространственное разрешение м.б. не 30 м, а, например, 29.85 КОД: ВЫДЕЛИТЬ ВСЁ g.region rast=растр res=30.0 -a


Посмотреть параметры текущего региона: КОД: ВЫДЕЛИТЬ ВСЁ g.region -p

Радиометрическая коррекция

Перед расчетом необходимо провести радиометрическую коррекцию снимка,которую можно выполнить с помощью модуля i.landsat.toar

Расчет NDVI

Расчёт NDVI производится по формуле (http://gis-lab.info/qa/ndvi.html)

где NIR - отражение в ближней инфракрасной области спектра RED - отражение в красной области спектра. В связи с тем, что при регистрации данных Landsat физические величины яркости каналов сжимаются в диапазон [1,255] (преобразование L→DN),необходимо провести радиометрическую коррекцию/ Исходные максимальные и минимальные значения яркостей приводятся в файле метаданных (MTL) к снимку:

LMAX_BAND3 (RADIANCE_MAXIMUM_BAND_3) = 705.61206
LMIN_BAND3(RADIANCE_MINIMUM_BAND_3) = -58.26967
LMAX_BAND4(RADIANCE_MAXIMUM_BAND_4) = 597.61023
LMIN_BAND3(RADIANCE_MINIMUM_BAND_4) = -49.35085

Обратное преобразование (DN→L) производится по формуле: Formula L.jpg Открываем калькулятор растров, в строки А и B добавляем слои L8_3 и L8_4. В формулу вставляем значения из метафайла, обозначаем имя выходного слоя, нажимаем Запустить.Если всё корректно выполнено,то в окне Вывод вы получите сообщение о том, что операция выполнена и создан новый слой.

Vwvod.jpg
Повторяем операцию для второго слоя.
Kalkulyator.jpg

Теперь раcсчитываем NDVI. Для этого в калькулятор добавляем слои, созданные по результатам радиометрической коррекции, записываем формулу и новый слой L8_ndvi

Kalkulyatorndvi.jpg
Vwvodokonchatelnwi.jpg

На этом расчет вегетационного индекса NDVI в программе GRASS окончен.

Просмотр полученного растра

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

1. Знакомство с ГИС GRASS Колесов Д. А., Мурый А. А.http://gisconf.ru/talks/lect17-kolesov-grass.pdf 2. NDVI - [теория] и практика http://gis-lab.info/qa/ndvi.html 4. Учебное руководство по GRASS. Импорт данных http://gis-lab.info/docs/grass/tutorial60/05r.html 5.http://ru.wikipedia.org/wiki/GRASS_(%D0%93%D0%98%D0%A1)