Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 2898
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 51
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение Natalia Novoselova » 03 июн 2018, 16:58

alexandr cherepanov писал(а):
03 июн 2018, 12:45
переклассифированный landcover, значение на основе NDVI
То есть классификация landcover выступает аналогом NDVI.

Конечно, мой участок не однороден. Мне как раз и нужна температура поверхности, чтобы выявить эту неоднородность в состоянии растительного покрова (как один из ее индикаторов). Меня ужаснула классификация по типу заемной поверхности в формуле esa. Поняла из ваших объяснение, что мне надо использовать расчет, где используется NDVI, как то, что наиболее просто дает наиболее точные результаты оценки температуры.

И как тогда измениться последняя формула?


Я понимаю методику так.


Мне нужно скачать продукт Landsat8 OLI/TIRS C1 Level-1 (прошел радиметрическую коррекцию). Его провести через атмосферную коррекцию (например в GRASS). И после этого по нему считать температуру поверхности с формулой, где используется NDVI. Можно уже в ArcGIS, в растровом калькуляторе.

Всё правильно?

Про подходящий модуль GRASS для атмосферно коррекции и для всего расчета, может быть вы тоже сможете дать совет? viewtopic.php?f=29&t=24366

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 2898
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 51
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение Natalia Novoselova » 03 июн 2018, 17:42

alexandr cherepanov писал(а):
03 июн 2018, 12:45
Да, можно сказать,что Я не умею строить температуру поверхности по Ландсат (хотя аппарат тут значения не имеет). С surface temperature чувствуется элемент шаманизма, поэтому не интересно пробовать
Если кому-то интересно, то одно из того, что хочу сейчас сделать, это провести верифиакцию данных температуры по снимку и на местности. Там будет примерно 30 точек внутри фрагмента тропического леса. Хочу измерить температуру внутри леса и после посмотреть, что нам показывает Landsat8.

Вообще, было бы интересно также сравнить и методы расчета. Ибо их в самом деле очень много.

Моя то самоцель иная. Но понять, что дает параметр land temperature в Landsat8 очень важно. :roll:

alexandr cherepanov
Гуру
Сообщения: 530
Зарегистрирован: 30 ноя 2006, 13:31
Статьи: 3
Проекты: 1
Репутация: 111
Откуда: Moscow

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение alexandr cherepanov » 03 июн 2018, 20:04

То есть классификация landcover выступает аналогом NDVI.
Нет, цель максимально корректно задать параметр emissivity, потому что ошибка в нем существенно сказывается на погрешности определения температура, приводятся числа порядка 0.4-0.9 градуса за 0.01 emissivity. Но наверное это и не так страшно, если ошибка будет, то близкая для всех и Ваша неоднородность не пострадает. Если Вам интересна только температура где есть растительность, а остальные территории не интересны, тогда да, использовать landcover бессмысленно и проще всего обойтись оценкой emissivity по NDVI или константой.
Тогда смотрите работы, которые используют NDVI для этой цели.
Например очень много ссылок на
Sobrino, J.A.; Jiménez-Muñoz, J.C.; Paolini, L. Land surface temperature retrieval from LandsatTM 5. Remote Sens. Environ. 2004, 90, 434–440.

Если взять код как это делается в GEOBIA in ArcGIS, то там все очень весело
Есть модель описывающая связь между NDVI и emissivity (Van De Griend and Ove, 1993)

Код: Выделить всё

1.0094+0.047*(Ln(ndvi))
Понятно, что все значения NDVI эта модель описывать не может и будет подходить только для растительности.
Далее на основе NDVI растр разбивается на 4 категории

Код: Выделить всё

-1.0,-0.18,1 класс
-0.18,0.145,2 класс
0.145,0.728,3 класс
0.728,1.0,4 класс
По сути тот же landcover, только урезанный
А далее еще веселее

Код: Выделить всё

1 класс, использует константу emissivity 0.985
2 класс, использует константу emissivity 0.919
3 класс, должен был использовать 1.0094+0.047*(Ln(NDVI)), но по факту 
использует константу NDVI=0.5 и как результат emissivity 0.976
4 класс, использует константу emissivity 0.994
И как тогда измениться последняя формула?
Ваша задача получить растр emissivity и использовать его в калькуляторе

Код: Выделить всё

TS=(TB/[1+(10.8∗TB/14388)∗ln(emissivity ))-273.15
Я понимаю методику так.
Да, для расчета NDVI, каналы красный и ближний ИК. Перевод в radiance и атмосферная коррекция (DOS - проще, 6S-лучше). Можно сразу посмотреть Landsat Surface Reflectance Level-2 Science Products, ссылка на него уже была.
Для тепловых сложнее.
Barsi_AtmCorr_SPIE05.pdf

И в цепочку перед расчетом TOA brightness temperature добавляется

Код: Выделить всё

LT=(Lλ-Lu-τ(1−ε)Ld)/τε
where LT is the radiance of a blackbody target of kinetic temperature T;
τ is the atmospheric transmission;
ε is the emissivity of the surface, specific to the target type;
Lu is the upwelling or atmospheric path radiance;
Ld is the downwelling or sky radiance;
Lλ-TOA spectral radiance measured by the instrument (Watts/(m2*srad*µm))
Эти параметры скорее всего можно получить тут.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 2898
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 51
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение Natalia Novoselova » 03 июн 2018, 20:28

alexandr cherepanov писал(а):
03 июн 2018, 20:04
Эти параметры скорее всего можно получить

Огромное спасибо за детальные пояснения! Буду их использовать, чтобы лучше разбираться в алгоритмах.

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


Моя задача сейчас найти еще и автоматизированный способ расчета температуры поверхности по ландсату. Находя такой (в GRASS, QGIS и других) – читать его метод и понимать его суть и корректность. И от этого выбрать уже лучший.


Автоматизированный – и потому что данных планируется много.

И потому что - цель сделать общую методику оценки состояния растительного покрова очень простой. В которой не усылать пользователей делать пугающие (даже меня) расчеты. А просто показать ему надежные модули софтов.

Что вы скажите про заложенную начинку найденного QGIS плагина? Она вариативна (можно выбирать) и аккуратно проводит по всем стадиям. Ед. вопрос, нужно ли перед его использованием делать атмосферную коррекцию, или плагин полный? В теме обозначила.
Land Surface Temperature plugin (Расчет NDVI, Surface Temperature из Landsat, ASTER)
viewtopic.php?f=27&t=24369&p=164256#p164256

alexandr cherepanov
Гуру
Сообщения: 530
Зарегистрирован: 30 ноя 2006, 13:31
Статьи: 3
Проекты: 1
Репутация: 111
Откуда: Moscow

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение alexandr cherepanov » 03 июн 2018, 21:04

По теплу там вроде все хорошо, тот вариант, что я описывал

Код: Выделить всё

LT=(Lλ-Lu-τ(1−ε)Ld)/τε
Это The Radiative Transfer Equation в плагине.
Первый вариант без атмосферной коррекции тепла - The Planck Function.
NDVI считается по тому что ему дадите на вход, сам данные не готовит. Будут сырые - посчитает по сырым как есть.
С автоматизацией могут быть проблемы, по скольку параметры нужно находить и задавать.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 2898
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 51
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Расчет NDVI и температуры из Landsat8 (хоть что-то одно). Мануал, софт, продукт.. HELP!

Сообщение Natalia Novoselova » 08 июн 2018, 04:27

antonv писал(а):
01 июн 2018, 15:47
то можно открыть этот хендбук и последовательно воспользоваться формулой 5.1 и формулой 5.3. Под "metadata" подразумевается файл *.MTL, входящий в набор ландсатовских продуктов. DN - исходные значения в каналах TIRS. Можно посчитать в (почти) любом растровом калькуляторе - единственное, что QGIS до какой-то версии не умел считать логарифмы, не знаю, как у него с этим сейчас, после выхода 3.0. Но если у вас есть QGIS, там рядышком ещё можно воспользоваться r.mapcalc в GRASS GIS или Grid calculator в SAGA.


Официальные хэндбуки дают расчет через формулы только до уровня Top of Atmosphere Brightness Temperature.
Они не доводят формулу до расчета Land Surface Temperature (LST) :|


Пока мне удалось найти ясно изложенную формулу перехода к искомой LST только в авторских мануалах. Например:
Estimation of Land Surface Temperature
http://semiautomaticclassificationmanua ... emperature

Это та самая формула, которую выше приводит Александр Черепанов:
viewtopic.php?t=24286&start=15#p164249

Код: Выделить всё

TS=TB/[1+(λ∗TB/c2)∗ln(e)]

Я предполагаю, что причина в том, что на этом уровне расчёта – уже авторская наука. То есть все используют какие-то научные статьи, выбирая тот или иной метод учета emissivity. Хотя, наверное, разница должна быть в коэффициентах самой формулы…

Я свожу в вики конспект всего о расчете температуры поверхности по Landsat так, чтобы это было понятно людям без опыта таких погружений , и хотела (без детального разбора) дать ссылку на такую формулу LST . И вот увидела, что в официальных мануалах то и не доводят до нее. :roll:


Пока нашла вот, по данным выше ссылкам. Это мануалы и пост на ГИС-Лаб с объяснениями Александра Черепанова. Их и укажу в статье, т.к. последнее - и есть самое ясное объяснение.

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

Ответить

Вернуться в «Обработка ДДЗ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя