Как воспользоваться информацией из базы по спектральным кривым
Обсудить в форуме Комментариев 0
Для импорта кривых спектральной отражательной способности объектов в ENVI необходимы значения длины волны и коэффициентов отражения. Эту информацию можно посмотреть в колонке График – Скачать и сохранить в текстовый файл.
Оглавление
Скачaнные текстовые файлы можно отобразить в окне ENVI Plot Window.
В главном меню ENVI выбираем Window -> Start New Plot Window.
В окне ENVI Plot Window выбираем File -> Input Data ASCII…. и открываем нужные кривые по одной.
Пример
1 − Одуванчик (Taraxacum sp.), цветы − диапазон 405−695 нанометров − 59 значений; 167 − Картофель. Здоровые листья − диапазон 410−870 нанометров − 92 значения.
Оформление графиков и самого окна можно поменять (в окне ENVI Plot Window Edit -> Data Parameters, Edit -> Plot Parameters). Графики из окна Plot можно сохранить как рисунок (в окне ENVI Plot Window File -> Save Plot As… -> Image File). Сохранить графики в файл спектральной библиотеки не получится, так как они имеют разный диапазон и количество значений.
Предположим нам необходимо создать спектральную библиотеку для лесов Московской области.
Выбираем спектральные кривые по категориям Растительность – Деревья.
Просматриваем список и копируем в текстовый файл названия, в которых указана Московская область (вместе с номерами).
73 Береза (Betula pendula),крона, Московская обл. 74 Осина (Populus tremula), 25 июня, крона, Московская обл. 75 Сосна, крона, Московская обл. 76 Ель, крона, 6 августа, Московская обл. 168 Береза, крона, Московская обл.,17 мая 169 Береза, крона, Московская обл., 31 мая 170 Береза, крона, Московская обл., 8 июня 171 Береза, крона, Московская обл., 26 июня 172 Береза, крона, Московская обл., 14 июля 173 Береза, крона, Московская обл., 6 августа 174 Береза, крона, Московская обл.,1 сентября 175 Береза, крона, Московская обл.,10 сентября 176 Береза, крона, Московская обл., 1 октября 177 Осина, крона, Московская обл., 17 мая 178 Осина, крона, Московская обл., 25 июня 179 Осина, крона, Московская обл., 10 июля 180 Осина, крона, Московская обл., 3 июля 181 Осина, крона, Московская обл., 23 июля 182 Осина, крона, Московская обл., 6 августа 183 Осина, крона, Московская обл., 1 сентября 184 Осина, крона, Московская обл., 10 сентября 185 Дуб, крона, Московская обл., 26 июня 186 Дуб, крона, Московская обл., 4 июля 187 Дуб, крона, Московская обл., 2 сентября 199 Дуб, крона. Московская обл., 17 сентября 200 Ель, крона. Московская обл., 2 июня 201 Ель, крона. Московская обл.,11 июня 202 Ель, крона Московская обл., 10 июля 203 Ель, крона Московская обл., 29 июля 204 Ель, крона. Московская обл., 6 августа 205 Ель, крона. Московская обл., 23 августа 206 Сосна, крона. Московская обл., 20 мая (молодые побеги). Моск. обл. 207 Сосна, крона. . Московская обл., 17 мая (цветы сосны). Моск. обл. 208 Сосна, крона. Московская обл., 4 июня. Моск. обл. 209 Сосна, крона. Московская обл., 24 июня (молодые побеги). Моск. обл. 210 Сосна, крона. . Московская обл., 10 июля 211 Сосна, крона. Московская обл., 6 августа 212 Сосна, крона. Московская обл., 23 августа
Поскольку на настоящий момент функция “Скачать выбранные” не реализована, необходимо скачать отобранные спектральные кривые вручную. Ссылка для просмотра будет иметь вид:
http://gis-lab.info/scripts/spectra/showcsv.php?id=73
http://gis-lab.info/scripts/spectra/showcsv.php?id=74
и т.д.
Сохраняем текстовые файлы под теми же номерами.
Теперь необходимо определиться со спектральным диапазоном нашей библиотеки. Мы не знаем для каких длин волн у нас есть значения в текстовых файлах. Например: cпектральная кривая с номером 73 имеет диапазон 405-765 нанометров, 173 − 400-755 нанометров, 207 − 405-775 нанометров.
Необходимо создать шаблон для будущей библиотеки, сделать его можно в Excel и сохранить в текстовый файл. В шаблоне указываются значения длины волны.
400 405 410 415 420 … 890 895 900
В главном меню ENVI выбираем Spectral -> Spectral Libraries -> Spectral Library Builder. Откроется диалоговое окно Spectral Library Builder, выбираем диапазон для новой библиотеки из нашего шаблона - Input Spectral Wavelenght From -> ASCII File. Единицы измерения – нанометры.
Теперь можно импортировать имеющиеся спектральные кривые в Spectral Library Builder.
Import -> from ASCII file… Выбираем все кривые и нажимаем Ok. Ось X – первая колонка, ось Y – вторая колонка, единицы измерения можно не указывать.
Импортированные спектральные кривые добавятся в Spectral Library Builder. В колонке Wavelength указан диапазон значений спектральных кривых. Диапазон нашей спектральной библиотеки 400-900 нанометров с шагом в 5 нанометров. Диапазон спектральных кривых 405-750 нанометров, 405-765 нанометров, шаг такой же как у библиотеки – 5 нанометров.
При импорте кривых в ENVI автоматически производится интерполяция данных внутри диапазона кривой (если имеются пропуски) и выполняется экстраполяция данных до значений диапазона спектральной библиотеки.
Для просмотра графика спектральной кривой нужно выбрать кривую и нажать кнопку Plot.
Проблему искажений кривых можно решить двумя способами:
Удаляем все спектры из Spectral Library Builder. Select All -> Delete. Редактируем содержание наших текстовых файлов, добавляем –NaN в конце и импортируем кривую в Spectral Library Builder. Ограничители infinity или –NaN в начале кривой не воспринимаются при импорте, поэтому указывать их нет смысла. Если нужно исправить значения на этих участках, то это можно сделать вручную в окне Plot Edit -> Data Value. После импорта будет теряться одно значение перед –NaN. Кривые с – NaN будут правильно отображаться в окне Plot, но будут приводить к ошибкам при попытке калибровки библиотеки под конкретную съемочную систему. При использовании 0 таких ошибок не возникает, но график будет не столь красивый. Поскольку при экстраполяции 0 обрабатывается как число, а не как ограничитель, нужно ставить два значения 0 в конце кривой, и если нужно то и в начале. Например, если кривая имеет диапазон 420 - 750 нанометров, а созданная библиотека 400 – 900 нанометров, тогда в файл необходимо добавить значения 410,0 415,0 755,0 760,0.
Значения коэффициентов отражения спектральной кривой номер 174
До исправления | Вариант исправления с -NaN | Вариант исправления с 0 |
---|---|---|
x,y |
x,y |
x,y |
405,0.01155 |
405,0.01155 |
400,0 |
410,0.01320 |
410,0.01320 |
405,0.01155 |
415,0.01485 |
415,0.01485 |
410,0.01320 |
.... |
.... |
415,0.01485 |
745,0.20297 |
745,0.20297 |
.... |
750,0.20297 |
750,0.20297 |
745,0.20297 |
755,0.20297 |
755,0.20297 |
750,0.20297 |
760,-NaN |
755,0.20297 |
|
760,0 |
||
765,0 |
Кривая с –NaN и кривая с 0
Теперь нужно определиться со структурой библиотеки порядком и названием спектральных кривых. Редактирует текстовый файл с названиями кривых, упрощаем их названия и расставляем в нужном порядке. Проще это сделать в Excel.
Колонку B сохраняем в отдельный текстовый файл, этот файл мы используем для автоматического проставления названий кривых. Импортируем исправленные спектральные кривые в Spectral Library Builder в нужном порядке. Проставляем названия кривых Options -> Import spectrum names from ASCII…
Спектральную библиотеку можно сохранить прямо из окна Spectral Library Builder File -> Save Spectra As -> Spectral Library file… Если необходимо отредактировать значения или изменить диапазон библиотеки сохраняем библиотеку в ASCII файл File -> Save Spectra As -> ASCII file… Редактируем файл в любом текстовом редакторе и открываем в новом окне Plot (Window -> Start New Plot Window, в окне ENVI Plot Window выбираем File -> Input Data ASCII…)
Сохраняем спектральную библиотеку из окна Plot. File -> Save Plot As -> Spectral Library… Выбираем все кривые и нажимаем Ok.
Можно поменять название осей X и Y, перевести значения оси Х из нанометров в микрометры (X Scale factor = 0.001) вводим имя файла и нажимаем Ok.
Готовый файл спектральной библиотеки будет добавлен в окно Available Band List. Для просмотра библиотеки нужно навестись на имя файл и выбрать в контекстном меню Spectral Library Viewer.
Открытие и просмотр
В главном меню ENVI выберите Spectral -> Spectral Libraries -> Spectral Library Viewer. Откроется диалоговое окно Spectral Library Input File. Нажмите на кнопку открыть файл (Open) и выберите в списке Спектральная библиотека (Spectral library…).
Перейдите в папку со спектральными библиотеками ENVI для растительности envidata\spec_lib\veg_lib, выберите любой файл с расширением *.sli и нажмите Открыть (Open). Если спектральная библиотека уже была открыта раньше, выберите ее в списке диалогового окна Spectral Library Input File и нажмите OK. Появиться диалог Spectral Library Viewer.
Для отображения спектральной кривой один раз нажмите на ее имя в окне Spectral Library Viewer. Появиться окно Spectral Library Plots с выбранной спектральной кривой. Для открытия нескольких спектральных кривых поочередно нажимаем на имена спектров. Каждая новая спектральная кривая будет отображаться в окне Plot новым цветом.
Для того чтобы показать имена спектральных кривых нажмите на правую кнопку мыши в окне Spectral Library Plots и выбрать в контекстном меню Plot Key. Для удаления кривой из окна Plot нужно навестись на ее имя и выбрать в контекстном меню Remove. Нажав левую кнопку мыши над именем кривой и удерживая ее можно перетащить кривую из одного окна Plot в другое окно Plot. Можно поменять оформление графиков и самого окна (в окне ENVI Plot Window Edit -> Data Parameters, Edit -> Plot Parameters). Графики из окна Plot можно сохранить как рисунок (в окне ENVI Plot Window File -> Save Plot As… -> Image File).
Калибровка спектральной библиотеки под конкретную съемочную систему (Resampling)
Для сравнения и сопоставления кривых спектральной отражательной способности полученных со снимка с кривыми из спектральной библиотеки, последние необходимо пересчитать, используя функции пропускания энергия для каждого спектрального канала съемочной системы. Для некоторых съемочных систем функции пропускания энергии (так называемые Filter Function Files) есть в ENVI папке filt_func.
Выполним калибровку созданной библиотеки для работы со снимками Landsat7/ETM+. Откроем файл с функциями пропускания энергии для каналов Landsat7/ETM+ - IDL**\products\envi**\filt_func\tm.sli . Filter Function File - обычный файл спектральной библиотеки, открывается через Spectral Library Viewer.
Выбираем нужные каналы Landsat7/ETM+, например 1,2,3,4,5,7.
В главном меню ENVI выберите Spectral -> Spectral Libraries -> Spectral Library Viewer. Нажмите на кнопку открыть файл (Open) и выберите в списке Спектральная библиотека (Spectral library…).
Открываем созданную спектральную библиотеку для лесов Московской области с нулевыми значениями.
Диапазон нашей библиотеки подходит только для работы с 1,2,3 каналами Landsat7/ETM+. Удаляем кривые для 4,5,7 каналов из окна Plot и сохраняем оставшиеся кривые в файл landsat_etm_123.sli.
Выбираем Spectral -> Spectral Libraries -> Spectral Library Resampling. Spectral Resampling Input File – наша спектральная библиотека. Указываем Resample Wavelengh to -> User Defined Filter Function, Set bad Valuees to = 0. Пишем имя новой спектральной библиотеки и нажимаем Ok.
Input Filter Function Spectral Library выбираем файл landsat_etm_123.sli. Готовый файл пересчитанной спектральной библиотеки будет добавлен в окно Available Band List.
Центры спектральных каналов, рассчитанные по filter function file – 0.4791, 0.5607, 0.6611.
Спектральные кривые, пересчитанные под конкретную съемочную систему могут быть использованы для решения различных задач:
Главным условием корректного решения всех этих задач будет сопоставимость наших данных: дата и время года получения спектральной кривой и съемки; условия освещенности и состояние атмосферы на момент получения спектральной кривой и съемки; и многое другое.
Обсудить в форуме Комментариев 0
Последнее обновление: September 09 2021
Дата создания: 27.08.2009
Автор(ы): Александр Черепанов
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).