为什么我在尝试将CRS分配给R中的光栅时出错?

为什么我在尝试将CRS分配给R中的光栅时出错?,r,spatial,raster,R,Spatial,Raster,我正在使用R中的光栅包创建光栅,我想明确指定光栅的坐标参考系(CRS),以便在使用writeRaster()将对象保存到文件时将其编码到geotif中。我试图按照raster()函数的帮助文件中的指示指定CRS,但它返回了一个未使用的参数错误,如下面的最小工作示例所示 为什么会失败?如何设置光栅的CRS library(raster) set.seed(2013) df <- data.frame( x = rep( 0:1, each=2 ), y =

我正在使用R中的光栅包创建光栅,我想明确指定光栅的坐标参考系(CRS),以便在使用writeRaster()将对象保存到文件时将其编码到geotif中。我试图按照raster()函数的帮助文件中的指示指定CRS,但它返回了一个未使用的参数错误,如下面的最小工作示例所示

为什么会失败?如何设置光栅的CRS

library(raster)
set.seed(2013)
df <- data.frame( x = rep( 0:1, each=2 ),
                  y = rep( 0:1,  2),
                  l = rnorm( 4 ))

spg <- df
coordinates(spg) <- ~ x + y
gridded(spg) <- TRUE

rasterDF <- raster(spg, crs="+proj=longlat +datum=WGS84")
# Error in .local(x, ...) : 
#   unused argument (crs = "+proj=longlat +datum=WGS84")
库(光栅)
种子集(2013)

df您可以使用
proj4string(spg)将投影设置为您的空间数据帧您可以使用
proj4string(spg)@tim riffe,感谢您捕获我对库调用的省略。它不起作用的原因是,当您尝试从
空间点数据帧创建光栅时,没有
crs
参数。如果您在“帮助”页面的“使用情况”列表中查找“光栅”
,您将看到您正在转换的每种类型的对象都有哪些参数可用。取而代之的是,按照@ialm的建议进行操作,或者使光栅不包含投影信息,并通过
projection(rasterDF)@tim riffe将其添加到后面,感谢您捕获我对库调用的省略。它不起作用的原因是,当您尝试从
空间点数据帧创建光栅时,没有
crs
参数。如果您在“帮助”页面的“使用情况”列表中查找“光栅”
,您将看到您正在转换的每种类型的对象都有哪些参数可用。相反,可以按照@ialm的建议进行操作,或者使光栅不包含投影信息,然后通过
投影(rasterDF)将其添加到后面
library(raster)
set.seed(2013)
df <- data.frame( x = rep( 0:1, each=2 ),
                  y = rep( 0:1,  2),
                  l = rnorm( 4 ))

spg <- df
coordinates(spg) <- ~ x + y
gridded(spg) <- TRUE

# Add the projection information to spg
proj4string(spg) <- "+proj=longlat +datum=WGS84"

rasterDF <- raster(spg)

# Check that it worked
rasterDF
# class       : RasterLayer 
# dimensions  : 2, 2, 4  (nrow, ncol, ncell)
# resolution  : 1, 1  (x, y)
# extent      : -0.5, 1.5, -0.5, 1.5  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
# data source : in memory
# names       : l 
# values      : -0.6674423, 1.360611  (min, max)