使用R和gdalUtils是否可以将3x3低通滤镜应用于虚拟栅格,同时将其写为.tif?

问题描述

在运行复杂的处理方案后,我使用gdalUtils在R中镶嵌了许多小的多波段栅格块。我实质上是在寻找一种将3x3低通滤波器应用于镶嵌数据的方法,当我将其写到.tif文件中时。这是一个简短的可复制示例:

library(raster)
library(gdalUtils)

#create some raster brick
ras <- brick(ncol=10,nrow = 10,nl= 3)

#fill with values
ras[] <- rnorm(n=ncell(ras)*3)

#save to file
writeraster(ras,filename = 'ras.tif',format = "GTiff")

#create virtual raster
gdalbuildvrt(gdalfile = 'ras.tif',output.vrt = "ras.vrt")

#use gdal to write virtual raster as tif
gdal_translate(src_dataset = 'ras.vrt',dst_dataset = 'ras_smooth.tif')

在最后一步中,是否有一种方法可以使用gdal_translate应用3x3低通滤波器(分别在每个频带上)?还是使用gdalwarp?或者可能在运行gdalbuildvrt时?此示例仅包含一个栅格块,但是当我构建具有多个块的.vrt时,它们应该工作相同。我曾尝试使用gdalwarp和“三次样条”插值来使数据平滑,但它不是3x3的均值低通滤波器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...