[R-sig-Geo] "subset" a large raster object

Don MacQueen macq at llnl.gov
Wed Jan 27 23:03:50 CET 2010


I have a SpatialGridDataFrame named tmp.lc [see below for part of the 
str() information on it] obtained by using readGDAL() on an image 
file.

I would like to subset it in the sense of finding the portions of the 
raster image that meet a defined criterion, so that I can use, for 
example, chull() to find a polygon that surrounds that portion of the 
raster.

For a relatively small object (150x150) I can do the job by 
converting to SpatialPointsDataFrame. Then subsetting is easly. See 
example below.

But when I go to the full 5100x5400 image the method fails due to 
insufficient memory. Similarly if I use rasterToPoints() from the 
raster package from R-forge.

I would appreciate suggestions for an alternative.
(perhaps GRASS, to which I have just a very small amount of exposure?)

Thanks
-Don


## start with object tmp.lc
ick <- SpatialPointsDataFrame(coordinates(tmp.lc), tmp.lc at data, 
proj4string=CRS(proj4string(tmp.lc)))
bah <- ick[ ick at data$band1 %in% 22:24 ,]


>  str(tmp.lc)
Formal class 'SpatialGridDataFrame' [package "sp"] with 6 slots
   ..@ data       :'data.frame': 22500 obs. of  1 variable:
   .. ..$ band1: int [1:22500] 11 11 11 11 11 11 11 11 11 11 ...
   ..@ grid       :Formal class 'GridTopology' [package "sp"] with 3 slots


>  str(bah)
Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
   ..@ data       :'data.frame': 4032 obs. of  1 variable:
   .. ..$ band1: int [1:4032] 22 22 22 22 22 22 22 22 22 23 ...


>  sessionInfo()
R version 2.10.1 (2009-12-14)
i386-apple-darwin8.11.1

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
  [1] raster_0.9.9-4  spatstat_1.17-5 deldir_0.0-11   mgcv_1.6-1 
rmacq_1.0-2     rgdal_0.6-12    maptools_0.7-29
  [8] lattice_0.17-26 sp_0.9-56       foreign_0.8-39

loaded via a namespace (and not attached):
[1] Matrix_0.999375-33 grid_2.10.1        nlme_3.1-96 
tcltk_2.10.1       tools_2.10.1


-- 
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062



More information about the R-sig-Geo mailing list