Страница 1 из 2
Генерализация рельефа
Добавлено: 19 апр 2011, 16:14
SteFF
Столкнулся с задачей следующего характера.
Необходимо произвести генерализацию рельефа таким образом, чтобы горные цепи или основные хребты при этом не смазывались, как и основные тальвеги, а вот остальные поверхности, наоборот, теряли детальность. Нужно исключительно для изобразительных целей. Прикладываю пример №1 - фрагмент топографической карты 1:500 000 K38-2 на Дагестан (понимаю, что это, вероятно, было сделано вручную, но хотелось бы получить такой эффект хотя бы полуавтоматически).
Второй пример - то, что получается из SRTM с послойной окраской в Global Mapper (с помощью послойной окраски эффект не достигается).
Есть ли у кого-нибудь мысли, каким образом можно достичь подобного эффекта?
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:15
SteFF
SRTM с послойной окраской
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:19
Olga_@@@
Если текстурировать, тоже не нравится?
Там типа теней что-то появится
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:23
ericsson
Не совсем понял сути задачи и чем именно не устроил результат, который получен в GM.
Но исключительно по ассоциации могу припомнить технологию прямого и обратного разложения Фурье с изменением амплитуд отдельных частот. Позволяет манипулировать, гхм, контрастностью составляющих разного размера (в плоскости сцены).
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:31
SteFF
ericsson писал(а):Не совсем понял сути задачи и чем именно не устроил результат, который получен в GM.
Но исключительно по ассоциации могу припомнить технологию прямого и обратного разложения Фурье с изменением амплитуд отдельных частот. Позволяет манипулировать, гхм, контрастностью составляющих разного размера (в плоскости сцены).
На топокарте рельеф менее детальный, но при этом хребты очень четко прорисовываются. Если подобное делать генерализацией "в лоб" с SRTM, то хребты смажутся вместе с остальным рельефом. А нужна, так сказать, избирательность.
В каком ПО можно поковыряться с частотами?
Olga_@@@ писал(а):Если текстурировать, тоже не нравится?
Там типа теней что-то появится
Про текстурирование что-то первый раз слышу. Имеется в виду графическая обработка в Photoshop?
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:33
Александр Мурый
На сам вопрос сейчас не отвечу, но надо иметь в виду, что данные SRTM имеют детальность рельефа как минимум стотысячных карт (доходит до 1:50 000). А здесь топокарта 1:500 000.
Как "генерализовать" SRTM (?):
-- найти ЦМР с более низким разрешением (ETOPO, GLOBE, SRTM30 и т.д.)
-- переинтерполировать SRTM в растр с более низким разрешением (куча методов..)
-- получить из SRTM изолинии; оставить изолинии с шагом, соответствующим топокартам 1:500 000 масштаба; интерполировать в новую ЦМР с нужным разрешением
-- ??
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:39
Olga_@@@
Про текстурирование что-то первый раз слышу. Имеется в виду графическая обработка в Photoshop?
Нет, это можно в GM сделать, но применяется к растру.
Хотя наверно есть другие варианты для создания эффекта теней. Сейчас нет GM под рукой, точно не могу сказать.
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:41
SteFF
amuriy писал(а):На сам вопрос сейчас не отвечу, но надо иметь в виду, что данные SRTM имеют детальность рельефа как минимум стотысячных карт (доходит до 1:50 000). А здесь топокарта 1:500 000.
Как "генерализовать" SRTM (?):
-- найти ЦМР с более низким разрешением (ETOPO, GLOBE, SRTM30 и т.д.)
-- переинтерполировать SRTM в растр с более низким разрешением (куча методов..)
-- получить из SRTM изолинии; оставить изолинии с шагом, соответствующим топокартам 1:500 000 масштаба; интерполировать в новую ЦМР с нужным разрешением
-- ??
Суть вопроса не в том, как генерализовать SRTM, а как генерализовать его, так сказать, избирательно. У меня с математикой не очень хорошо, но методом скользящего квадрата в том же Erdas пользовался и примерно представляю алгоритм его работы. Вероятно, со спектрами Фурье будет более адекватный результат.
P.S. вот что получается из GTOPO
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:41
Александр Мурый
Да, и еще пара мыслей от геоморфолога
Чтобы визуально "выдвинуть" больше хребты и впадины, при создании свето-теневой отмывки можно увеличить "вертикальный масштаб" рельефа (сейчас он примерно = 1, можно смело увеличить до 2, а то и 3). Как это сделать в GlobalMapper, не знаю, но в растровых ГИС (GRASS, SAGA, ILWIS и т.д.) это можно.
И вместе с этим "поиграться" с высотой Солнца над горизонтом, азимутом и другими параметрами отмывки.
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:42
ericsson
"Четко прорисовываются" - это значит, выделены тенью? Тогда крутите в GM настройки вот тут
http://www.globalmapper.com/helpv9/Help ... l#vertical все что касается Hill shading. Это и есть "затенение". Карту теней, в принципе, можно получить отдельно (залить ландшафт одним цветом и применить к нему hill shading) и накладывать потом с разными настройками blending'а.
Работа с FFT/IFT реализована в ImageMagick,
http://www.imagemagick.org/Usage/fourier/ для того, чтобы покорёжить данные SRTM, их нужно будет пересохранить в GeoTIFF и сделать дамп всех метаданных и вернуть их потом назад (listgeo и geotifcp соответственно).
UPD: "Поднять" рельеф можно, если использовать вот это
http://www.globalmapper.com/helpv9/Help ... _alter_tab
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:55
SteFF
ericsson писал(а):"Четко прорисовываются" - это значит, выделены тенью? Тогда крутите в GM настройки вот тут
http://www.globalmapper.com/helpv9/Help ... l#vertical все что касается Hill shading. Это и есть "затенение". Карту теней, в принципе, можно получить отдельно (залить ландшафт одним цветом и применить к нему hill shading) и накладывать потом с разными настройками blending'а.
Работа с FFT/IFT реализована в ImageMagick,
http://www.imagemagick.org/Usage/fourier/ для того, чтобы покорёжить данные SRTM, их нужно будет пересохранить в GeoTIFF и сделать дамп всех метаданных и вернуть их потом назад (listgeo и geotifcp соответственно).
Да, по всей видимости, все таки дело в тени, т.е. отдельная отмывка на хребтах.
Olga_@@@ писал(а):Про текстурирование что-то первый раз слышу. Имеется в виду графическая обработка в Photoshop?
Нет, это можно в GM сделать, но применяется к растру.
Хотя наверно есть другие варианты для создания эффекта теней. Сейчас нет GM под рукой, точно не могу сказать.
Да, текстурирование дает похожий эффект, но, к сожалению, нельзя менять его интенсивность, а эффект получается чрезмерный
amuriy писал(а):Да, и еще пара мыслей от геоморфолога
Чтобы визуально "выдвинуть" больше хребты и впадины, при создании свето-теневой отмывки можно увеличить "вертикальный масштаб" рельефа (сейчас он примерно = 1, можно смело увеличить до 2, а то и 3). Как это сделать в GlobalMapper, не знаю, но в растровых ГИС (GRASS, SAGA, ILWIS и т.д.) это можно.
И вместе с этим "поиграться" с высотой Солнца над горизонтом, азимутом и другими параметрами отмывки.
Проблема в том, что при увеличении вертикального масштаба, равно как и при увеличении интенсивности оттенения (черноты тени) вылезают не только хребты, но и не видимые до этого мелкие структуры на склонах, которые забивают изображение. А если играться настройками на уже генерализованном рельефе, то хребты оказываются сильно замыленными и не реагируют на пинки
Пока вижу два варианта. Первый - попробовать на SRTM без отмывки наложить отдельно тень от отмывки GTOPO (ну или генерализованного SRTM) и играть смешиванием. Второй - разбираться с частотами/спектрами. Когда-то делал что-то подобное в ImageJ, но очень мало и давно

Re: Генерализация рельефа
Добавлено: 19 апр 2011, 16:59
ericsson
А мысль выгрузить отмывку (в градациях серого) в растр, применить к нему тем же ImageMagick (или графическим редактором) нелинейную кривую (выгнутую вверх в светах), вернуть этот растр обратно в GM и наложить с каким-нибудь подходящим режимом blending не приходила? Таким образом "слабая" отмывка станет еще слабее, а сильная отмывка не пострадает. Вариантов-то множество.
ImageJ подойдет тоже для издевательств, совсем забыл про него.
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 17:06
SteFF
ericsson писал(а):А мысль выгрузить отмывку (в градациях серого) в растр, применить к нему тем же ImageMagick (или графическим редактором) нелинейную кривую (выгнутую вверх в светах), вернуть этот растр обратно в GM и наложить с каким-нибудь подходящим режимом blending не приходила? Таким образом "слабая" отмывка станет еще слабее, а сильная отмывка не пострадает. Вариантов-то множество.
ImageJ подойдет тоже для издевательств, совсем забыл про него.
Гм...нет...вообще в таком случае можно не загонять растр обратно в GM, т.к. blending можно и в графическом редакторе сделать, а геопривязка у меня сохраняется там за счет плагина Geographic Imager. попробую.
Re: Генерализация рельефа
Добавлено: 19 апр 2011, 17:21
Olga_@@@
текстурирование дает похожий эффект, но, к сожалению, нельзя менять его интенсивность, а эффект получается чрезмерный
Можно за счет прозрачности
Re: Генерализация рельефа
Добавлено: 20 апр 2011, 21:30
SteFF
Спасибо всем за реакцию на вопрос, но хотел бы спросить вот еще что:
в каком софте можно сделать генерализацию рельефа с такими же условиями, как это реализовано в ArcGIS в модуле Spatial Analyst? Т.е. задавать размер ячейки (скользящего квадрата) и алгоритм генерализации (сумма, среднее. максимум и .д.)? Знаю, что это еще делается в Erdas и в Envi, но хотелось бы чего-нибудь бесплатного или хотя бы за разумную сумму.