图像高斯平滑尺度单位咨询——基于spatstat包Smooth.Im函数
问题解答
1. 空间单位的继承
spatstat里的im对象(也就是你从栅格转来的图像)会继承原始栅格的空间坐标单位(比如米、公里、地理坐标系的度)。Smooth.Im的高斯平滑带宽参数sigma,单位和im对象的空间单位完全匹配——比如原始栅格单位是米,sigma=30就代表30米的高斯核半宽。
平滑后转回的栅格,空间单位和原始栅格保持一致,平滑操作不会改变空间尺度的单位。
2. 平滑后数值的含义与像素密度的关系
你把所有栅格值设为1,相当于得到了一个全域值为1的图像。用默认参数(normalise=TRUE)的Smooth.Im做高斯平滑时,输出的每个像素值是:
以该像素为中心,
sigma覆盖范围内的区域,经高斯权重加权后的平均像素值
因为输入全是1,且高斯核是归一化的(积分总和为1),所以平滑后的数值会围绕1波动——中心区域接近1,边缘区域因高斯权重衰减略小于1。这个数值是无量纲的,和像素密度的关联在于:
- 像素密度越高(单个像素对应空间范围越小),高斯核覆盖的像素数越多,平滑结果越贴合理论高斯曲线;
- 像素密度越低,结果会因采样点不足出现锯齿,但数值的核心含义不变。
简言之:平滑后的数值本身没有物理单位,是加权平均后的相对值;空间尺度(平滑范围大小)由原始栅格单位和sigma参数决定,像素密度只影响结果精度,不改变单位。
快速验证方法
可以用这段代码确认空间单位信息:
# 查看im对象的空间参数 print(your_im_object) # 查看输出栅格的坐标系统 crs(your_output_raster)
内容的提问来源于stack exchange,提问作者Maik
相关产品推荐
相关产品推荐

