Question

I'm having trouble rasterizing a shapefile using the raster package in R.

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")

The following error is returned:

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

Can anyone see what I'm missing/screwing up here?

Thanks

Was it helpful?

Solution

This is a bug that happens when the SpatialPolygonsDataFrame object only has a single geometry. Here is a work-around:

  zoneRas <- rasterize(shp, r, shp$GID)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top