autoKrige功能的投影错误

时间:2013-07-19 16:44:44

标签: r automap

我遇到autoKrig函数的问题,我尝试在这里制作一个可重现的例子:

library(automap)
library(raster)
library(dismo)

bio <- getData("worldclim", var="bio", res=10)

bio1 <- raster(bio, layer=1)
bio12 <- raster(bio, layer=12)
predictors <- stack(bio1, bio12)

bg <- randomPoints(bio1, 50)

data <- extract(predictors, bg)
data <- cbind(bg,data)
data <- data.frame(data)

coordinates(data)=~x+y
proj4string(data) = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0")
kg <- autoKrige(bio1~bio12, data, new_data=predictors)

这将导致:

Error in autoKrige(bio1 ~ bio12, data, new_data = predictors) : 
  Either input_data or new_data is in LongLat, please reproject.
   input_data:  +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
   new_data:    +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 

我的原始数据出现同样的错误。我感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

如果你阅读了帮助文件,它会告诉你它为什么会抛出这个错误。

  

autoKrige对input_data的坐标系执行一些检查   和new_data。如果其中一个或两个是NA,则为其分配投影   另一个。如果它们具有不同的投影,则会引发错误。   如果其中一个或两个都具有非投影系统(即纬度 - 经度),则会引发错误。引发此错误是因为'gstat确实使用了   但是,当数据在地理坐标中时,球面距离   通常的变差函数模型通常不是非负定的   球体,没有合适的模型可供使用'(Edzer Pebesma on   R-SIG-GEO)。

在调用autoKrige之前,您似乎需要预测数据。