terra 1.7.55栅格投影报错‘xy not numeric’求解决方案
解决terra包project函数报错"xy not numeric"的方案
1. 解决函数名冲突
出现这个错误最常见的原因是base包自带的project()函数与terra包的project()重名,导致实际调用的不是处理栅格的terra版本。你可以通过以下方式强制指定调用terra的函数:
# 针对你的栅格投影代码 projected <- terra::project(r, "+proj=longlat +datum=WGS84") projected <- terra::project(r, elevation) # 针对官方示例代码 w <- terra::project(a, b)
提示信息"PROJ support is provided by the sf and terra packages among others"也佐证了这一点——base的project()函数不支持栅格投影,才会弹出这个提示。
2. 升级terra版本
你的terra版本为1.7.55,而官方示例基于1.7-65版本,版本差异可能导致功能兼容问题。建议升级到最新稳定版:
install.packages("terra")
升级后重新运行官方示例,验证问题是否解决。
3. 确认输入对象有效性
确保r是合法的SpatRaster对象,可通过class(r)检查类型。如果r是数据框、向量等非栅格类型,也会触发"xy not numeric"错误。
内容的提问来源于stack exchange,提问作者Cybil Nicole Cavalieri
相关产品推荐
相关产品推荐

