Статьи

Построение относительной модели рельефа (REM) в QGIS

ГИС
Время прочтения: 4 минуты
Уровень знаний: вы уже бывалый пользователь, который знает, как создавать слои, где можно скачать цифровую модель рельефа и как устанавливать плагины в QGIS
Относительная модель рельефа реки Миссисипи вдоль границы между штатов Арканзас и Миссисипи, сделанная Дэном Кое. Источник — https://dancoecarto.com/mississippi-river-comparison
Относительная модель рельефа (REM) — это эффектный и эффективный способ выделить русла рек и их поймы, выявить старые русла, террасы и пути стока воды, из-за чего к этому методу часто обращаются гидрологи.
Построение относительной модели рельефа представляет собой процесс, когда из цифровой модели рельефа вычитается высота уровня воды, вследствие чего значения нормализуются, а нужный нам водный объект сильнее проявляется на изображении.

Данные

Чтобы построить относительную модель рельефа, нам нужна цифровая модель рельефа — DEM. Чем она точнее, тем лучше, точнее и красивее получится изображение. В целом, даже разрешение 30 м позволяет делать приличные изображения для больших рек, таких как Волга или Лена. Именно такое разрешение у открытых ЦМР, доступных для всего мира: ASTER, FABDEM и SRTM.
Относительная модель рельефа Волго-Ахтубинской поймы, построенная на основе данных SRTM с разрешением 30 м

Строим относительную модель рельефа

Для подготовки относительной модели рельефа я использую данные SRTM, их удобно скачивать через плагин SRTM-Downloader. С его помощью можно скачать снимки на нужный экстент, а еще он автоматически объединит несколько изображений спутника в один файл. Если вы используете другой источник данных о ЦМР, то можете самостоятельно объединить несколько изображений в одно (Растр — Прочее — Слияние растров).
Если размер получается меньше 2 гигабайт, с этим можно работать, хотя некоторые процессы будут занимать длительное время, измеряемое десятками минут. Но если ваше изображение будет слишком большим, то это будет больно, и лучше его раздробить.
Перед тем, как начать работать, убедитесь, что ваша ЦМР и проект в одной метрической системе координат. Для этого удобно использовать UTM зоны WGS 84: например, для территории Волго-Ахтубинской поймы подходит WGS 84 / UTM zone 38N.
Цифровая модель рельефа
Для построения относительной модели рельефа потребуется нарисовать ось реки. Чтобы это сделать, нам нужно лучше видеть слой ЦМР. Используем инструмент “Определить объекты (Ctrl + Shift + I) и определим высоты с двух концов нашей реки.
После чего заходим в свойства ЦМР, во вкладке “Стиль” для настройки “Изображение” выбираем “Одноканальное псевдоцветное” и в полях “Мин” и “Макс” устанавливаем значения, которые мы измерили на концах реки.
Следующим этапом нам нужно нарисовать ось реки. Для этого создаем линейный слой в системе координат, которую имеет наш проект и слой ЦМР, и рисуем линию от начала и до конца. Я рекомендую нарисовать ее самому, потому что это быстро и лучше подходит для нашей задачи, чем, например, скачивать данные из OpenStreetMap.
Для данной точности достаточно одной линии, даже в случае, когда река раздваивается из-за речного острова, и даже очень большого, такого как Сарпинский.
Как я писал в самом начале статьи, суть метода состоит в том, чтобы из ЦМР вычесть высоты уровня воды. Для этого нам нужно создать растр с этими высотами. Мы построим точки вдоль оси реки, передадим для них значения ЦМР, а потом проинтерполируем значения на территорию, для которой у нас есть информация о рельефе.
Чтобы построить точки вдоль оси реки, воспользуемся инструментом “Точки вдоль геометрии” и создадим точки с шагом, равным примерно ширине реки. Для Волги это около 1000 метров. Вы можете использовать другое расстояние, например, чтобы ускорить интерполяцию на следующем шаге. Использовать в качестве шага точек ширину реки не догма, а скорее традиция.
Теперь перенесем значения с ЦМР на точки, и для этого потребуется плагин Point Sampling Tool.
Выбираем слой с точками, а в поле ниже — наш слой с ЦМР, откуда точечный слой получит новые значения
Теперь проведем интерполяцию, чтобы получить растровый слой, который мы будем вычитать из ЦМР. Для этого воспользуемся модулем “Интерполяция ОВР (методом обратных взвешенных расстояний)”
Размер пикселя устанавливаем, как у исходной ЦМР. Но можно и ускорить процесс интерполяции, особенно если у вас большие файлы. Для этого увеличьте размер пикселя в несколько раз, главное, чтобы сторона была хотя бы раза в 4 меньше ширины реки. После интерполяции просто перепроецируйте растр в разрешение, как у ЦМР (Растр — Проекции растра — Деформация (перепроецирование)).
Теперь мы на финишной прямой. Заходим в калькулятор растров (Растр — Калькулятор растров) и вычитаем из исходной ЦМР слой после интерполяции. Убедитесь, что они в одной и той же системе координат.
Получаем изображение, похожее на ЦМР, но это еще не все.
Заходим в свойства, но уже нашего слоя с относительной моделью рельефа, далее во вкладку “Стиль”, для настройки “Изображение” выбираем “Одноканальное псевдоцветное” и в значении “Мин” и “Макс” устанавливаем значения 0 и 15 (со вторым значением можно поиграться, чтобы выбрать лучший вариант).
Вам может показаться, что изображение похоже на то, что в начале статьи, когда брались значения с концов реки, но если вы присмотритесь, то заметите, что окрестности поймы лучше отфильтрованы от лишних высот и на удалении от реки. Чем более точную ЦМР вы будете использовать, тем заметнее будет эффект.

Связанные статьи:

Также вам может быть интересно:

Материал подготовил Александр Зуев