Страница 1 из 2

Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 06:40
Озарян Юлия
Обсуждение темы:
Расчет NDVI в GRASS
http://wiki.gis-lab.info/w/%D0%A0%D0%B0 ... RASS_6.4.3.

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 07:31
bolotoved
Правильная ссылка будет такой: http://wiki.gis-lab.info/w/%D0%A0%D0%B0%D1%81%D1%87%D0%B5%D1%82_NDVI_%D0%B2_GRASS_6.4.3.
На последних 3-х скриншотах текст слишком мелкий. М.б. попробовать перед скрином сжать окно, чтобы оно не было таким широким, тогда, возможно, буквы будет лучше видно.

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 07:39
bolotoved
Еще: создание БД GRASS, настройка Location и пример импорта данных лучше отделить в отдельную статью (если таковой еще нет), чтобы на нее можно было ссылаться при написании других инструкций.
А в данной статье сосредоточиться на NDVI.

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 08:00
Озарян Юлия
bolotoved писал(а):Еще: создание БД GRASS, настройка Location и пример импорта данных лучше отделить в отдельную статью (если таковой еще нет), чтобы на нее можно было ссылаться при написании других инструкций.
А в данной статье сосредоточиться на NDVI.

Ссылку поменяла, спасибо. Дмитрий, изначально, мне предлагал разделить, решила посмотреть полностью статью, а уж потом разделять, но раз уж мнения сошлись, разделю :D

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 08:06
bolotoved
По созданию проекта грасс, импорту и экспорту была такая заготовка: http://wiki.gis-lab.info/w/%D0%9D%D0%B0 ... D1%81_QGIS
И у вас и в вышепреведенной заготовке статьи не хватает важного пункта: настройки охвата и разрешения района. По этому не факт, что охват и разрешение полученного на выходе растра NDVI будут идентичны исходным растрам Landsat.
После импорта растров, но перед расчетом NDVI нужно добавить что-то вроде того:
Точная подгонка региона под охват и разрешение выбранного растра:
Код: Выделить всё
g.region rast=растр -a

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

Другой вар.: подогнать охват под выбранный растр и задать разрешение равное ровно 30 м. (в исходных растрах Landsat пространственное разрешение м.б. не 30 м, а, например, 29.85
Код: Выделить всё
g.region rast=растр res=30.0 -a


Посмотреть параметры текущего региона:
Код: Выделить всё
g.region -p


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

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 08:25
alexandr cherepanov
Перевод в radiance данных OLI:
если делать по формуле для ETM+ тогда для Qcalmax и Qcalmin надо ставить правильные значения, 16 бит - 65535 и 1. Или проще использовать сразу готовые gain/offset из метаданных для перевода в radiance/reflectance

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 11:52
Максим Дубинин
ссылка в первом посте не работает, надо исправить, где статья то?

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 12:19
bolotoved
Максим Дубинин писал(а):ссылка в первом посте не работает, надо исправить, где статья то?

Теперь должно работать.

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 04 апр 2014, 23:43
Александр Мурый
Юлия, вы молодец, что стремитесь разобраться в работе GRASS и поделиться приобретёнными знаниями.
Но, давайте начистоту, материала для статьи здесь явно не хватает. БОльшую часть занимает описание создания набора/области (это выделено в отдельную заметку, её я покритикую отдельно, в соотв-й теме :)). Собственно расчёт NDVI сводится к одному действию с модулем <r.mapcalc>.
Цитировать статью про GRASS из Википедии я бы не стал, она просто ужасная.
Мой вывод: это хорошая такая шпаргалка для себя (какие модули запускать и т.д.), но под статью для новичков не очень подходит.

Ещё вопрос: почему вы не используете модуль i.landsat.toar для радиометрической коррекции?

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 05 апр 2014, 11:03
KolesovDmitry
Александр Мурый писал(а):Но, давайте начистоту, материала для статьи здесь явно не хватает. ... Собственно расчёт NDVI сводится к одному действию с модулем <r.mapcalc>.
...
Ещё вопрос: почему вы не используете модуль i.landsat.toar для радиометрической коррекции?

Мне кажется, что, если статью дополнить описанием действий, о которых выше говорили, то на выходе будет вполне полноценная статья. Таким образом, на мой взгляд, в статью нужно добавить разделы
* В водную часть -- про настройку региона и почему это важно.
* Про то, как сделать радиометрическую коррекцию через i.landsat.toar
В итоге будет создан материал, описания которого на русском языке нигде нет

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 05 апр 2014, 11:49
darsvid
Юлия, спасибо за материал.

Согласна с KolesovDmitry, что при определенной доработке, черновик превратится в полезное how to для тех, кто начинает знакомство с GRASS. Так что с текстовой частью все будет в порядке, а картинки стоит подправить:

* перевести из JPEG в PNG (они станут полегче и почетче)
* обновить в соответствии с актуальными версиями ПО (QGIS 1.8 было очень давно, сейчас 2.2)
* обратите внимание на названия файлов скриншотов (они должны быть содержательными, единообразными и со сквозной нумерацией)
* поработать над выделениями на картинке (в другой статье красные проведенные вручную подчеркивания выглядят не очень)
В целом для этого удобно использовать какое-то специальное ПО (например, xScreenshot)

а еще в конце хотелось бы увидеть полученный результат - как выглядит растр с посчитанным NDVI (заодно и про настройку отображения растра в GRASS можно рассказать)

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 05 апр 2014, 12:48
Александр Мурый
Как идея: а если сделать статью на конкретном примере (тот же модный сейчас Landsat 8)? С указанием используемой сцены и т.д. Как-то так: "Расчёт NDVI в ГИС GRASS по данным Landsat 8".
Ссылки по теме:
- http://landmap.mimas.ac.uk/index.php/Le ... on-Indices
- http://www.youtube.com/watch?v=IFTh3UuMSHw
- http://grass.osgeo.org/grass70/manuals/i.vi.html (только в GRASS 7, спец. модуль для расчёта всяких индексов).

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 06 апр 2014, 06:02
Озарян Юлия
Спасибо БОЛЬШОЕ всем за конструктивную критику, всё разберу и исправлю!

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 07 апр 2014, 02:57
Озарян Юлия
alexandr cherepanov писал(а):Перевод в radiance данных OLI:
если делать по формуле для ETM+ тогда для Qcalmax и Qcalmin надо ставить правильные значения, 16 бит - 65535 и 1. Или проще использовать сразу готовые gain/offset из метаданных для перевода в radiance/reflectance

тогда расчет по этой формуле будет

Re: Расчет NDVI в GRASS

СообщениеДобавлено: 09 апр 2014, 14:01
alexandr cherepanov
Да по этой, или сразу по
Lλ = MLQcal + AL
where:
Lλ = TOA spectral radiance (Watts/( m2 * srad * μm))
ML = Band-specific multiplicative rescaling factor from the metadata (RADIANCE_MULT_BAND_x, where x is the band number)
AL = Band-specific additive rescaling factor from the metadata (RADIANCE_ADD_BAND_x, where x is the band number)
Qcal = Quantized and calibrated standard product pixel values (DN)

Это одно и тоже.