WGS84坐标系5角分栅格重采样为1km²分辨率的操作方法咨询
结论先行
你提出的disaggregate(raster, factor = 10)方案不正确,核心问题在于两个认知误区:
- 角度分辨率(角秒/角分)和实际地面面积分辨率不存在固定等价关系,仅赤道附近30角秒近似对应1km边长,中高纬度误差会随纬度升高快速增大
disaggregate只是对栅格像元做简单拆分复制,没有做投影转换和合理的重采样插值,无法得到严格的1km²等面积栅格
正确操作流程
如果你需要严格的1km²等面积栅格(适用所有纬度/大区域研究)
- 选择适配研究范围的等面积投影:
- 全球范围可选择摩尔威德投影、正弦曲线投影
- 区域研究可选择阿尔伯斯等面积圆锥投影(中纬度)、兰伯特等面积方位投影(极地)
等面积投影的坐标单位为米,可直接定义1000m的分辨率,每个像元面积严格为1km²
- 执行投影+重采样操作,以R语言的
terra包(比传统raster包效率更高)为例,代码如下:
library(terra) # 读取原始栅格 original_r <- rast("你的栅格文件路径") # 定义目标等面积投影(示例为全球摩尔威德投影,区域研究替换为对应投影参数即可) target_crs <- "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs" # 生成目标栅格模板,分辨率设置为1000m即1km target_template <- rast( crs = target_crs, res = 1000, extent = ext(project(original_r, target_crs)) ) # 重采样:连续变量用双线性插值(method="bilinear"),分类栅格用最近邻法(method="near") resampled_r <- project(original_r, target_template, method = "bilinear")
如果你仅做赤道附近小范围研究,可近似用角度分辨率替代
这种场景下factor=10确实可以将5角分(0.0833°)的栅格拆分为30角秒(0.00833°)的栅格,但是不要直接用默认的disaggregate,要配合合适的插值方法避免块状伪影:
# 连续变量用双线性插值 resampled_r <- disaggregate(original_r, fact = 10, method = "bilinear") # 分类变量用最近邻法 resampled_r <- disaggregate(original_r, fact = 10, method = "near")
注意:该方法仅在南北纬10°以内的小范围区域误差可接受,超出范围请勿使用。
内容的提问来源于stack exchange,提问作者prayner
相关产品推荐
相关产品推荐

