Первичная обработка данных SRTM в ГИС SAGA
Последовательность шагов по подготовке данных SRTM к анализу
Глобальная цифровая модель высот Shuttle Radar Topography Mission (далее – ЦМВ SRTM), находящаяся в открытом доступе с 2003 года, – общедоступный набор геоданных, активно применяющийся в прикладных исследованиях различной направленности. Ее популярность обуславливается простотой получения, практически глобальным охватом и детальностью, которая по разным оценкам колеблется в диапазоне масштабов от 50 000 до 100 000[1].
Четвертое поколение данных SRTM[2] прошло несколько стадий обработки, позволивших повысить исходное качество. Основной целью этих улучшений было заполнение пробелов, характерных для территорий со сложным рельефом, поверхностей занятых водными объектами и прочих типов местностей, плохо поддающихся радарной съемке (например, пустынь). Для этого применялись несколько интерполяционных алгоритмов, а в роли вспомогательных источников использовались локальные и национальные ЦМР более высокого разрешения.
Однако, чтобы оценить пригодность ЦМВ для целей геоморфометрического анализа, рекомендуется дать ответы на следующие вопросы (Reuter et al., 2008):
- насколько точно представлены неровности поверхности (микро- и мезорельеф)?
- насколько точно представлена «гидрологическая форма» земной поверхности (вогнутые/ выпуклые формы рельефа, эрозия/ аккумуляция, дивергентность/ конвергентность потока воды)?
- насколько точно могут быть определены реальные тальвеги и водоразделы?
- насколько согласованы измерения высотных отметок по всей территории исследования.
Оценив с таких позиций данные SRTM можно сделать вывод, что их практическое применение все еще усложняется наличием погрешностей, связанных с технологией получения, т.к. обработка не была направлена на их устранение. К таким в первую очередь следует отнести искажения связанные с неоднородностью земного покрова (растительность, застройка), высокочастотный шум (флуктуации отраженного сигнала) и ложные впадины – их совокупное влияние искажает представление о реальном рельефе местности и усложняет моделирование процессов перераспределения вещества и энергии. Поэтому прежде чем приступить к анализу данных SRTM, рекомендуется провести их предварительную обработку, направленную на (Reuter et al., 2008):
- удаление грубых ошибок и артефактов;
- улучшение аппроксимации рельефа;
- улучшение аппроксимации гидрологических/ экологических процессов (таких как перераспределение поверхностного стока, радиации, отложений и т.д.).
Рассмотрим более детально одну из возможных последовательностей шагов первичной подготовки данных SRTM в ГИС SAGA. В качестве примера используем фрагмент данных SRTM 44_03, полученный из каталога CGIAR-CSI для листа топокарты масштаба 1:100 000 M-37-121, предварительно прошедшего процедуру привязки.
Импорт данных SRTM в среду ГИС SAGA
SAGA использует собственный формат растровых данных SAGA Grid – *.sgrd, поэтому данные GeoTIFF для начала нужно импортировать с помощью модуля Import/ Export – GDAL/ OGR => GDAL: Import Raster. В диалоговом окне укажем путь к основному файлу с расширением *.tif и нажмем Okay.
По окончании работы модуля на вкладке Data появится новый элемент – откройте его в карте двойным щелчком мыши по имени srtm_44_03. Обратите внимание на такие свойства растра как охват по широте/ долготе, количество строк и столбцов, значения NoData, минимальные и максимальные отметки высот.
Через контекстное меню слоя сохраните импортированный файл в формате SAGA Grid (*.sgrd).
Обрезка фрагмента
Поскольку область нашего интереса ограничивается одним листом топокарты, который по охвату намного меньше фрагмента ЦМВ SRTM 5°×5°, для удобства дальнейшей работы обрежем его в соответствии с координатами листа. Для этого воспользуемся модулем Grid – Tools => Cutting [interactive]. Для запуска этого интерактивного модуля в диалоговом окне необходимо указать растр, над которым будут производиться манипуляции.
После активации модуля в окне сообщений появится уведомление Interactive module execution has been started. Для начала ввода координат инструментом – Action щелкните в любой точке карты. В появившемся окне можно ввести координаты прямоугольника, охватывающего область интереса, – в нашем случае введем координаты углов листа топокарты в десятичных градусах.
NB По мере ввода значения координат автоматически корректируются программой в соответствии с разрешением (рядами и колонками) растра.
Нажав Okay, вы увидите, что на вкладке Data появился новый растр – обратите внимание, как отличаются его координаты, число рядов и колонок от исходного.
Теперь остановите работу модуля, убрав галочку в пункте меню Modules => Cutting [interactive] . Согласившись с окончанием работы модуля, вы получите уведомление Interactive module execution has been stopped.
Сохраните новый растр через контекстное меню слоя Save As… под удобным именем, например srtm_m-37-121_gcs.sgrd. Исходный фрагмент теперь можно закрыть, воспользовавшись контекстным меню Close.
Двойным щелчком откроем новый растр: чтобы отрегулировать цветовую шкалу изображения в соответствии с диапазоном значений слоя выберите из контекстного меню пункт Classification => Set Range to Minimum/ Maximum.
Перевод данных из географической в спроецированную систему координат
Данные SRTM распространяются в географической СК на основе эллипсоида WGS 84, поэтому для дальнейшего анализа их необходимо перевести в спрецированную СК. Для этого воспользуемся уже знакомым по привязке топокарт модулем Projection – Proj.4 => Proj.4 (Dialog, Grid). В его диалоговом окне сначала введем параметры исходной проекции Source Projection Parameters: выберем географическую СК и датум WGS 84, оставив без изменений прочее.
В качестве исходного растра выберем srtm_m-37-121_gcs и перейдем к диалогу параметров результирующей проекции.
В нем стандартными средствами опишем соответствующую зону проекции UTM по аналогии с тем, как это делалось во время привязки листа топокарты.
После нажатия Okay, мы вернемся в основной диалог, где в качестве метода передискретиации значений выберем билинейную интерполяцию. Данный способ хорошо подходит для континуальных данных (каковыми и есть ЦМВ), поскольку определяет новое значение ячейки на основе средневзвешенного расстояния от центров 4-х ближайших исходных ячеек, что в свою очередь приводит к незначительному сглаживанию данных.
В результате перед вам появится окно в котором нужно будет ввести номер зоны UTM, а после – окно с параметрами растра в новой СК (охват, пространственное разрешение, соответствующее количество рядов и колонок). При этом по умолчанию предлагается размер ячейки ≈90 м, как это и заявлено для данных ЦМВ SRTM. Но для дальнейшего анализа такое пространственное разрешение не очень удобно, поэтому воспользуемся диалогом для его изменения.
Один из простых способов определиться с размером ячейки рассмотрен в статье Hengl, 2006. Согласно предложенному правилу, размер ячейки должен быть равен 0,5 мм аналоговой карты в масштабе исследования. Т.е., если в качестве рабочего масштаба мы выберем масштаб топокарты 1:100 000 (кроме того, именно этому масштабу согласно большинству выводов соответствуют данные SRTM), размер ячейки растра составит 50 м. Обратите внимание, что при вводе числа автоматически пересчитываются и другие значения.
После сообщения Module execution succeeded на вкладке Data появится новый элемент, который через контекстное меню слоя Save As… следует сохранить в рабочую папку проекта под именем srtm_m-37-121_utm.sgrd. Исходный растр srtm_m-37-121_gcs теперь можно закрыть через контекстное меню слоя Close.
Для проверки результатов, загрузите рабочий лист топографической карты М-37-121 в проекции UTM и двойным щелчком откройте его в новом окне, в качестве параметра цветового отображения в свойствах объекта установите Type: RGB. В эту же карту откройте слой srtm_m-37-121_utm. Если все сделано верно, то благодаря тому, что лист топокарты и растр ЦМВ имеют общую проекцию и отвечают одной и той же территории, слои наложатся. На вкладке свойств объекта (справа) в разделе Display установите значение Transparency [%]: 50, нажмите Apply – это сделает слой ЦМВ наполовину прозрачным и вы сможете лучше оценить взаимное соответствие топокарты и данных SRTM.
Для удобства дальнейшей работы можно сохранить данные в качестве проекта, воспользовавшись меню File => Project => Save Project As….
Фильтрация
Для начала с помощью модуля Shapes – Grid => Contour Lines from Grid построим изолинии на основе ЦМВ. В диалоговом окне модуля выберем соответствующую систему координат и растр ЦМВ, а также укажем высоту сечения рельефа – 5 м.
После сообщения Module execution succeeded на вкладке Data появится новый элемент – полилинейный шейп-файл: сохраните его в рабочую папку проекта через контекстное меню слоя Save As… под именем srtm_5m_pln, а после этого двойным щелчком добавьте в окно карты. Для смены цвета изолиний на более привычный в свойствах объекта установите Color: Maroon и нажмите Apply.
Рисунок изолиний хорошо передает общие черты рельефа, даже в сравнении с топографической картой, но он содержит много мелких неровностей. Эти неровности как раз и есть той шумовой компонентой, речь о которой шла ранее. Соответственно, прежде чем проводить анализ ЦМВ, шум необходимо устранить с помощью фильтрации. Из-за сложности характера распределения полностью избавиться от шума не удастся, поэтому главная задача фильтрации – максимальная элиминация шумовой компоненты без утраты характерных черт рельефа местности.
Воспользуемся простым однородным фильтром Grid – Filter => Simple Filter. Суть работы фильтра состоит в следующем: он получает новые значения ячеек растра в соответствии с некоторым математическим выражением, т.е. пересчитывает значения центральной ячейки на основе значений ее соседей. Результат фильтрации зависит от параметров скользящего окна, представленных в группе Options пунктами Search Mode, Filter и Radius. Search Mode и Radius совместно контролируют число соседних ячеек растра, которые будут учитываться при расчете нового значения центральной ячейки.
Пункт меню группы Options | Что определяет | Варианты | Что означает |
---|---|---|---|
Текст ячейки | окно поиска – форма матрицы для пересчета значений центральной ячейки | Circle | сферическая матрица |
Текст ячейки | Square | квадратная матрица | |
Текст ячейки | тип фильтра, который будет применяться для пересчета значений | Smooth | сглаживание – усреднит разницу между центральной ячейкой и ее окружением; новое значение рассчитывается по формуле , где – среднее арифметическое значение в окне анализа |
Текст ячейки | Sharpen | заострение – имеет противоположный по сравнению с предыдущим эффект, поскольку усиливает различия в значениях ячеек; новое значение рассчитывается по формуле | |
Текст ячейки | размер матрицы, которая будет использована для пересчета значений | Edge | усиление кромок – выделение линий с высокой вариативность значений (например, линий перегиба рельефа); новое значение рассчитывается по формуле |
Текст ячейки | число ячеек | чем выше значение – тем более выражен эффект выбранного фильтра |
Установим параметры фильтрации в окне модуля следующим образом:
После завершения работы модуля и появления сообщения Module execution succeeded на вкладке Data появится новый элемент. Через контекстное меню слоя Save As… сохраните его в рабочую папку проекта под именем srtm_simple_fltr.sgrd и двойным щелчком откройте в окно новой карты.
Для оценки полученного результата уже известным способом с помощью модуля Shapes – Grid => Contour Lines from Grid построим изолинии для растра srtm_simple_fltr. Через меню Save As… сохраним векторный слой изолиний в рабочую папку проекта под именем srtm_simple_fltr_5m_pln.shp и двойным щелчком откроем в окно карты с профильтрованной ЦМВ. Чтобы визуальное сопоставление результатов было более удобным, поместим карты рядом с помощью пункта меню ??? Window – Tile Vertically и синхронизируем их с помощью инструмента панели меню ??? Synchronise Map Extents.
В результате мы можем изменяя масштаб отображения и перемещая карту в одном окне, получать идентичное изображение в другом.
Поскольку в данном случае нам удалось получить удовлетворительный для учебных целей результат с первого раза, дальнейшая фильтрация проводиться не будет. В более сложных случаях допускается многоразовое использование фильтраций, когда в качестве исходного на каждом последующем этапе используется слой, полученный на предыдущем.
Кроме того, мы использовали самый простой вариант фильтра, но библиотеки SAGA Grid – Filter и Grid – Filter (Perego 2009) содержат 20 различных модулей фильтров, которые могут использоваться как по отдельности, так и совместно в зависимости от особенностей распределения шумовой компоненты, типов артефактов, характера рельефа и т.д. [3]
- ↑ соотношение между точностью данных SRTM и различными картографическими масштабами детально рассмотрено в публикациях
- Jarvis, A. Practical use of SRTM data in the tropics: Comparisons with digital elevation models generated from cartographic data / A. Jarvis, J. Rubiano, A. Nelson, A. Farrow and M. Mulligan. – Cali, CO: Centro Internacional de Agricultura Tropical (CIAT), 2004.– 32 p. (Working document no. 198)
- Karwel, A., Ewiak, I. Estimation of the accuracy of the SRTM terrain model on the area of Poland // The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. – Vol. XXXVII, Part B7. – Beijing, 2008. – p. 169-172
- Ozah, A.P., Kufoniyi, O. Accuracy assessment of contour interpolation from 1:50 000 topographical maps and SRTM data for 1:25 000 topographical mapping // The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. – Vol. XXXVII, Part B7. – Beijing, 2008 – p. 1347-1353
- Jarvis, A. Practical use of SRTM data in the tropics: Comparisons with digital elevation models generated from cartographic data / A. Jarvis, J. Rubiano, A. Nelson, A. Farrow and M. Mulligan. – Cali, CO: Centro Internacional de Agricultura Tropical (CIAT), 2004.– 32 p. (Working document no. 198)
- ↑ Jarvis A., Reuter H., Nelson A., Guevara E. Hole-filled seamless SRTM data V.4. International Centre for Tropical Agriculture (CIAT). – 2008. – http://srtm.csi.cgiar.org
- ↑ Более детально о работе некоторых фильтров