Время прочтения – 7 минут
Что такое теневой рельеф
Теневой рельеф – на сегодняшний день, пожалуй, самая популярная техника визуализации рельефа, получившая особую славу еще в первой половине прошлого века. Кто-то, как Эдуард Имхоф, рисовал его от руки, изучая в путешествиях по Альпам, как тень ложится на рельеф, кто-то же строил целые макеты гор и фотографировал их с подъемного крана.
Сейчас же зачастую используются аналитические методы построения теневого рельефа, то есть он строится с помощью математических алгоритмов, встроенных как в геоинформационные системы, таких как QGIS или ArcGIS, так и в разных графических редакторах.
Полуобъемное изображение горных вершин, долин рек и глубин океанов приковывает взгляд читателя карты и не отвлекает лишними линиями горизонталей или штрихов от основных точек, линий и полигонов карты, ради которых она и создавалась.
Цель этой статьи – не показать, в каком порядке нажимать кнопки, чтобы строить теневой рельеф, а объяснить несколько принципов его построения, зная которые, можно не просто сделать карту лучше, но и придумать свои идеи и фишечки в его построении.
Почему мой рельеф похож на склад угля, и что такое z-factor?
Нередко бывает, что неофит теневого рельефа, запуская алгоритм с названием "hillshading" в своем условном QGIS, получает с одной стороны что-то похожее на склад угля, а с другой стороны плюс-минус желаемый результат: горы, холмы, долины рек. Интуиция в этот момент подсказывает, что что-то не так, рельеф получился слишком уж теневой, но результат вроде есть. А увидев в паре обучающих видео на ютубе такое же изображение, уверенно доделываешь карту, получая сносный результат изменением контрастности, яркости и наложением цветовой палитры.
Причина, по которой ваш теневой рельеф очень темный и, если приглядеться, даже искаженный, состоит в параметре алгоритма построения теневого рельефа, который называется z-factor ("масштабирование по Z" в русских версиях QGIS).
Что же такое z-factor? Положение точки в пространстве определяется ее местоположением относительно осей X, Y и Z, то есть долготой и широтой точки, а также ее расположением над поверхностью – высотой. Z-factor – параметр, который используется алгоритмами построения теневого рельефа, чтобы понять, как соотносятся между собой единицы измерения высот/глубин точки (вертикальные координаты по оси Z) относительно единиц расстояний на плоскости (горизонтальных координат по осям X и Y), принятых для определенной системы координат.
Единицы измерения расстояний являются неотъемлемой частью систем координат и могут измеряться в градусах, метрах, километрах, футах.
Большинство цифровых моделей рельефа, которые используются для построения теневого рельефа, изначально подготовлены в географической системе координат Меркатора (EPSG 4326), измеряющей координаты в градусах, как и все расстояния. В то же время значение пикселя цифровой модели рельефа, обозначающего его высоту (Z) над уровнем моря, представлено в метрах.
Таким образом, стандартно оставляя z-factor со значением 1, вы говорите алгоритму, что высота измеряется в градусах, как и координаты, хотя на самом деле она измеряется в метрах. Длина одного градуса в метрах на карте достигает десятков и сотен километров в зависимости от широты местности — при удалении от экватора к северному и южному полюсам длина одного градуса увеличивается. Размер же пикселя цифровой модели рельефа, используемого из открытых источников, может различаться от 1 м до нескольких километров. Таким образом, даже имея значение высоты (Z) равное одному, алгоритм видит его как очень высокий объект, который откладывает большую тень, и искажает информацию о рельефе: углы склонов становятся меньше, долины рек становятся уже не долинами рек, а самыми настоящими ущельями.
Есть два простых способа побороться с этой проблемой:
- Поменять систему координат на метрическую (если высота рельефа в метрах).
- Установить Z равным 1 метру, выраженному в градусах, в зависимости от широты места.
1. Просто изменив систему координат слоя на метрическую, например, на местную систему координат или поперечную цилиндрическую систему координат Меркатора (как WGS 84 / UTM zone 38N), можно оставить z-factor равным единице, так как единицы измерения системы координат сойдутся с единицами измерения высоты, как это и нужно алгоритму.
Специалисты компании ESRI (создатели ArcGIS) рекомендуют это делать всегда, за исключением случая, когда цифровая модель рельефа является частью веб-сервиса, где клиент может выбрать проекцию для данных самостоятельно (в таком случае есть шанс потерять часть информации при перепроецировании растров).
2. В случаях, когда изменить систему координат по какой-либо причине невозможно или нерационально, придется выбрать или рассчитать подходящее значение для z-factor.
В большинстве случаев достаточно использовать уже рассчитанные и представленные в таблице ниже значения z-factor. Выбирайте значения, ориентируясь на широту центра вашей карты. Такие средние значения уже могут дать хорошее изображение рельефа, даже если центр карты расположен в нескольких градусах от рассчитанного значения.
Если же по каким-то причинам необходимо более точное значение, то рассчитать его можно по формуле:
z = 1 / (111319.44444 * cos(xπ/180)),
где x – широта середины вашей цифровой модели рельефа.
Z-factor используется не только для построения теневого рельефа, но и в других инструментах анализа растров, например, при расчете склона (инструмент "slope" в QGIS). Механизм его работы в них абсолютно такой же.
Как сделать теневой рельеф выразительнее
Самая важная вещь в теневом рельефе – это расположение солнца или источника света: от этого и зависит, какие части карт темнее, а какие светлее. При построении классического теневого рельефа принимается, что солнце находится с одной стороны, под одним углом к горизонту. Классически эти значения принимаются за 315 и 45 градусов, но можно и поэкспериментировать, представляя ваш рельеф в разное время суток. Продвинутые программы, работающие с 3D графикой, вроде Blender или Aerialod, будут давать характерные цвета заката или рассвета при низкой высоте солнца.
Для большей выразительности рельефа используются еще две техники теневого рельефа, по-разному моделирующие свет: мультинаправленный (multidirectional) и комбинированный (combined).
При мультинаправленном теневом рельефе моделируется ситуация, когда на объект действует несколько источников света одновременно с разных сторон. Комбинированный очень похож по принципу на мультинаправленный, но главное отличие в том, что источники света не с нескольких сторон, а вообще со всех – оттого он получается очень светлым.
Использование множества источников света делает ваш теневой рельеф светлее и смещает акценты на разные детали ландшафта. В комбинированном лучше видны долины рек, чем на других видах рельефа, а мультинаправленный акцентирует внимание на тех складках рельефа, которые не так заметны при традиционном виде.
Как объединить теневой рельеф с космоснимком, при этом не смыв его
Добавляя на карту различные текстуры, мы можем как улучшить ее, скрывая некоторые моменты, добавляя красок и информацию о поверхности земли, так и сделать ландшафт хуже, скрыв все его характерные особенности, например, за космическим снимком поверхности земли.
Для того, чтобы объединить изображение земной поверхности с теневым рельефом, можно использовать как прозрачность, так и различные варианты рендеринга ("blending mode"). Но их использование на весь слой может сделать карту либо слишком блеклой, либо слишком темной или яркой.
Чтобы максимально избежать этих эффектов, нужно понимать одну вещь и воспользоваться хитростью. С точки зрения цифровой графики теневой рельеф – комбинация пикселей от белого к черному, где белый цвет – это самые светлые и незатененные части поверхности, которые нам видятся равнинами, вершинами гор, долинами рек, а черный – это участки, покрытые тенью, являющиеся либо складками рельефа, либо просто сторонами, на которые не попадает мало света. Поэтому, чтобы подчеркнуть наш рельеф, его, во-первых, следует положить выше космоснимка, а во-вторых, установить прозрачность так, чтобы на характерных участках рельефа она была меньше, а на менее важных была больше, тем самым расставляя акценты.
Таким образом мы настройками прозрачности как расставили акценты на самых затененных участках местности, формирующих основные силуэты гор и речных долин, так и подсветили горные вершины и светлые склоны.
Я надеюсь, что эта статья помогла вам лучше понять принципы построения теневого рельефа и что она поможет вам в создании карт в будущем. Нет какой-то идеальной универсальной формулы или настроек для построения теневого рельефа, но есть огромный простор для творчества, благодаря разным ландшафтам, данным и целям, для которой вы делаете определенную карту.
Связанная статья – отмывка рельефа в QGIS