Определение зон затопления по снимкам среднего разрешения
Добавлено: 09 ноя 2011, 20:30
Здравствуйте!
Как специалисты, прокомментируйте плиз такой простой способ определения зон затопления при весеннем половодье/дождевом паводке.
Реализация предполагается в ImageProcessor3.0 и ArcGis, для снимков SPOT4 (dIMAP, LEVEL1A) принимаемых на станцию УниСкан. Возможно в оперативном режиме.
Этапы:
1. Берем два снимка на интересующую нас территорию - один оперативный (в период весеннего половодья, или дождевого паводка), второй архивный летний - т.е за период летней межени
2. Геометрически совмещаем инструментом COREgistration.
3. Рассчитываем для каждого снимка NDVI, и экспортируем все это, а также отдельно канал NIR. Далее все операции в ArcGis
4. Рассчитываем разность NDVI. Если из летнего NDVI вычитать весенний, то понятно что среднее будет значительно больше нуля. Максимальные значения DNDVI будут там где летом была растительность, а на оперативном весеннем снимке - вода, облака или тени от облаков.
5. Переклассифицируем разностный NDVI в бинарный растр с пороговым значением около 0,6. Те пиксели где разностный NDVI больше 0,6 -это либо зона затопления (была растительность - стала вода), либо облака, либо тени от облаков, либо поле без растительности, свежайшая вырубка или гарь от верхового пожара (больше ничего не могу придумать).
6. Теперь нужно отсечь из всего этого собственно зону затопления. Для этого берем канал NIR, в котором как известно вода почти не отражает излучения. Задаем для него порог (если растр 8 бит, то пороговое значение 20-30, нужно еще смотреть сколько точно) и также создаем бинарный растр. Получается маска воды.
6. Векторизуем оба бинарный растра с помощью инструмента Конвертация растр в вектор и пересекаем их. ВЫбираем по соответствующему значению атрибута и получаем векторный слой зоны затопления. Именно той зоны где не было воды, т.к собственно реки отсекаются по разностному NDVI.
Генерализуем вектор, рассчитываем площадь. .
Протестировал на одной паре снимков - результатом вполне доволен. Узкое место здесь - точное геометрическое совмещение. И тени от облаков, но их таким же способом можно отсечь по NDVI, поскольку NDVI теней всегда больше NDVI водной поверхности. Возможно тени удастся даже по NIR отсечь.
Понятно что это все банальщина, и задача простая, и способы решения без изюминки.
Но сейчас под рукой нет учебника Чандра/Гош, где описыавется решение похожих задач. Возможно там как раз то же самое.
Вопрос собственно в чем - насколько все это верно и какие могут возникнуть ошибки?
Снимков SPOT4 у нас пока немного, поэтому тестировать предполагаю на ландсатах.
Как специалисты, прокомментируйте плиз такой простой способ определения зон затопления при весеннем половодье/дождевом паводке.
Реализация предполагается в ImageProcessor3.0 и ArcGis, для снимков SPOT4 (dIMAP, LEVEL1A) принимаемых на станцию УниСкан. Возможно в оперативном режиме.
Этапы:
1. Берем два снимка на интересующую нас территорию - один оперативный (в период весеннего половодья, или дождевого паводка), второй архивный летний - т.е за период летней межени
2. Геометрически совмещаем инструментом COREgistration.
3. Рассчитываем для каждого снимка NDVI, и экспортируем все это, а также отдельно канал NIR. Далее все операции в ArcGis
4. Рассчитываем разность NDVI. Если из летнего NDVI вычитать весенний, то понятно что среднее будет значительно больше нуля. Максимальные значения DNDVI будут там где летом была растительность, а на оперативном весеннем снимке - вода, облака или тени от облаков.
5. Переклассифицируем разностный NDVI в бинарный растр с пороговым значением около 0,6. Те пиксели где разностный NDVI больше 0,6 -это либо зона затопления (была растительность - стала вода), либо облака, либо тени от облаков, либо поле без растительности, свежайшая вырубка или гарь от верхового пожара (больше ничего не могу придумать).
6. Теперь нужно отсечь из всего этого собственно зону затопления. Для этого берем канал NIR, в котором как известно вода почти не отражает излучения. Задаем для него порог (если растр 8 бит, то пороговое значение 20-30, нужно еще смотреть сколько точно) и также создаем бинарный растр. Получается маска воды.
6. Векторизуем оба бинарный растра с помощью инструмента Конвертация растр в вектор и пересекаем их. ВЫбираем по соответствующему значению атрибута и получаем векторный слой зоны затопления. Именно той зоны где не было воды, т.к собственно реки отсекаются по разностному NDVI.
Генерализуем вектор, рассчитываем площадь. .
Протестировал на одной паре снимков - результатом вполне доволен. Узкое место здесь - точное геометрическое совмещение. И тени от облаков, но их таким же способом можно отсечь по NDVI, поскольку NDVI теней всегда больше NDVI водной поверхности. Возможно тени удастся даже по NIR отсечь.
Понятно что это все банальщина, и задача простая, и способы решения без изюминки.
Но сейчас под рукой нет учебника Чандра/Гош, где описыавется решение похожих задач. Возможно там как раз то же самое.
Вопрос собственно в чем - насколько все это верно и какие могут возникнуть ошибки?
Снимков SPOT4 у нас пока немного, поэтому тестировать предполагаю на ландсатах.