在r中使用光栅包不会栅格化图层

时间:2013-06-25 15:18:50

标签: r raster rasterize

我在使用R中的光栅包光栅化shapefile时遇到了麻烦。

shp<-shapefile(ZoneShape);
lcRas<-raster(lcRaster);

r<-raster(ncol=ncol(lcRas), nrow=nrow(lcRas), crs=CRS);
res(r)<-res(lcRas);
extent(r)<-extent(lcRas);

>r

class       : RasterLayer 
dimensions  : 22610, 27959, 632152990  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 554739, 582698, 3837197, 3859807  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0

shp$GID<-1:nrow(shp);

> shp

class       : SpatialPolygonsDataFrame 
nfeatures   : 1 
extent      : 554838, 582597.6, 3837297, 3859707  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=15 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0 
nvariables  : 14
names       : SP_ID,              NAME, Shape_Leng, Shape_Area, GID

>zoneRas<-rasterize(shp, r, "GID")

返回以下错误:

trying to get slot "coords" from an object of a basic class ("NULL") with no slots.

任何人都可以看到我错过的东西/搞砸了吗?

由于

1 个答案:

答案 0 :(得分:2)

这是一个在SpatialPolygonsDataFrame对象只有一个几何体时发生的错误。这是一个解决方法:

  zoneRas <- rasterize(shp, r, shp$GID)