- отмывка рельефа
- Смотреть что такое «отмывка рельефа» в других словарях:
- Комбинирование светотеневой отмывки и цветовой карты рельефа с помощью GDAL
- Содержание
- Исходные данные
- Теневая отмывка
- Цветовой рельеф
- Комбинирование
- Метод 1: «в HSV и обратно»
- Метод 2: «Прозрачность как в ГИС»
- Метод 3: «Взять прозрачность из RGBA»
- Вспомогательные операции
- Справка
- Параметры отмывки
- Азимут
- Высота
- Использование отмывки для отображения
- Использование отмывки в анализе
- Как вычисляется отмывка
- Алгоритм отмывки
- Вычисление положения источника света
- Вычисление направления освещения
- Вычисление уклона и экспозиции
- Пример вычисления отмывки рельефа
- Литература
отмывка рельефа
Словарь по географии . 2015 .
Смотреть что такое «отмывка рельефа» в других словарях:
Отмывка — пластическое полутоновое изображение рельефа путем наложения теней. Обычно, применяют: отмывку при боковом освещении, когда источник света находится в левом верхнем углу карты; отмывку при отвесном освещении, когда свет падает сверху; отмывку при … Финансовый словарь
Отмывка — Карта района действий сомалийских пиратов с отмывкой рельефа Отмывка (в картографии) способ изображения рельефа местности методом тенево … Википедия
изображение рельефа отмывкой — отмывка рельефа Способ теневой пластики, в котором полутоновое изображение рельефа выполняется от руки. [ГОСТ 21667 76] Тематики картография Обобщающие термины свойства, элементы карты и способы картографического изображения Синонимы отмывка… … Справочник технического переводчика
Картоиздательские процессы — совокупность технологических операций по изданию карт, включающая репродукционные, ретушёрные, светокопировальные, печатные и отделочные работы. Для издания карт используются черно белые штриховые, полутоновые или цветные… … Большая советская энциклопедия
Веб-картография — Информация в этой статье или некоторых её разделах устарела. Вы можете помочь проекту, обновив её и убрав после этого данный шаблон … Википедия
КАРТА — уменьшенное обобщенное изображение поверхности Земли (или ее части) на плоскости. Человек создавал карты с древнейших времен, пытаясь наглядно представить взаимное расположение различных участков суши и морей. Собрание карт, обычно переплетенных… … Энциклопедия Кольера
легенда к географическим картам — НАСЕЛЕННЫЕ ПУНКТЫ :: более 1 млн. жителей :: от 250 тыс. до 1 млн. жителей :: от 100 тыс. до 250 тыс. жителей :: менее 100 тыс. жителей Прописными буквами выделены столицы. ПУТИ СООБЩЕНИЯ :: Железные дороги … Географическая энциклопедия
УЧЕБНЫЕ КАРТОГРАФИЧЕСКИЕ ПОСОБИЯ — применяются в преподавании естеств. науч. и обществоведч. дисциплин в ср. и высш. школе. Система У. к. п. включает карты, атласы, глобусы, репродукции аэро и космич. снимков и фотокарты. Карта образно знаковая модель, представляющая собой… … Российская педагогическая энциклопедия
Источник
Комбинирование светотеневой отмывки и цветовой карты рельефа с помощью GDAL
Создание слоя сочетающего теневую отмывку и цветовую ЦМР в нескольких вариантах
Мы все очень любим красивый рельеф. Эта статья рассказывает про то как получить подобный результат в виде единого комбинированного слоя с помощью GDAL и вдается в некоторые нюансы применения прозрачности.
Обычно эффект комбинирования в ГИС (таких как QGIS) достигается использованием двух слоёв. Берется сама ЦМР (цифровая модель рельефа) в виде растра, где высоты сгруппированы в пояса и каждому задан свой цвет и берется теневая отмывка рельефа. Слой цветового рельефа располагается поверх теневого и цветовому рельефу задается определенный процент прозрачности (в примере выше — 30%). В результате получается картинка показанная выше.
Все хорошо и красиво, но есть одна проблема. Этот вариант работает пока вы находитесь в локальной ГИС, умеющей работать со слоями. Что если вам нужен комбинированный рельеф единым слоем? Для использования в веб, графических редакторах или просто для удобства управления.
Разберем как получается изображение выше с помощью GDAL. GDAL — это швейцарский нож специалиста в области ГИС, набор кросс-платформенных консольных утилит позволяющих выполнять большее количество различных операций (подробнее с примерами).
Содержание
Исходные данные
В качестве единственного источника выступает ЦМР, растровая матрица, где каждому пикселю соответствует значение его высоты над уровнем моря. Это может быть SRTM, ASTER GDEM и другие источники.
Посмотреть на эти матрицы можно в QGIS в сером или цветном представлении.
Теневая отмывка
Создадим теневую отмывку на основе нашей ЦМР. Для многих операций с данными о рельефе в GDAL используется инструмент gdaldem. Результатом операции является 8-битный растр, где каждому пикселю назначается интенсивность освещенности в зависимости от его положения. Также можно указывать высоту (-alt) солнца над горизонтом 0-90 и угол (-az) освещения солнца 0-360.
Цветовой рельеф
Теперь необходимо сделать еще одну матрицу, где назначить каждому ее пикселю определенный цвет. Это очень удобно сделать в пользовательской ГИС, где посредством интерфейса можно задать количество высотных поясов, выбрать цвет, оценить результат.
Для GDAL результат такого раскрашивания нужно преобразовать в текстовый файл следующего формата, пример:
Где первая цифра — высота, а 2-3-4, ее цвет в RGB. В данном примере, все пиксели от 0 до 200 будут закрашены одним цветом, от 200 до 400 другим и так далее. Сохраним файл под названием ramp.txt
Дальше, выполним команду, которая на основе ЦМР создаст RGB изображение (информация о высотах таким образом будет потеряна, останется только цвет):
Комбинирование
Метод 1: «в HSV и обратно»
Один из методов сложения цветового рельефа и теневой отмывки — преобразование через HSV и обратно. В рамках этого метода, цветовой рельеф из RGB (red-green-blue) преобразуется в HSV (hue-saturation-value), получившаяся компонента V заменяется целиком на теневую отмывку, результирующий HSV преобразуется обратно в RGB.
Осуществить такое преобразование можно с помощью скрипта hsv_merge.py использующего возможности GDAL (автор: Frank Warmerdam, подробнее о скрипте).
Скрипт запускается следующим образом:
Метод 2: «Прозрачность как в ГИС»
Как можно видеть результат предыдущего метода и то, что мы получаем в пользовательских ГИС (самая первая иллюстрация) несколько различается. Мы также не можем в предыдущем методе менять прозрачность, чтобы достигнуть необходимого результата.
Чтобы получить точно такой же результат, нужно конвертировать не через HSV, а действовать простым сложением компонент по следующему принципу (подсмотрено на Stackoverflow, спасибо Дмитрию Барышникову за наводку!):
Где, r,g,b — каналы исходного изображения, h — растр теневой отмывки, а R,G,B — каналы результирующего изображения, alpha — значение прозрачности от 0 до 1, 0 — верхний растр непрозрачен (нижний, отмывка, просто не будет виден), 1 — верхний растр полностью прозрачен, результат будет идентичен слою теневой отмывки.
Выполнить эти манипуляции можно с помощью скрипта transparent_merge.py (адаптирован автором статьи, скачать), следующим образом:
Таким образом, синтаксис у скрипта такой же, как и у hsv_merge.py, за исключением добавления параметра alpha, который указывает, сколько прозрачность добавить к цветовому рельефу (relief.tif). Результат будет такой же, как и наложение двух растров в пользовательской ГИС:
Метод 3: «Взять прозрачность из RGBA»
Исследование исходников hsv_merge.py показывает, что в качестве исходного растра может использовать не только RGB, но и RGBA, т.е. растр с заданной прозрачностью. Хотя это похоже на то, что нам нужно, на самом деле это не оно, так как никакого учета канала прозрачности при цветовой трансформации не происходит, а канал прозрачности (альфа-канал) просто переносится с исходного изображения на результат перевода через HSV и обратно.
Чтобы воспользоваться этим методов, нужно сначала создать из RGB — RGBA, самый простой способ это сделать (не разобрался как это сделать в GDAL) следующий, нужно просто загрузить растр цветового рельефа в QGIS, задать ему прозрачность и щелкнув правой кнопки мыши по нему выбрать «Сохранить как» и далее «Rendered image». Растр сохранится с учетом прозрачности в RGBA.
Вспомогательные операции
Часто встречающиеся задачи по доделке результата — обрезка по контуру и создание альфа-канала.
Обрезка по существующему сложному (необязательно прямоугольному контуру) может быть выполнена с помощью следующей команды:
Создать и назначить определенное значение альфа-каналу можно с помощью следующей команды:
Источник
Справка
Доступно с лицензией 3D Analyst.
Инструмент Отмывка (Hillshade) позволяет получить гипотетическое освещение поверхности путем определения освещенности для каждой ячейки растра. Принцип его работы заключается в установке положения гипотетического источника света и вычислении значений освещенности каждой ячейки по отношению к соседним ячейкам. Применение функции может значительно улучшить визуальное представление поверхности для анализа и графического отображения, особенно, при использовании опции прозрачности.
По умолчанию, тень и свет – это оттенки серого, связанные с целыми числами от 0 до 255 (возрастающие от черного к белому).
Параметры отмывки
Главным фактором при создании карты отмывки для конкретного местоположения является расположение солнца на небе.
Азимут
Азимут – это угловое направление на солнце, измеренное по часовой стрелке от направления на север в градусах от 0 до 360. Азимут 90 градусов – восток. Азимут по умолчанию – 315 градусов (NW).
Азимут (направление) солнца для отмывки по умолчанию – 315º
Высота
Высота- это подъем или угол источника света над горизонтом. Измеряется в градусах, от 0 (на горизонте) до 90 (над головой). Значение по умолчанию равно 45 градусам.
Высота солнца для отмывки по умолчанию – 45º
В примере отмывки ниже азимут равен 315 градусам, а высота – 45 градусам.
Пример выходных данных инструмента Отмывка
Использование отмывки для отображения
Помещая растр высот поверх растра отмывки и настраивая его прозрачность , вы легко можете создать визуально привлекательную карту рельефа ландшафта.
Создайте растр рельефа с отмывкой, объединив растры высот и отмывки с прозрачностью
Вы можете добавить другие слои, например, типов землепользования, растительности, дорог или водотоков, для увеличения информационного содержания в отображении.
Использование отмывки в анализе
Моделируя тень (опция по умолчанию), вы можете вычислить локальное освещение и то, попадают ли ячейки в тень или нет.
Моделируя тень, вы можете определить каждую ячейку, которая будет в тени другой ячейки в определенное время дня. Ячейкам в тени другой ячейки дается код 0; всем другим ячейкам дается код целого числа от 1 до 255. Вы можете переклассифицировать все значения больше 1 в 1, создавая бинарный выходной растр. В примере ниже черные области – в тени. Азимут одинаковый на каждом изображении, но высотк солнца была изменена.
Как вычисляется отмывка
Чтобы вычислить значение тени, сначала необходимо получить высоту и азимут положения источника света. Эти значения будут обрабатываться вместе с вычислениями уклонов и экспозиции для определения окончательного значения отмывки для каждой ячейки на выходном растре.
Алгоритм отмывки
Применяется следующий алгоритм вычисления значения отмывки:
Обратите внимание, что если вычисленное значение отмывки меньше 0, выходное значение ячейки будет равно 0.
Вычисление положения источника света
Высота источника света задается в градусах над горизонтом. Однако, формула для вычисления значения отмывки требует, чтобы угол был выражен в радианах и чтобы было известно отклонение от вертикали. Направление непосредственно вверх от поверхности (прямо над головой) обозначается как ‘Зенит’. Угол зенита измеряется от точки зенита до направления на источник света и в сумме с углом высоты образует 90 градусов. Чтобы вычислить угол положения источника света, в качестве первого шага необходимо преобразовать угол высоты в угол зенита. Второй шаг – это преобразование угла в радианы.
Замените угол высоты на угол зенита:
Преобразуйте градусы в радианы:
Вычисление направления освещения
Направление положения источника света или азимут, задается в градусах. Формула вычисления отмывки предполагает, что угол выражен в радианах. Сначала угол азимута меняется с географических единиц измерения (компасного направления) на математические единицы (правый угол). Далее, угол азимута переводится из градусов в радианы.
Измените измерение угла азимута:
Обратите внимание, что если Azimuth_math >= 360,0, то:
Преобразуйте градусы в радианы:
Вычисление уклона и экспозиции
Движущееся окно размером 3 x 3 ячейки проходит через каждую ячейку на входном растре и для каждой ячейки на входном растре в центре окна с использованием алгоритма, который учитывает значения восьми соседних ячеек, вычисляются значения уклонов и экспозиции. Ячейки обозначаются буквами от a до i, при этом буква e представляет ячейку, для которой вычисляется значение экспозиции.
Степень изменения по направлению x для ячейки ‘e‘ вычисляется с помощью следующего алгоритма:
Степень изменения по направлению y для ячейки ‘e’ вычисляется с помощью следующего алгоритма:
Уклон – это самый крутой спуск из каждой ячейки на поверхности. Алгоритм вычисления уклона в радианах, учитывающий коэффициент по z, следующий:
Экспозиция – это направление самого крутого спуска по поверхности. Экспозиция в радианах определяется в диапазоне от 0 до 2pi, при этом значение 0 соответствует направлению на восток. Экспозиция определяется по правилам следующего алгоритма:
Пример вычисления отмывки рельефа
В качестве примера будет вычислено значение отмывки для центральной ячейки движущегося окна, представленного на рисунке.
Входной растр высот
Размер ячейки равен 5 единицам измерения. По умолчанию используются значения Высоты (Altitude), равной 45 градусам и Азимута (Azimuth), равного 315 градусам.
- Угол положения источника света
Угол Зенита будет вычислен с использованием уравнения 2:
И преобразован из градусов в радианы с использованием уравнения 3:
Направление положения источника света
Угол азимута будет преобразован из географического в математический с помощью уравнения 4:
Преобразование угла азимута в радианы выполняется с использованием уравнения 6:
- Уклон и экспозиция
Степень изменения в направлении x для центральной ячейки ‘e‘ выполняется следующим образом:
Степень изменения в направлении y для центральной ячейки ‘e‘ выполняется следующим образом:
Вычисление угла уклона:
Вычисление угла экспозиции в радианах Aspect_rad в соответствии с правилом 10 выполняется следующим образом: (т. к. dz/dx в этом примере не равно 0):
Поскольку это значение меньше 0, эта часть правила применяется следующим образом:
Окончательное вычисление отмывки выполняется следующим образом:
Поскольку выходной растр имеет целочисленный тип, значение затенения для центральной ячейки e = 154.
Литература
Burrough, P. A. and McDonell, R. A., 1998. Principles of Geographical Information Systems (Oxford University Press, New York), 190 pp.
Источник