Атмосферная коррекция i.atcorr

Ответить
Аватара пользователя
darsvid
Активный участник
Сообщения: 156
Зарегистрирован: 29 июн 2012, 12:40
Статьи: 5
Проекты: 1
Репутация: 107
Откуда: Kyїv, Ukraine
Контактная информация:

Атмосферная коррекция i.atcorr

Сообщение darsvid » 05 ноя 2014, 17:04

Провожу атмосферную коррекцию данных Landsat 8 OLI (каналы 1-7), GRASS 7.0 beta 3, ОС Windows 7 64 bit.
Растры каналов предварительно переведены в radiance, тип 32float.

Вопросы:

1) нужно ли корректировать input range (и если нужно, то до каких значений), который по умолчанию [0,255]

2) похоже, что в справке неверно указаны параметры файла атмосферной коррекции для Landsat 8, а именно
geometric conditionsShow
17 Landsat 8, а нужно 18 Landsat 8
Sensor band - predefined satellite bandsShow
115 Landsat 8 Coastal Aerosol Band (0.427nm - 0.459nm), а нужно 116
116 Landsat 8 Blue Band (436nm - 527nm), нужно 117
117 Landsat 8 Green Band (512nm-610nm), нужно 118
118 Landsat 8 Red Band (625nm-691nm), нужно 119
119 Landsat 8 Panchromatic Band (488nm-692nm), нужно 120
120 Landsat 8 NIR Band (829nm-900nm), нужно 121
121 Landsat 8 Cirrus Band (1340nm-1409nm), нужно 122
122 Landsat 8 SWIR1 Band (1515nm - 1697nm), нужно 123
123 Landsat 8 SWIR2 Band (2037nm - 2355nm), нужно 124
определила это при чтении результата команды - там пишется канал при считывании файла с параметрами. Проблема возникает при коррекции 7 канала с номером 124 - информация о канале интерпретируется верно, но модуль выдает предупреждение и работа прекращается
предупреждениеShow
i.atcorr --overwrite --verbose input=LC8_2014_162_band7_radiance@Landsat elevation=srtm_bt_aoi_utm35@Landsat parameters=G:\grassdata/bt_transition_potential/Landsat/.tmp/unknown/5080.8 output=LC8_2014_162_band6_atcor rescale=0,1
wavelength less than 0.25 micron:
let's take s(l)=s(0.25)
WARNING: Unsupported iwave value: 124
3) при коррекции канала 5 все значения становятся равными 1 - никак не могу понять в чем дело (geotiff во вложении).
Параметры файла атмосферной коррекции:Show
18 - geometrical conditions=Landsat 8
6 11 9.14 24.345 48.234 - month day hh.ddd longitude latitude
2 - atmospheric mode=midaltitude summer
1 - aerosols model=continental
0 - visibility [km] (aerosol model concentration)
0.022 - aerosol optical depth 550 nm (from MODIS data)
-1.067 - mean target elevation above sea level [km]
-1000 - sensor height (here, sensor on board a satellite)
121 - 5th band of OLI Landsat 8
В общем и целом, изменений в композитах на основе атмосферно скорректированных данных по сравнению с DN/radiance не заметила, хотя по идее они же должны стать ярче/контрастнее?
Вложения
LC8_2014_162_band5_radiance.7z
(3.05 МБ) 93 скачивания
Последний раз редактировалось darsvid 09 ноя 2014, 13:29, всего редактировалось 1 раз.

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 05 ноя 2014, 19:21

А высота над уровнем моря -1.067 км - это не ошибка?
Про номер 17 - очевидная опечатка в мануале.
По поводу input range - сам ломаю голову. Нашёл вот это:
osgeo-org.1560.x6.nabble.com/Using-i-atcorr-on-SPOT4-and-SPOT5-imagery-td4985772.html
Но что-то они здесь ни к какой конкретике не пришли.

Аватара пользователя
darsvid
Активный участник
Сообщения: 156
Зарегистрирован: 29 июн 2012, 12:40
Статьи: 5
Проекты: 1
Репутация: 107
Откуда: Kyїv, Ukraine
Контактная информация:

Re: Атмосферная коррекция i.atcorr

Сообщение darsvid » 05 ноя 2014, 20:01

А высота над уровнем моря -1.067 км - это не ошибка?
не ошибка, горная территория (Карпаты) - средняя высота области исследования 1067 м, т.е. 1.067 км - пишется отрицательное значение в км
По поводу input range - сам ломаю голову. Нашёл вот это:
osgeo-org.1560.x6.nabble.com/Using-i-atcorr-on-SPOT4-and-SPOT5-imagery-td4985772.html
спасибо, почитала - нужно будет попробовать вариант с введением реальных мин/макс, хотя тоже как-то не уверена

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 06 ноя 2014, 12:34

Я склоняюсь к тому, что трогать input range не надо, иначе результаты будут зависеть от обрабатываемой территории. Значения radiance - они ведь в физических единицах. Там в коде входные значения приводятся к диапазону [0;1], используя этот самый input range, и в таком виде передаются модели 6S для вычислений. Выходные значения аналогично масштабируются обратно с использованием параметров rescale. Понять, что происходит внутри 6S, не в моих силах.
Для контроля можно сравнить результаты с simplified at-surface values, полученными с помощью методов DOS (i.landsat.toar). Думаю, если вкралась грубая ошибка, она будет видна. Хотя в правильности интерпретации метаданных Landsat 8 документация i.landsat.toar как-то не очень уверена.

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 06 ноя 2014, 13:30

Что касается кодов каналов - мне кажется, в справке всё правильно. По крайней мере, с кодом 120 у меня отрабатывает нормально на вашем 5 канале, а с кодом 121 все значения получаются равными 255.

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 06 ноя 2014, 14:10

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

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 07 ноя 2014, 12:12

Исправлено в r62638.

Tifoso
Интересующийся
Сообщения: 17
Зарегистрирован: 04 фев 2014, 02:52
Репутация: 2

Re: Атмосферная коррекция i.atcorr

Сообщение Tifoso » 20 июл 2015, 16:58

Ariki писал(а):Я склоняюсь к тому, что трогать input range не надо, иначе результаты будут зависеть от обрабатываемой территории. Значения radiance - они ведь в физических единицах.
Судя по приведённой информации в данной статья, корректировать значения входного интервала необходимо, и это логично. Хотя мне не совсем понятно, почему модуль не считывает эти данные из метаданных обрабатываемого файла.
Авторы рекомендуют указывать значения input range исходя из значений оптической плотности растра, при этом округляя их до целых. Но не вполне ясно, что тогда делать, если максимальные значения составляют, допустим, 1,1 - округлять до 1 и потерять часть данных, или округлять до 2, тем самым уменьшив получаемые значения почти на половину?

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: Атмосферная коррекция i.atcorr

Сообщение Ariki » 24 июл 2015, 17:19

Там в статье они используют флаг -r и подают на вход i.atcorr растр, содержащий reflectance, то есть отражающую способность, которая не может быть больше единицы. Но на практике эти значения чаще всего представлены не в формате с плавающей точкой (так они занимали бы слишком много места), а в виде целочисленного растра, то есть отмасштабированы. Для восьмибитного растра (наиболее распространённый случай) диапазон будет от 0 до 255. Поэтому эти значения и выбраны в качестве разумного умолчания, и именно поэтому границы диапазона округляются до целого: масштабировать значения с плавающей точкой нет смысла.

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

А вот что происходит, если в качестве входных данных у нас top-of-atmosphere radiance, я пока так и не разобрался.

Ответить

Вернуться в «GRASS»

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

Сейчас этот форум просматривают: Bing [Bot] и 0 гостей