[R-spatial-devel] [STATSGRASS] speed of GRASS/R interface

Carlos "Guâno" Grohmann carlos.grohmann at gmail.com
Mon Oct 8 13:50:35 EDT 2007


Hi,

I just downloaded/compiled/installed the current sourceforge CVS for
sp and spgrass6, and it's WAY faster than before.

thanks, Roger!

Carlos


On 10/6/07, Roger Bivand <Roger.Bivand at nhh.no> wrote:
> Hi,
>
> Modification also committed in sp on sourceforge, speedup from from ~ 12
> minutes to 6.5 seconds on a 900 by 3600 raster, and no memory explosion.
> I'm seeing similar speedups in rgdal. Still no idea why - a change in the
> methods package? When we release a fresh sp, the need for special fixes
> will go away, I hope.
>
> Could somebody try the current sourceforge CVS of sp and see if you see
> the same speedup? May need to wait for the anonymous CVS to synch.
>
> Best wishes,
>
> Roger
>
>
> On Sat, 6 Oct 2007, Roger Bivand wrote:
>
> > On Sat, 6 Oct 2007, jarekj at amu.edu.pl wrote:
> >
> >>
> >>  Roger!
> >>
> >>  I also notice that of Carlos wrote.
> >>
> >>  That hangs not occured when spgrass6 was based on r.out.ascii instead of
> >>  binary input-output and in fact it was realably faster. Maybe back to
> >>  previouis solution be good temporal solution. I also exchange data
> >>  between grass and R very often so that hang make me sometimes inpatient
> >>
> >>  greetengs and regards
> >>  Jarek
> >
> > The problem is in new("SpatialGrid", SPix):
> >
> > library(sp)
> > sessionInfo()
> > cellcentre.offset <- c(-16.821667, 13.060307)
> > cellsize <- c(0.000833, 0.000833)
> > cells.dim <- c(3629.000000, 921.00000)
> > grd <- GridTopology(cellcentre.offset, cellsize, cells.dim)
> > pts <- sp:::boguspoints(grd)
> > pts at bbox[,1] = pts at bbox[,1] - 0.5 * grd at cellsize
> > pts at bbox[,2] = pts at bbox[,2] + 0.5 * grd at cellsize
> > proj4string(pts) = CRS(paste("+proj=longlat +a=6378137 +rf=298.257223563",
> >  "+no_defs +towgs84=0.000,0.000,0.000"))
> > SPix <- new("SpatialPixels", pts, grid = grd, grid.index = integer(0))
> > SG <- new("SpatialGrid", SPix)
> >
> > with rapidly increasing memory use. I have no idea why. My system:
> >
> >>  sessionInfo()
> > R version 2.6.0 (2007-10-03)
> > i686-pc-linux-gnu
> >
> > locale:
> > LC_CTYPE=en_GB;LC_NUMERIC=C;LC_TIME=en_GB;LC_COLLATE=en_GB;LC_MONETARY=en_GB;LC_MESSAGES=en_GB;LC_PAPER=en_GB;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_GB;LC_IDENTIFICATION=C
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] sp_0.9-14
> >
> > loaded via a namespace (and not attached):
> > [1] grid_2.6.0      lattice_0.16-5  rcompgen_0.1-15
> >
> > and the message after Ctrl-C:
> >
> > Error in coordinates(coords) :
> >  error in evaluating the argument 'obj' in selecting a method for function
> > 'coordinates'
> > Error in bbox(object) :
> >   error in evaluating the argument 'obj' in selecting a method for function
> >   'bbox'
> >
> > which makes me suspect that the new() is (now?) going to completely senseless
> > places. This has the same effect:
> >
> > sG <- new("SpatialGrid", bbox=pts at bbox, proj4string=pts at proj4string,
> >   coords=pts at coords, grid=grd, grid.index=integer(0))
> >
> > unfortunately. It also impacts the rgdal route, because its call to make the
> > output SGDF is the same.
> >
> > However, replacing the call to new("SpatialGrid", ...) to one of building an
> > empty object with just new(), and stuffing the slots manually with slot() <-
> > reduces import from over 12 minutes to 6 seconds (!). Perhaps the problem is
> > that S4 classes have got "cleverer" and dislike the definition of SpatialGrid
> > as only having a "SpatialPixels" representation?
> >
> > I have committed the very draft readRAST6() to CVS on sourceforge, but the
> > real solution needs doing in sp itself (end of the SpatialGrid() function in
> > SpatialGrid-methods.R).
> >
> > I'll carry on playing ...
> >
> > Roger
> >
> >
> >>
> >>
> >>  6/10/2007, "Roger Bivand" <Roger.Bivand at nhh.no> napisa?/a:
> >>
> >> >  On Tue, 2 Oct 2007, Carlos "Guâno" Grohmann wrote:
> >> >
> >> > >  I've been thinking about the time it takes to import a raster from
> >> > >  GRASS to
> >> > >  R. I have some rasters with about 2000 rows and 2500 columns.
> >> > >  importing
> >> > >  starts fine, creates the header, then goes to 100%, and it hangs there
> >> > >  for
> >> > >  about 10 minutes, before get ready for the next command.
> >> > >  Any way of decrease this waiting time?
> >> >
> >> >  I'm looking into this, as far as I can see as of now it is somewhere in
> >> >  the new("SpatialGridDataFrame", ...) call in
> >> >  res <- SpatialGridDataFrame(...) in readBinGrid(). Confusingly, the
> >> >  Rprof() output points at unlist() taking 90% of the total run time. I'll
> >> >  let you know where I get.
> >> >
> >> >  Roger
> >> >
> >> > >
> >> > >  cheers
> >> > >
> >> > >  Carlos
> >> > >
> >> > >
> >> >
> >> >  --
> >> >  Roger Bivand
> >> >  Economic Geography Section, Department of Economics, Norwegian School of
> >> >  Economics and Business Administration, Helleveien 30, N-5045 Bergen,
> >> >  Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
> >> >  e-mail: Roger.Bivand at nhh.no
> >>
> >
> >
>
> --
> Roger Bivand
> Economic Geography Section, Department of Economics, Norwegian School of
> Economics and Business Administration, Helleveien 30, N-5045 Bergen,
> Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
> e-mail: Roger.Bivand at nhh.no
>


-- 
+-----------------------------------------------------------+
              Carlos Henrique Grohmann - Guano
  Visiting Researcher at Kingston University London - UK
  Geologist M.Sc  - Doctorate Student at IGc-USP - Brazil
Linux User #89721  - carlos dot grohmann at gmail dot com
+-----------------------------------------------------------+
_________________
"Good morning, doctors. I have taken the liberty of removing Windows
95 from my hard drive."
--The winning entry in a "What were HAL's first words" contest judged
by 2001: A SPACE ODYSSEY creator Arthur C. Clarke

Can't stop the signal.




More information about the grass-stats mailing list