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

使用raster::projectRaster重分配CRS时遇rbind列数匹配错误求助

问题分析与解决

你的报错核心原因是:pred_th是terra包的SpatRaster对象,但你调用了raster包的projectRaster()函数——两个包的栅格对象体系不兼容,导致底层坐标转换时出现矩阵列数不匹配的错误。

解决方案:使用terra包的原生投影函数

直接用terra包的project()函数处理SpatRaster,这是最适配的方式,代码如下:

library(terra)
# 对SpatRaster进行投影转换,使用最近邻插值(对应原代码的method='ngb')
pred_th_proj <- project(pred_th, "EPSG:29702", method = "near")

补充说明(非推荐)

如果一定要用raster包的工具,需要先把SpatRaster转换为raster包的RasterLayer对象,再调用projectRaster():

library(raster)
# 转换对象类型
pred_th_raster <- raster(pred_th)
# 执行投影
pred_th_proj <- projectRaster(pred_th_raster, crs = "EPSG:29702", method = 'ngb')

但不推荐这种方式,因为terra是raster包的官方替代工具,性能和功能都更优,建议直接使用terra的生态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:02:57