You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将小栅格空间范围扩展至匹配大栅格?terra扩展失败求助

问题:将小栅格空间范围扩展至与大栅格一致(填充0)

问题描述

需将小栅格的空间范围(物理和维度层面)扩展至与大栅格一致,重点扩展小栅格的最北部区域,扩展部分填充为0。尝试过terra包的extend()函数,但返回结果尺寸未发生变化;也试过ArcGIS Pro的栅格计算器,同样无效果。

栅格信息

大栅格(large)

> large 
class       : SpatRaster 
dimensions  : 762, 762, 1  (nrow, ncol, nlyr)
resolution  : 3100, 3100  (x, y)
extent      : -3034878, -672677.7, 2022791, 4384991  (xmin, xmax, ymin, ymax)
coord. ref. : Canada_Lambert_Conformal_Conic 
source      : Yukon_poly_raster_project.tif 
name        : Yukon_poly_raster_project 
min value   :                         0 
max value   :                       127 

大栅格图像:覆盖范围更广,包含小栅格未覆盖的北部区域

小栅格(small)

> small 
class       : SpatRaster 
dimensions  : 426, 400, 1  (nrow, ncol, nlyr)
resolution  : 3096.673, 3098.812  (x, y)
extent      : -2284678, -1046008, 2551588, 3871682  (xmin, xmax, ymin, ymax)
coord. ref. : Canada_Lambert_Conformal_Conic 
source      : FRT_Canada_yukon_ras_1.tif 
name        : FRT_Canada_yukon_ras_1 
min value   :                      3 
max value   :                     11 

小栅格图像:范围仅覆盖大栅格中部区域,北部存在空白待扩展区域

已尝试的R代码

library(terra)
r = extend(small, large)

解决方案

核心问题是两个栅格分辨率不一致,extend()仅能扩展范围,无法自动匹配分辨率。需先重采样小栅格至大栅格的分辨率,再扩展范围,步骤如下:

  1. 重采样小栅格,匹配大栅格的分辨率与投影:
library(terra)
# 采用最近邻插值(可根据数据类型更换为bilinear等方法)
small_resampled <- resample(small, large, method = "near")
  1. 扩展重采样后的栅格至大栅格范围,填充值设为0:
small_extended <- extend(small_resampled, large, fill = 0)
  1. 验证结果维度是否匹配:
dim(small_extended)
dim(large)

失效原因说明

  • terra::extend()仅调整空间范围,不改变分辨率。小栅格分辨率(约3097×3099)与大栅格(3100×3100)存在差异,直接扩展无法达到大栅格的762×762行列数。
  • ArcGIS栅格计算器同理,需先统一分辨率,否则无法匹配目标栅格的维度。

内容的提问来源于stack exchange,提问作者user11384727

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:07:21