GFC treecover, чтобы убрать лес с SRTM
Добавлено: 30 сен 2015, 10:18
Задача:
Определить высоту леса на разных участках территории с неоднородным рельефом; затем — отнять эти значения от данных SRTM 1 arcsec для получения bare earth в первом приближении.
Территория:
Площадь территориии порядка 8 000 км кв. Рельеф неоднородный - есть равнинные участки, речная долина, сильнорасчлененный эрозионный рельеф.
Исходные данные:
SRTM 1 arcsec; Global Forest Change treecover 2000; топокарты 100 000. Задача состоит в том, чтобы оптимально использовать возможности данных SRTM и GFC.
Попробовали 2 варианта:
1) Устанавливать высоту леса в зависимости от % сомкнутости, которые дают данные GFC. Сначала сделали растр с градациями высот, а потом сгладили фильтром, чтобы избежать резких перепадов. Результат получился неплохой, но поскольку связь между % сомкнутости и высотой леса не всегда однозначная, некоторые участки обрабатываются некорректно (либо слишком большое значение - ямы, либо маленькое - остается лес).
2) Прошлись плавающим кругом в 27 ячеек (ориентировочное значение) и посчитали минимумы. Получилась поверхность минимальных значений, которая дает обобщенное представление о рельефе. Тогда SRTM - минимумы = высота растительности. С помощью данных GFC отмаскировали лес, убрали нереалистичные значения (например, по топокартам нет леса высотой более 25 м), опять же сгладили фильтром. Полученный таким образом слой высот вычли из данных SRTM. Такой алгоритм хорошо работает для равнинных участков, а вот на сильнорасчлененном рельефе дает сильно завышенные значения.
3)* Пока писала - нашла в одном из старых обсуждений: можно построить полигоны леса, и буферы к ним - один внутри, другой снаружи. Посчитав среднюю высоту по каждому контуру, можно получить высоту леса, как разность этих значений. Но опять же встает вопрос - как "размазать" это значение по всему контуру.
Еще нашли вот такую публикацию, но кода нет и поэтому непонятно, что и как они там считали.
Возможно вы уже делали что-то подобное - поделитесь опытом, будем признательны за любые идеи/ подсказки.
Определить высоту леса на разных участках территории с неоднородным рельефом; затем — отнять эти значения от данных SRTM 1 arcsec для получения bare earth в первом приближении.
Территория:
Площадь территориии порядка 8 000 км кв. Рельеф неоднородный - есть равнинные участки, речная долина, сильнорасчлененный эрозионный рельеф.
Исходные данные:
SRTM 1 arcsec; Global Forest Change treecover 2000; топокарты 100 000. Задача состоит в том, чтобы оптимально использовать возможности данных SRTM и GFC.
Попробовали 2 варианта:
1) Устанавливать высоту леса в зависимости от % сомкнутости, которые дают данные GFC. Сначала сделали растр с градациями высот, а потом сгладили фильтром, чтобы избежать резких перепадов. Результат получился неплохой, но поскольку связь между % сомкнутости и высотой леса не всегда однозначная, некоторые участки обрабатываются некорректно (либо слишком большое значение - ямы, либо маленькое - остается лес).
2) Прошлись плавающим кругом в 27 ячеек (ориентировочное значение) и посчитали минимумы. Получилась поверхность минимальных значений, которая дает обобщенное представление о рельефе. Тогда SRTM - минимумы = высота растительности. С помощью данных GFC отмаскировали лес, убрали нереалистичные значения (например, по топокартам нет леса высотой более 25 м), опять же сгладили фильтром. Полученный таким образом слой высот вычли из данных SRTM. Такой алгоритм хорошо работает для равнинных участков, а вот на сильнорасчлененном рельефе дает сильно завышенные значения.
3)* Пока писала - нашла в одном из старых обсуждений: можно построить полигоны леса, и буферы к ним - один внутри, другой снаружи. Посчитав среднюю высоту по каждому контуру, можно получить высоту леса, как разность этих значений. Но опять же встает вопрос - как "размазать" это значение по всему контуру.
Еще нашли вот такую публикацию, но кода нет и поэтому непонятно, что и как они там считали.
Возможно вы уже делали что-то подобное - поделитесь опытом, будем признательны за любые идеи/ подсказки.