Как удалить из растра нереальные значения для расчета зональной статистики?
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Как удалить из растра нереальные значения для расчета зональной статистики?
В продукте MODIS MCD15A2H
https://lpdaac.usgs.gov/dataset_discove ... 15a2h_v006
для параметров LAI и FPAR указаны валидные значения от 0 до 100.
При этом при загрузе продукта по параметру LAI_500m, на суше он показывает значения где-то до 10.
Но там, где по логике должно быть NoData (в том числе над океаном!) он показывает значение 25.4 То есть на очень большом диапазоне над океаном он показывает 25.4 вместо NoData. При выходе за эту странную границу - перестает показывать или таки пишет NoData.
Почему вместо NoData он показывает вообще значение продукта?
Как теперь это значение (фактическое NoData) отличить от реального значения продукта? Например, при зональной статистике и вообще всех операциях. Ведь это значение вполне реально и входит в диапазон валидных значений.
Ту же ситуацию предполагаю по FPAR в этом продукте.
Что можно сделать?
По ссылке на гуглдиск – один тайл с таким свойством (10 mb):
https://drive.google.com/file/d/0B3D_Ig ... sp=sharing
https://lpdaac.usgs.gov/dataset_discove ... 15a2h_v006
для параметров LAI и FPAR указаны валидные значения от 0 до 100.
При этом при загрузе продукта по параметру LAI_500m, на суше он показывает значения где-то до 10.
Но там, где по логике должно быть NoData (в том числе над океаном!) он показывает значение 25.4 То есть на очень большом диапазоне над океаном он показывает 25.4 вместо NoData. При выходе за эту странную границу - перестает показывать или таки пишет NoData.
Почему вместо NoData он показывает вообще значение продукта?
Как теперь это значение (фактическое NoData) отличить от реального значения продукта? Например, при зональной статистике и вообще всех операциях. Ведь это значение вполне реально и входит в диапазон валидных значений.
Ту же ситуацию предполагаю по FPAR в этом продукте.
Что можно сделать?
По ссылке на гуглдиск – один тайл с таким свойством (10 mb):
https://drive.google.com/file/d/0B3D_Ig ... sp=sharing
Последний раз редактировалось Natalia Novoselova 01 ноя 2017, 16:27, всего редактировалось 1 раз.
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Неправильное отображение LAI и FPAR в MCD15A2H (25.4 вместо NoData)
UPD
Для LAI там scale factor 0.1
То есть понятно, что значения *до 10* над сушей это надо умножить на 10. И тогда сходится. При умножении 25.4 на 10 получается нереальное значение 254.
Хорошо, на таком уровне понятно.
Но все равно, это значение (25.4 вместо 0 или NoData), которое не только над океаном, но и случайным образом внутри продукта – будут искажать анализ зональной статистики . Какую операцию с растром можно выполнить, чтобы убрать эти значения (все NoData = 25.4) из расчета зональной статистики?
Для LAI там scale factor 0.1
То есть понятно, что значения *до 10* над сушей это надо умножить на 10. И тогда сходится. При умножении 25.4 на 10 получается нереальное значение 254.
Хорошо, на таком уровне понятно.
Но все равно, это значение (25.4 вместо 0 или NoData), которое не только над океаном, но и случайным образом внутри продукта – будут искажать анализ зональной статистики . Какую операцию с растром можно выполнить, чтобы убрать эти значения (все NoData = 25.4) из расчета зональной статистики?
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Как удалить из растра нереальные значения для расчета зональной статистики?
Переформулировала первый вопрос.
Каким образом для зональной статистики (наверно, и других операций) из растра удалить значения, которые там находиться не могут?
В данном случае это все значения больше 10.
В случае с продуктом MODIS температуры – это все значении = 0 (так как там NoData превращается в 0, что искажает зональную статистику).
Какую операцию с растром выполнить перед расчетом зональной статистики? Я использую извращенные методы, вроде того, что учитываю только медиану или максимум. Наверное, можно это грамотней решить.
P.S. всё делаю в QGIS 2.18.1
Каким образом для зональной статистики (наверно, и других операций) из растра удалить значения, которые там находиться не могут?
В данном случае это все значения больше 10.
В случае с продуктом MODIS температуры – это все значении = 0 (так как там NoData превращается в 0, что искажает зональную статистику).
Какую операцию с растром выполнить перед расчетом зональной статистики? Я использую извращенные методы, вроде того, что учитываю только медиану или максимум. Наверное, можно это грамотней решить.
P.S. всё делаю в QGIS 2.18.1
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Как удалить из растра нереальные значения для расчета зональной статистики?
Решила делать так. Наверное, это лучшее решение (уф, хорошо , что сейчас поняла эту ошибку и нашла решение, которую я могла бы внести во все расчеты!)
При скачивании продукта тайлами на зону покрытия векторного полигонального слоя (по которому считается зональная статистика), сначала объединяю их все в один растр (через Raster- Miscellaneous-Merge). Там есть небольшое искажение, но очень незначительное (причину не поняла, какое-то смещение).
И потом пересохраняю итоговый merged растр через QGIS, В окне сохранения внизу активизирую поле No data values и вношу в него диапазон нереальных значений.
Для продукта LAI внесла от 10.01 до 25.4
После пересохранения все такие значения становятся NoData и уже по идее никак не искажают зональную статистику.
Тогда для продукта температуры MODIS (который при пересохранении в Географическую проекцию EPSG4326 сам меняет NoData на 0) нужно будет внести диапазон значений, в которых будет 0.
При скачивании продукта тайлами на зону покрытия векторного полигонального слоя (по которому считается зональная статистика), сначала объединяю их все в один растр (через Raster- Miscellaneous-Merge). Там есть небольшое искажение, но очень незначительное (причину не поняла, какое-то смещение).
И потом пересохраняю итоговый merged растр через QGIS, В окне сохранения внизу активизирую поле No data values и вношу в него диапазон нереальных значений.
Для продукта LAI внесла от 10.01 до 25.4
После пересохранения все такие значения становятся NoData и уже по идее никак не искажают зональную статистику.
Тогда для продукта температуры MODIS (который при пересохранении в Географическую проекцию EPSG4326 сам меняет NoData на 0) нужно будет внести диапазон значений, в которых будет 0.
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Как удалить из растра нереальные значения для расчета зональной статистики?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Как удалить из растра нереальные значения для расчета зональной статистики?
Что в данном случае мне надо использовать? Маску?
Не очень понимаю, что она делает. Если они пишут:
То есть, как понимаю, эта операция создает новый растр со значениями ячеек "0" и "1". Под значеним "1" находятся те участки исходного растра (продукта) которые мне нужны. И как это использовать в зональной статистике по исходному продукту? Если это два разных растра?If you want to mask out parts of a raster – say, for instance, because you are only interested in elevations above 0 meters – you can use the following expression to create a mask and apply the result to a raster in one step.
In other words, for every cell greater than or equal to 0, set its value to 1. Otherwise set it to 0. This creates the mask on the fly.
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 30 сен 2013, 14:46
- Репутация: 4
Re: Как удалить из растра нереальные значения для расчета зональной статистики?
Умножить маску на исходный растр
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя