Hi Vero,

Thank you for your response. The only issue I have running the EOF in R is the 
data size.

My raster stack is a MODIS time series.
> stk
class       : RasterStack
dimensions  : 2423, 2470, 5984810, 690  (nrow, ncol, ncell, nlayers)
resolution  : 499.9339, 499.9718  (x, y)
extent      : -85163.44, 1149673, 5656775, 6868207  (xmin, xmax, ymin, ymax)
coord. ref. : NA
names       : X2001.01.01, X2001.01.09, X2001.01.17, X2001.01.25, X2001.02.02, 
X2001.02.10, X2001.02.18, X2001.02.26, X2001.03.06, X2001.03.14, X2001.03.22, 
X2001.03.30, X2001.04.07, X2001.04.15, X2001.04.23, ...
min values  :           0,           0,           0,           0,           0,  
         0,           0,           0,           0,           0,           0,    
       0,           0,           0,           0, ...
max values  :         100,         100,         100,         100,         100,  
       100,         100,         100,         100,         100,         100,    
     100,         100,         100,         100, ...

The size of raster stack is ~8 mb.
>object.size(stk)
8699416 bytes

But, when I try to export it to a table, it becomes several GBs, which is too 
much for my desktop. (Though, my desktop has ~32 GB RAM with 8 cores)

Therefore, I am looking for the possibility of running i.pca but on transposed 
raster time series stack.

I am motivated by the nice grasswiki on PCA which compares the i.pca outputs 
against the R equivalent functions.
https://grasswiki.osgeo.org/wiki/Principal_Components_Analysis

I would appreciate any help on this.

Cheers,

Shiva


From: Veronica Andreo <[email protected]>
Sent: Friday, July 13, 2018 1:40 AM
To: [email protected]
Cc: grass-user <[email protected]>
Subject: Re: [GRASS-user] About Spatial PCA in GRASS

Hi Shiva,
El jue., 12 jul. 2018 a las 2:45, Shiva Khanal 
(<[email protected]<mailto:[email protected]>>) escribió:
Hi,

I am interested to run the spatial-mode PCA on raster time series. In R it is 
implemented as an ‘EOF’ function in spacetime Package. The function transposes 
the raster stack and applies ‘prcomp’ function.  I would like to know if there 
is any possible way to implement i.pca similar to this approach.

Interestingly, I found a very good tutorial on GRASS raster time series at 
https://grasswiki.osgeo.org/wiki/Temporal_data_processing/GRASS_R_raster_time_series_processing
 This includes the example using spacetime package to read GRASS raster time 
series into R.

there's also an alternative way to export raster time series from GRASS that 
was not there at the moment of creating the wiki: the add-on 
t.rast.out.xyz<http://t.rast.out.xyz> [0] that produces a table with xy 
coordinates and all dates in columns. You can then import that into R, 
transpose and run prcomp, EOF or others. Do you want it for gap-filling?

If you dare to implement EOF in GRASS, please go ahead!! I will be very happy 
to test and provide feedback, I've been wishing for such a thing (and also 
DINEOF) for a while :)

Maybe the devs can provide hints and advice on how to address it.

Best,
Vero

[0] https://grass.osgeo.org/grass74/manuals/addons/t.rast.out.xyz.html

_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to