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

R语言保存栅格触发NOT UPDATED FOR PROJ >=6警告如何解决

问题根因

你遇到的In .gd_SetProject(object, ...) : NOT UPDATED FOR PROJ >= 6警告由两个核心原因导致:

  • 原始DEM数据没有显式定义CRS,从你的输出可以看到DEM的crs字段值为NA
  • 旧版raster包对PROJ 6.0+版本的CRS处理逻辑兼容不完善,当栅格缺少显式CRS定义时极易触发该警告

解决方法

方案1:优先推荐(适配新版PROJ逻辑,无兼容问题)

使用raster包开发者推出的新一代空间栅格处理包terra,原生支持PROJ 6.0+标准,完全规避该警告:

# 加载依赖包
library(terra)
library(sf)

# 转换DEM为terra支持的SpatRaster格式,显式设置CRS
dem_terra <- rast(DEM)
crs(dem_terra) <- "EPSG:4326"

# 聚合生成模板栅格
r_terra <- aggregate(dem_terra, fact = 6)

# 矢量栅格化流程
sa_terra <- vect(st_transform(SA, crs = 4326))
r_terra <- rasterize(sa_terra, r_terra, field = 1)
r_terra <- trim(r_terra)

# 保存栅格
writeRaster(r_terra, filename = "prediction-surface_SA.tif", overwrite = TRUE)

方案2:保留原有raster包代码

在栅格化完成后、保存前,给生成的栅格显式指定CRS即可消除警告:

# 原有代码保留,在trim()后补充CRS设置
r <- SA %>%
  st_transform(crs = 4326)%>%
  rasterize(r, field = 1) %>%
  trim()

# 新增:显式设置栅格CRS
crs(r) <- "EPSG:4326"

# 保存栅格
r <- writeRaster(r, filename = "prediction-surface_SA.tif", overwrite = TRUE)

补充说明

该警告本质是版本兼容提示,若不做处理,只要你的坐标体系逻辑正确,生成的栅格文件也可以正常使用,但显式定义CRS是空间数据处理的规范操作,可避免后续其他空间分析步骤出现坐标偏移、匹配错误等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:48:02