[R-sig-Geo] how to read in R a big raster of about 6 Gb
Massimo Bressan
mbressan at arpa.veneto.it
Fri Oct 16 13:37:00 CEST 2015
I do not understand exactly why but I had to pass through a preliminary
step by transforming the binary grid into an ascii grid format then read
it in R by means of readAsciiGrid(), package "maptools", and finally
convert it into a RasterLayer with the function raster() of the package
"rgdal"
after all that the extract() function was returning sensible results,
otherwise not at all (and I do not know why)
thank you all for your support
best regards
max
Il giorno Thu, 15/10/2015 alle 13.23 -0600, Dominik Schneider ha
scritto:
> I need finally to associate the DEM values with the levels
> represented by one of these fields:
> do you think is a good idea eliminating the not necessary
> fields?
> if you mean that you don't need information for all the polygons then
> yes, you should subset the spatialpolygonsdF. If you're just concerned
> about multiple attribute fields then I don't think it'll make a
> difference.
>
>
> I'm not quite sure I'm completely grasping your hint about
> values(DEM) <- 1:ncell(DEM)
> for speeding up the process
> DEMcopy=DEM
> values(DEMcopy) <- 1:ncell(DEMcopy)
> list_cells=extract(DEMcopy,sppolydF)
>
>
> list_cells will be a list with the cell numbers associated with each
> polygon in a separate list element. The initial extract() will not
> take less time, but it should be useful in the future, e.g. you could
> do
> poly1=list_cells[[1]]
> elev1=DEM[poly1]
>
>
>
>
> Another option I've had luck with is rasterizing polygons. Using the
> GDAL commandline utility gdal_rasterize you can convert the shape file
> of polygons to a classified raster. In R, you can then use zonal()
> with some aggregation function to get stats of DEM using your
> classified raster.
>
>
>
>
>
>
>
>
>
>
> On Thu, Oct 15, 2015 at 10:31 AM, Massimo Bressan
> <mbressan at arpa.veneto.it> wrote:
> hi, thanks for your prompt reply
>
> in fact by using raster() funciontion "reading" DEM is quite
> fast and
> also reading the polygons by readOGR() went quite smooth...
>
> the problem then come with the extract() function that is
> taking definitely too
> long...
>
> I'm not quite sure I'm completely grasping your hint about
> values(DEM) <- 1:ncell(DEM)
> for speeding up the process
>
> please also consider that the SpatialPolygonDataFrame that I
> readOGR() has 23 fields;
> I need finally to associate the DEM values with the levels
> represented by one of these fields:
> do you think is a good idea eliminating the not necessary
> fields?
>
> max
>
>
>
> Il giorno Thu, 15/10/2015 alle 09.26 -0600, Dominik Schneider
> ha
> scritto:
> > You can use the raster package, which will leave the values
> on disk
> > if they are too big for memory.
> > Use the function raster() to read the DEM, then use
> readOGR() to read
> > the polygon shape file. You can then use extract() to get
> statistics
> > on your DEM. I'm guessing it'll take a while to extract from
> disk, so
> > if you are planning to extract multiple times, you should
> consider
> > copying your DEM and setting the values equal to the cell
> numbers with
> > values(DEM) <- 1:ncell(DEM). Extract this once, keep track
> of which
> > cell numbers are in which polygon and then use the cell
> numbers to
> > index the DEM when you need values by polygon.
> > Hope this helps,
> > Dominik
> >
> >
> >
> > On Thu, Oct 15, 2015 at 9:07 AM, Massimo Bressan
> > <mbressan at arpa.veneto.it> wrote:
> > hi all
> >
> >
> > I need to perform a zonal statistics by overlapping
> a DEM
> > raster (ESRI
> > grid binary) with some polygons (ESRI polygons);
> >
> > the problem is that I first of all need to read the
> raster,
> > which is
> > quite big: about 6 Gbyte;
> >
> > I know about the function readGDAL() by the
> fantastic package
> > "rgdal"
> > which is usually working very well with smaller size
> files but
> > this time
> > I got completely stuck (the pc freezes invariably)
> >
> > do you have any advice on how to deal with such a
> problem (big
> > file)?
> >
> > thank you
> >
> > regards
> >
> > _______________________________________________
> > R-sig-Geo mailing list
> > R-sig-Geo at r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
> >
>
>
>
>
>
>
More information about the R-sig-Geo
mailing list