Простой способ изображения рельефа штриховкой в QGis

Простой способ изображения рельефа штриховкой в QGis

Изображение рельефа штриховкой — метод древний и многие считают его устаревшим. Но мало, ли для чего он может вам пригодиться? Например вы хотите замутить карту «под старину» или заполнить пустое пространство. А может вам вообще нельзя использовать растровую графику, а сделать векторную отмывку, о которой я недавно рассказывал, ресурсы не позволяют.

Неважно, по какой причине вы задумались о визуализации рельефа штриховкой. Важно то, что сделать это можно буквально в несколько шагов. Конечно же, если речь идет о простом оформлении, ибо штриховой способ оформления рельефа это искусство, ничуть не меньшее, чем расстановка подписей на карте.

Для начала возьмем любую демку, скажем SRTM:
растр SRTM

Через меню «Растр-Морфометрический анализ-Угол уклонов» преобразуем его в соответствующую протокарту:
Растр уклонов

Теперь векторизуем полученную картинку (Растр-Преобразование-Создание полигонов: растр в вектор). Это одна из самых ресурсозатратных операций, преобразующая каждый пиксель в полигон с присущими растру атрибутами.
Векторизация растра

Далее через меню Вектор-Обработка геометрии-Извлечение центроидов получим точечный шейп, который мы будем использовать в качестве слоя штриховки:
Центроиды полигонов

Теперь можно удалить все лишние слои и работать только с точечным шейпом. Все что нам нужно — задать стиль каждой точки, как черта, угол поворота которой зависит от атрибутивного содержания:
Задание угла поворота в QGis

Собственно, на этом все готово. При необходимости можно изменить размер линий и установить необходимый цвет и прозрачность.
Изображение рельефа штриховкой

Или подлжить под штриховку другой слой.
Рельеф штриховкой в OSM

Обратите внимание, что мы использовали штрихи одинаковой длины и толщины, а это значит, что на наш рельеф будет выглядеть однородным. В некоторых случаях, это может оказаться более выгодным решением.

Ну и самое главное. Никто же не обязывает использовать только один метод визуализации рельефа. Штриховка совместно с классической отмывкой смотрятся весьма неплохо и скрывают взаимные недостатки:

Векторная отмывка

Зашел тут на днях разговор про отмывку рельефа. Дескать, отмывка всегда представляет собой растр, со всеми вытекающими отсюда последствиями. Обычно так и есть, но давайте посмотрим на проблему шире.

Отмывка есть лишь один из способов изображения рельефа, не более того. Читателю карты нет никакого дела до того как вы изображаете рельеф: отмывкой ли, горизонталями или штрихами. Ему требуется лишь наглядность, читаемость и до некоторой степени художественность карты. Поэтому использование классичиских способов отмывки ни в коем случае не панацея, более того, в некоторых случаях можно изображать рельеф с помощью векторов.

Возьмем модифицированный фрагмент MODIS Blue Marble Next Generation с повышенной яркостью и контрастом для основы:
2

Для того, что-бы изобразить рельеф этой местности можно пойти классическим путем, наложив сверху полупрозрачную карту теней. А можно наложить векторный слой горизонталей и результат будет вполне неплох.
2a

Весь секрет в том, что горизонталей должно быть много (интерполируйте не жалея процессора), но каждая из линий должна быть максимально тонкой. В этом случае отдельные линии становятся незаметными, а склоны с присущими им сгущениями горизонталей проявляются на карте в виде градиента.
izorelef

Спору нет, так изображать рельеф дольше и хлопотней, но с другой стороны, ни один растр не даст таких возможностей визуализации. Во-первых, отмывка вектором позволяет создавать значительно более четкие контуры рельефа. Во-вторых, помимо прозрачности слоя отмывки можно регулировать цвет и толщину изолиний, дополнительно акцентируя внимание на элементах рельефа.

izorelef2

Не забывайте, что толщину горизонталей можно менять в зависимости от их значений, что придает изображению дополнительную глубину. В третьих, векторный слой теневой отмывки очень легко превращается в цветовую карту рельефа.

3

В-пятых, все вышеперечисленное можно настраивать не только для каждого зума, но и для каждого участка карты (например для случаев, когда требуется разгрузить фрагмент карты).

1a

Ко всему прочему, изолинии или хотя-бы точки высот почти всегда присутствуют в наборах геоданных, а подходящую демку еще попробуй найди. Конечно, векторные данные могут порождать артефакты, в моем случае (данные VMap0) замыкающие линии горизонталей, проходящие в местах стыковки данных сливаются на рельефе в неприятные полосы, но эта проблема лечится удалением линий с соответствующими атрибутами.

index

Из этого не следует, что векторная отмывка лучше растровой или наоборот. В разных ситуациях должны расцветать разные цветы. Интересно другое: отмывку вполне можно считать частным случаем изображения рельефа с помощью изолиний. А значит что? Правильно, если не брать в расчет всякого рода экзотику и цвет, то рельеф на картах изображается двумя способами: с помощью поперечной (отмывка, изолинии) и продольной штриховки. Последняя, к слову, незаслуженно забыта и хранит в себе огромный потенциал по визуализации рельефа. Да что там говорить, сами посмотрите (фрагмент карты взят с геомануала):

000109