项目光栅错误,包 terra 1.7.55 xy 不是数字,文档中的示例代码产生相同的错误

问题描述 投票:0回答:1

我不知道如何解决这个问题,有人有什么建议吗?

我在投影光栅时遇到问题。 我收到消息了

警告:PROJ 支持由 sf 和 terra 包等提供项目中的错误(r,“+proj=longlat +datum=WGS84”):xy 不是数字

对于两个项目栅格

projected <- project(r, "+proj=longlat +datum=WGS84") 
# Warning: PROJ support is provided by the sf and terra packages among others
# Error in project(r, "+proj=longlat +datum=WGS84") : xy not numeric
# Project raster
projected <- project(r, elevation) 
# Warning: PROJ support is provided by the sf and terra packages among others
# Error in project(r, elevation) : xy not numeric

elevation
#class       : SpatRaster 
#dimensions  : 12000, 9600, 1  (nrow, ncol, nlyr)
#resolution  : 0.008333333, 0.008333333  (x, y)
#extent      : -20, 60, -60, 40  (xmin, xmax, ymin, ymax)
#coord. ref. : lon/lat WGS 84 (EPSG:4326) 
#source      : Elev_gtopo30_Africa.tif 
#name        : Elev_gtopo30_Africa 
#min value   :                -407 
#max value   :                5825 

下面的示例代码直接来自文档(Package 'terra'---December 15, 2023---Type Package---Title Spatial Data Analysis---Version 1.7-65 ---Date 2023-12-14 )对于函数“project”也给出了相同的错误,所以我不知道如何解决这个问题,有人有任何建议吗?

library(terra)
library(sf)
 
packageVersion("terra")
#[1] ‘1.7.55’
 
## SpatRaster
a <- rast(ncols=40, nrows=40, xmin=-110, xmax=-90, ymin=40, ymax=60,
           crs="+proj=longlat +datum=WGS84")
values(a) <- 1:ncell(a)
newcrs="+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100 +datum=WGS84"
b <- rast(ncols=94, nrows=124, xmin=-944881, xmax=935118, ymin=4664377, ymax=7144377, crs=newcrs)
w <- project(a, b)
#Error in project(a, b) : xy not numeric
#In addition: Warning message:
#PROJ support is provided by the sf and terra packages among others 
geospatial spatial projection terra
1个回答
0
投票

当您遇到这样的问题时,请在新会话中启动 R,不要加载任何内容,没有包,没有数据。请参阅

ls()
sessionInfo()
。只需加载几个基础包。

然后尝试该示例(您会发现它有效)。

在您的情况下,问题是您在加载“terra”后加载了(过时的)rgdal 包。两个包都有一个

project
方法,最后加载的包的版本隐藏了另一个。

通过显式使用可以看出这是问题所在

w <- terra::project(a, b)

而不是

w <- project(a, b)
© www.soinside.com 2019 - 2024. All rights reserved.