使用GRASS平滑DEM?


45

我有一个SRTM DEM,我想从中创建阴影。我在GRASS中创建了阴影浮雕,效果非常好,但是有点粗糙,因为该区域接近平坦并且DEM的分辨率为90m。

我想要使​​DEM更平滑以生成平滑的阴影浮雕。是否有算法或插值方法可以做到这一点?

这是获得想法的阴影浮雕,我想弄平这些小凸起:

图片


Answers:


43

r.denoise来自GRASS AddOns Wiki的 John Stevenson's怎么样:

使用Sun Xianfang 的降噪算法r.denoise降噪(平滑/去斑)地形数据,特别是从雷达数据(包括SRTM)导出的DEM 。它旨在保留锐利的边缘并在对原始数据进行最小更改的情况下进行去噪。

腺苷

我从这个网站上进一步读到(我也对上面的动画表示赞赏),一种更通用的方法是使用Esri ASCII Grid文件。mdenoise(可从Sun的网站下载)的位置必须位于PATH变量中(例如Windows用户:将OSGeo4w或FWTools安装MDenoise.exe到该bin文件夹中)。然后,例如,您可以使用以下shell命令来处理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

降噪已获得GNU许可,请参见此处


有python / gdal可移植性吗?
Hugolpz 2015年

1
您始终可以从Python运行任何命令。
Mike T

我的意思是等效的Python不需要
R。– Hugolpz

1
这不需要R。在Python中,用于os.system('mdenoise ...')运行可执行文件。
Mike T

澄清一下:这里代表栅格。该命令来自GRASS GIS,而不是
R。– bugmenot123

11

美国国家公园管理局首席制图师汤姆·帕特森(Tom Patterson)提供了一些出色的教程,介绍如何使用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的宽度从原来的3800像素减小到3000像素。将高度设置为0将使GDAL根据原始纵横比确定新文件的最佳高度。


7

我使用了GIMP插件小波降噪工具,并获得了良好的效果和快速的效果:

GIMP插件小波降噪

在此处输入图片说明

在此处输入图片说明


我平滑了栅格(阴影),但是文件(tiff)失去了空间参考。因此,当我将其放入我的qgis项目中时,该项目未与其他层正确覆盖。这件事发生在你身上吗?
DiogoCaribé16年

有一些方法可以重新注入地理位置。
Hugolpz

是的,在QGIS中,在栅格菜单中导出山体阴影,并扩展为PNG。
SamTux

6

您可以在DEM上运行一个简单的过滤器-例如5x5移动窗口平均过滤器。


3

在ArcMap中,我喜欢使用Spatial Analyst>焦点统计工具在制作轮廓之前使激光雷达平滑。这与我相信的上述功能类似。


糟糕,只要阅读GRASS部分...好吧,我敢肯定还有类似的操作...
aug_aug 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.