NDVI по снимку Modis в ENVI

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 03 июл 2018, 17:58

Нужно посчитать среднее на выбранном участке снимка.
Я использую следующий алгоритм:
1. Беру снимок MOD 13Q1
2. Вырезаю нужный мне участок через Spatial Subset
3. Сохраняю в Memory
4. Затем нахожу его в Available Bands List
5. Далее правой кнопкой на Quick Stats;
Mean - Это и будет среднее значение NDVI на вырезанном участке?

Но тут начинаются проблемы. Среднее дано в масштабированной шкале. При переводе его в шкалу от -1 до 1 получаются странные значения NDVI, скажем 0,9, хотя в это время и в этом месте такого значения не должно быть. Правильный ли я составил алгоритм? Может быть можно считать как-то ещё. В ENVI я совсем новичок. Заранее спасибо. Ещё бы хотел добавить, что если смотреть значение индекса с помощью функции Pixel loсator, то показывает вполне адекватные значения на вырезанном участке, а среднее выдаёт странное через quick stats.
Последний раз редактировалось Sailor73 04 июл 2018, 07:06, всего редактировалось 1 раз.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: NDVI по снимку Modis в ENVI

Сообщение alexandr cherepanov » 03 июл 2018, 23:28

1. Беру снимок MOD 13Q1
Допустим это MOD13Q1: MODIS/Terra Vegetation Indices 16-Day L3 Global 250 m SIN Grid V006
описание продукта https://lpdaac.usgs.gov/dataset_discove ... d13q1_v006
2. Вырезаю нужный мне участок через Spatial Subset
Данные в синусоидальной проекции. Не факт, что Вы вырезаете именно то, что нужно. Но на сами цифры это никак не влияет.
3. Сохраняю в Memory
4. Затем нахожу его в Available Bands List
5. Далее правой кнопкой на Quick Stats;
Не принципиально.
Если нужна только статистика для выбранной области проще всего это сделать через ROI и статистику для ROI (ROI tool ->Stats). Ничего вырезать не нужно, но в нормальную проекцию все же лучше перевести.Посмотрите тему viewtopic.php?f=1&t=23159&hilit=MOD

Да, значения масштабированы, но шкала немного другая и ENVI читает масштабный фактор сама.
Fill Value:-3000
Valid Range:-2000 to 10000
Scale Factor:0.0001
ENVI нету под рукой, но насколько помню значения можно смотреть через CursorLocationValue самая нижняя строчка, в Pixel Locator только координаты. Это все в классическом интерфейсе, новый не использую, не могу сказать что там есть.

Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

Re: NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 04 июл 2018, 07:42

Спасибо за ответы. Основная моя задача - посчитать среднее значение NDVI на выбранном участке снимка.
Допустим это MOD13Q1: MODIS/Terra Vegetation Indices 16-Day L3 Global 250 m SIN Grid V006
описание продукта https://lpdaac.usgs.gov/dataset_discove ... d13q1_v006
Да, снимок именно такой.
Данные в синусоидальной проекции. Не факт, что Вы вырезаете именно то, что нужно. Но на сами цифры это никак не влияет.
Данные мне координаты участка в проекции UTM.
Не принципиально. Если нужна только статистика для выбранной области проще всего это сделать через ROI и статистику для ROI (ROI tool ->Stats). Ничего вырезать не нужно, но в нормальную проекцию все же лучше перевести.
Вот тут самое важное. При выбранном мной алгоритме, получаются не совсем адекватные данные среднего на выбранном участке. Если вырезать ничего не нужно, то как взять определённый участок и статистику по нему? Не могли бы вы этот этап объяснить более-менее пошагово. С переводом в проекцию было бы прекрасно, но если это займёт у вас время, то только про конкретный участок и статистику (среднее).
ENVI нету под рукой, но насколько помню значения можно смотреть через CursorLocationValue самая нижняя строчка, в Pixel Locator только координаты. Это все в классическом интерфейсе, новый не использую, не могу сказать что там есть.
Да, разумеется, Курсор Локейшен, это я ошибся. Упомянул о нём лишь в том контексе, что через него выдаются адекватные значения, а при просмотре среднего либо слишком завышенные, либо заниженные, невозможные в той области в данное время. Использую ENVI Classic

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: NDVI по снимку Modis в ENVI

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

К окне Image, Tools ->Region of Interest ->ROI tool.
Выбираете удобное рабочее окно Image или Zoom.
Выбирает нужный тип объекта - например Polygon
Обрисовываете область которая нужна и 2 раза нажимаете правую кнопку мыши. Первое нажатие замыкает полигон, второе сохраняет.
Выбирает ROI в котором рисовали и нажимаете кнопку Stats.
Если видите в статистике минимально значение -0.3 (или -3000 если масштабный коэффициент не применяется) значит среднее будет неправильно, так как это void и он не должен участвовать при расчете статистики.

Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

Re: NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 05 июл 2018, 09:54

К окне Image, Tools ->Region of Interest ->ROI tool.
Выбираете удобное рабочее окно Image или Zoom.
Выбирает нужный тип объекта - например Polygon
Обрисовываете область которая нужна и 2 раза нажимаете правую кнопку мыши. Первое нажатие замыкает полигон, второе сохраняет.
Выбирает ROI в котором рисовали и нажимаете кнопку Stats.
Всё это я вчера сделал пока ждал ваш ответ. :) Значит всё сделал верно. Спасибо. Тут такая проблема возникла. У меня серия снимков (около трехсот). И мне важно, чтобы участок, выбираемый мной, был одинаков на всех снимках. Рисованием области от руки этого не добиться. Как можно вводить одни и те же координаты, ограничивающий участок на каждый снимок? Можно это сделать в ROI tool? Проекцию я решил оставить синусоидальную. Но предварительно пересчитать мои координаты в Map coordinate convector в синусоидальную проекцию - это корректно?
alexandr cherepanov писал(а):
04 июл 2018, 21:15
сли видите в статистике минимально значение -0.3 (или -3000 если масштабный коэффициент не применяется) значит среднее будет неправильно, так как это void и он не должен участвовать при расчете статистики.
Что значит void? Почему он получается и что делать?
Спасибо большое, что отвечаете мне.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: NDVI по снимку Modis в ENVI

Сообщение alexandr cherepanov » 10 июл 2018, 10:13

Как быстро у Вас поменялась задача, вместо одного снимка стало 300 :D.
Хорошо, тогда хотелось бы увидеть содержимое *.hdr файла первого и последнего снимка в пачке. Площадь интересуемого участка большая?

Void (no data) это значение, которое программа формирования продукта присваивает пикселам, которые могут иметь ошибки или находятся за пределами значений индекса от -0.2 до 1. У этого продукта это значение равно -3000 если программа не применяет масштабный коэффициент (scale factor) и -0.3 если применяет.

Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

Re: NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 11 июл 2018, 09:50

Задача сразу была отследить динамику NDVI по массиву снимков. Я беру снимки в вегетационный период, т.е. с мая по сентябрь.
Скачивал здесь.
https://earthexplorer.usgs.gov/
Entity ID:MOD13Q1.A2017273.h20v02.006
Acquisition Date:30-SEP-17
Coordinates:65.1159 , 62.7374 - это последний

Entity ID:MOD13Q1.A2000129.h20v02.006
Acquisition Date:08-MAY-00
Coordinates:65.1159 , 62.7374 - Это первый.

Площадь участка 10 на 10 км.
NDVI среднее, посчитанное по моему алгоритму, например, получалось 0,90401 на снимке от 12.08.2000, что очень странно для ямальской тундры - слишком высокое.

Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

Re: NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 11 июл 2018, 09:56

Ещё раз повторюсь, что через CursorLocationValue - всё выглядит вполне адекватно, а при расчёте среднего (Mean - это же среднее арифметическое, а не какое-нибудь отклонение?) результаты получаются непонятными.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: NDVI по снимку Modis в ENVI

Сообщение alexandr cherepanov » 12 июл 2018, 10:08

Моменты, которые мне не нравятся в постановке и решение этой задачи:
1) Усредненный ndvi для участка 10 на 10 км. Практический смысл какой?
2) Работа в синусоидальной прекции.
3) Большая вероятность выбрать не тот датасет, из 300 если будете делать руками ошибки точно будут.
4) Envi видит что -3000 участки без значений, но при этом упорно засовывает их в расчет статистики. При этом, если стоит в настройках галочка пересчитывать продукты aster modis, остальные значения она пересчитывает. В итоге, если взять 1пиксел с -3000 и много значимых в диапазоне -0.2 до 1 - среднее будет минус. Решение - строить маски и считать среднее только по значимым пикселам. Для 300 это будет долго и муторно.

Какие есть варианты решения:
Для ENVI писать свой обработчик на IDL для расчета статистики для заданного участка, где Вы спокойно можете исключить -3000 из анализа.
Для opensource на python на связке gdal+numpy можно тоже написать интрумент который будет делать то, что Вам нужно.

Sailor73
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 апр 2016, 14:16
Репутация: 0

Re: NDVI по снимку Modis в ENVI

Сообщение Sailor73 » 13 июл 2018, 14:44

Спасибо за ответы.

Ответить

Вернуться в «Я новичок!»

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

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