Згладжування DEM за допомогою GRASS?


45

У мене є SRTM DEM, і я хочу створити з неї затінений рельєф. Я створив затінений рельєф у GRASS, і результат дуже приємний, але трохи нерівний, тому що площа майже рівна, а DEM має роздільну здатність 90 м.

Те, що я хочу, - зробити DEM більш гладким, щоб створити плавний затінений рельєф. Чи існує алгоритм чи метод інтерполяції для цього?

Ось затінений рельєф, щоб отримати уявлення, я хочу згладити ці невеликі шишки:

Зображення


Відповіді:


43

Як щодо Джона Стівенсона r.denoise, із вікі GRASS AddOns :

r.denoise denoises (згладжує / despeckles) топографічні дані, визначені DEMS , отримані з радіолокаційних даних ( в тому числі SRTM), використовуючи шумодав алгоритм Xianfang Сонця . Він призначений для збереження гострих країв та для позначення мінімальних змін оригінальних даних.

mdenoise

Далі я читаю з цього веб-сайту (що я також вдячний за вищезазначену анімацію), що більш загальним методом було б використання файлу Grid Esri ASCII. Місцезнаходження mdenoise(завантажене з веб-сайту Sun ) повинно бути у вашій змінній PATH (наприклад, користувачі Windows: занесіть MDenoise.exeу binпапку з встановленням OSGeo4w або FWTools). Тоді, наприклад, ви можете використовувати таку команду оболонки для обробки файлу сітки ASCII:

# gdal_translate -of AAIGrid my_dem.tif my_dem.asc      # convert to .asc
mdenoise -i my_dem.asc -n 5 -t 0.99 -o my_dem_DN.asc    # denoise
# gdal_translate -of GTiff my_dem_DN.asc my_dem_DN.tif  # convert back to .tif

Denoise під ліцензією GNU, дивіться тут


Будь-яка порція python / gdal?
Гюгольпз

1
Ви завжди можете запустити будь-яку команду з Python.
Майк Т

Я маю на увазі еквівалент пітона, який не потребує Р.
Гюгольпз

1
Для цього не потрібно R. From Python, використовувати os.system('mdenoise ...')для запуску виконуваного файлу.
Майк Т

Для уточнення: The r. тут розшифровується растр. Команда від GRASS GIS, а не від R.
bugmenot123

11

Том Паттерсон, провідний картограф Служби національних парків США, має чудові навчальні посібники по роботі з даними DEM, щоб зробити красиві затінені рельєфи. Частина його робочого процесу передбачає використання Natural Scene Designer та Adobe Photoshop.

Для власного робочого процесу я люблю використовувати GDAL для повторного впорядкування розміру DEM перед наданням затіненого рельєфу. Це часто допомагає зменшити кількість деталей та шуму, не кажучи вже про розмір файлу. У мене є підручник з Github, який демонструє, як це зробити.

В основному процес полягає у визначенні нової ширини та / або висоти (у пікселях) для виводу DEM, менший за вихідний розмір файлу. Наприклад, роблячи:

gdalwarp -ts 3000 0 -r bilinear kings_canyon_2228.tif kings_canyon_2228_rs.tif

Зменшить ширину DEM до 3000 пікселів від початкової ширини 3800 пікселів. Встановлення висоти до 0 дозволить GDAL визначити найкращу висоту нового файлу на основі оригінального співвідношення сторін.


7

Я використовував інструмент зменшення шуму плагінів GIMP і отримую хороші результати та швидко:

GIMP плагін зменшення шуму

введіть тут опис зображення

введіть тут опис зображення


Я згладив растр (схил), проте файл (tiff) втратив просторову орієнтир. Отже, коли я вклав це у свій проект qgis, той не накладався коректно з іншими шарами. Чи трапилось це з вами?
Diogo Caribé

Існують способи повторного введення геолокації.
Гюгольпз

Так, у QGIS експортуйте схил у растрове меню та експортуйте до PNG.
SamTux

6

Ви можете запустити простий фільтр на DEM - скажімо, середній фільтр, що рухається вікном 5x5.


3

У ArcMap мені подобається використовувати інструмент просторової аналітики> фокальної статистики, щоб згладити лидар перед тим, як зробити контури ... це також може допомогти у вашому випадку. Це схожа функція на вищезгаданий пост, я вважаю.


ой, просто прочитайте частину GRASS ... ну я впевнений, що відбувається подібна операція ...
aug_aug
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.