[R-sig-Geo] Plot spatial time series

Matthew Landis landis at isciences.com
Fri Jun 8 20:39:59 CEST 2012


Thiago,

It's not clear to me exactly what your plot would represent.  Is it the 
average of the whole scene? One pixel?

Assuming you're plotting 1 value per raster, I wouldn't try to stack all 
506 files.  I would read one at a time, summarize the values and put 
them into a dataframe.  Here's an idea of what I would try:

temp.df <- data.frame(date = rep(NA, length(files)), lai = NA)
for ( f in files ){
     cat('Reading file: ', f, '\n')
     tmp.df$date <- regmatches(f, regexpr('[0-9]{7}', f))
     tmp.df$lai <- mean(getValues(r), na.rm = TRUE)
}

You could convert date to a Date object, but I don't know off the top of 
my head how to deal with Julian days.

More simply, you could say tmp.df$date <- as.numeric(tmp.df$date), and 
plot would treat it approximately correctly.

Finish up with:

with(tmp.df, plot(date, lai))

Matt

On 6/8/2012 2:10 PM, Thiago Veloso wrote:
>    Dear all,
>
>    I have 506 netcdf files representing a time series of leaf index area estimated by MODIS, starting from 01jan/2001 and with increment of 8 days. Dates are in the name of the file and are presented in julian format. Together, files reach 35GB. Please see below how I load the files:
>
>> library (raster)
>> files<- list.files(pattern='lai*')
>> files
>    [1] "lai2001001.nc" "lai2001009.nc" "lai2001017.nc" "lai2001025.nc"
>    [5] "lai2001033.nc" "lai2001041.nc" "lai2001049.nc" "lai2001057.nc"
>    [9] "lai2001065.nc" "lai2001073.nc" "lai2001081.nc" "lai2001089.nc"
>   [13] "lai2001097.nc" "lai2001105.nc" "lai2001113.nc" "lai2001121.nc"
>   [17] "lai2001129.nc" "lai2001137.nc" "lai2001145.nc" "lai2001153.nc"
>   [21] "lai2001161.nc" "lai2001169.nc" "lai2001177.nc" "lai2001185.nc"
>   [25] "lai2001193.nc" "lai2001201.nc" "lai2001209.nc" "lai2001217.nc"
>   [29] "lai2001225.nc" "lai2001233.nc" "lai2001241.nc" "lai2001249.nc"
>   [33] "lai2001257.nc" "lai2001265.nc" "lai2001273.nc" "lai2001281.nc"
>   [37] "lai2001289.nc" "lai2001297.nc" "lai2001305.nc" "lai2001313.nc"
>   [41] "lai2001321.nc" "lai2001329.nc" "lai2001337.nc" "lai2001345.nc"
>   [45] "lai2001353.nc" "lai2001361.nc" "lai2002001.nc" "lai2002009.nc"
>   [49] "lai2002017.nc" "lai2002025.nc" "lai2002033.nc" "lai2002041.nc"
>   [53] "lai2002049.nc" "lai2002057.nc" "lai2002065.nc" "lai2002073.nc"
>   [57] "lai2002081.nc" "lai2002089.nc" "lai2002097.nc" "lai2002105.nc"
>   [61] "lai2002113.nc" "lai2002121.nc" "lai2002129.nc" "lai2002137.nc"
>   [65] "lai2002145.nc" "lai2002153.nc" "lai2002161.nc" "lai2002169.nc"
>   [69] "lai2002177.nc" "lai2002185.nc" "lai2002193.nc" "lai2002201.nc"
>   [73] "lai2002209.nc" "lai2002217.nc" "lai2002225.nc" "lai2002233.nc"
>   [77] "lai2002241.nc" "lai2002249.nc" "lai2002257.nc" "lai2002265.nc"
>   [81] "lai2002273.nc" "lai2002281.nc" "lai2002289.nc" "lai2002297.nc"
>   [85] "lai2002305.nc" "lai2002313.nc" "lai2002321.nc" "lai2002329.nc"
>   [89] "lai2002337.nc" "lai2002345.nc" "lai2002353.nc" "lai2002361.nc"
>   [93] "lai2003001.nc" "lai2003009.nc" "lai2003017.nc" "lai2003025.nc"
>   [97] "lai2003033.nc" "lai2003041.nc" "lai2003049.nc" "lai2003057.nc"
> [101] "lai2003065.nc" "lai2003073.nc" "lai2003081.nc" "lai2003089.nc"
> [105] "lai2003097.nc" "lai2003105.nc" "lai2003113.nc" "lai2003121.nc"
> [109] "lai2003129.nc" "lai2003137.nc" "lai2003145.nc" "lai2003153.nc"
> [113] "lai2003161.nc" "lai2003169.nc" "lai2003177.nc" "lai2003185.nc"
> [117] "lai2003193.nc" "lai2003201.nc" "lai2003209.nc" "lai2003217.nc"
> [121] "lai2003225.nc" "lai2003233.nc" "lai2003241.nc" "lai2003249.nc"
> [125] "lai2003257.nc" "lai2003265.nc" "lai2003273.nc" "lai2003281.nc"
> [129] "lai2003289.nc" "lai2003297.nc" "lai2003305.nc" "lai2003313.nc"
> [133] "lai2003321.nc" "lai2003329.nc" "lai2003337.nc" "lai2003345.nc"
> [137] "lai2003353.nc" "lai2003361.nc" "lai2004001.nc" "lai2004009.nc"
> [141] "lai2004017.nc" "lai2004025.nc" "lai2004033.nc" "lai2004041.nc"
> [145] "lai2004049.nc" "lai2004057.nc" "lai2004065.nc" "lai2004073.nc"
> [149] "lai2004081.nc" "lai2004089.nc" "lai2004097.nc" "lai2004105.nc"
> [153] "lai2004113.nc" "lai2004121.nc" "lai2004129.nc" "lai2004137.nc"
> [157] "lai2004145.nc" "lai2004153.nc" "lai2004161.nc" "lai2004169.nc"
> [161] "lai2004177.nc" "lai2004185.nc" "lai2004193.nc" "lai2004201.nc"
> [165] "lai2004209.nc" "lai2004217.nc" "lai2004225.nc" "lai2004233.nc"
> [169] "lai2004241.nc" "lai2004249.nc" "lai2004257.nc" "lai2004265.nc"
> [173] "lai2004273.nc" "lai2004281.nc" "lai2004289.nc" "lai2004297.nc"
> [177] "lai2004305.nc" "lai2004313.nc" "lai2004321.nc" "lai2004329.nc"
> [181] "lai2004337.nc" "lai2004345.nc" "lai2004353.nc" "lai2004361.nc"
> [185] "lai2005001.nc" "lai2005009.nc" "lai2005017.nc" "lai2005025.nc"
> [189] "lai2005033.nc" "lai2005041.nc" "lai2005049.nc" "lai2005057.nc"
> [193] "lai2005065.nc" "lai2005073.nc" "lai2005081.nc" "lai2005089.nc"
> [197] "lai2005097.nc" "lai2005105.nc" "lai2005113.nc" "lai2005121.nc"
> [201] "lai2005129.nc" "lai2005137.nc" "lai2005145.nc" "lai2005153.nc"
> [205] "lai2005161.nc" "lai2005169.nc" "lai2005177.nc" "lai2005185.nc"
> [209] "lai2005193.nc" "lai2005201.nc" "lai2005209.nc" "lai2005217.nc"
> [213] "lai2005225.nc" "lai2005233.nc" "lai2005241.nc" "lai2005249.nc"
> [217] "lai2005257.nc" "lai2005265.nc" "lai2005273.nc" "lai2005281.nc"
> [221] "lai2005289.nc" "lai2005297.nc" "lai2005305.nc" "lai2005313.nc"
> [225] "lai2005321.nc" "lai2005329.nc" "lai2005337.nc" "lai2005345.nc"
> [229] "lai2005353.nc" "lai2005361.nc" "lai2006001.nc" "lai2006009.nc"
> [233] "lai2006017.nc" "lai2006025.nc" "lai2006033.nc" "lai2006041.nc"
> [237] "lai2006049.nc" "lai2006057.nc" "lai2006065.nc" "lai2006073.nc"
> [241] "lai2006081.nc" "lai2006089.nc" "lai2006097.nc" "lai2006105.nc"
> [245] "lai2006113.nc" "lai2006121.nc" "lai2006129.nc" "lai2006137.nc"
> [249] "lai2006145.nc" "lai2006153.nc" "lai2006161.nc" "lai2006169.nc"
> [253] "lai2006177.nc" "lai2006185.nc" "lai2006193.nc" "lai2006201.nc"
> [257] "lai2006209.nc" "lai2006217.nc" "lai2006225.nc" "lai2006233.nc"
> [261] "lai2006241.nc" "lai2006249.nc" "lai2006257.nc" "lai2006265.nc"
> [265] "lai2006273.nc" "lai2006281.nc" "lai2006289.nc" "lai2006297.nc"
> [269] "lai2006305.nc" "lai2006313.nc" "lai2006321.nc" "lai2006329.nc"
> [273] "lai2006337.nc" "lai2006345.nc" "lai2006353.nc" "lai2006361.nc"
> [277] "lai2007001.nc" "lai2007009.nc" "lai2007017.nc" "lai2007025.nc"
> [281] "lai2007033.nc" "lai2007041.nc" "lai2007049.nc" "lai2007057.nc"
> [285] "lai2007065.nc" "lai2007073.nc" "lai2007081.nc" "lai2007089.nc"
> [289] "lai2007097.nc" "lai2007105.nc" "lai2007113.nc" "lai2007121.nc"
> [293] "lai2007129.nc" "lai2007137.nc" "lai2007145.nc" "lai2007153.nc"
> [297] "lai2007161.nc" "lai2007169.nc" "lai2007177.nc" "lai2007185.nc"
> [301] "lai2007193.nc" "lai2007201.nc" "lai2007209.nc" "lai2007217.nc"
> [305] "lai2007225.nc" "lai2007233.nc" "lai2007241.nc" "lai2007249.nc"
> [309] "lai2007257.nc" "lai2007265.nc" "lai2007273.nc" "lai2007281.nc"
> [313] "lai2007289.nc" "lai2007297.nc" "lai2007305.nc" "lai2007313.nc"
> [317] "lai2007321.nc" "lai2007329.nc" "lai2007337.nc" "lai2007345.nc"
> [321] "lai2007353.nc" "lai2007361.nc" "lai2008001.nc" "lai2008009.nc"
> [325] "lai2008017.nc" "lai2008025.nc" "lai2008033.nc" "lai2008041.nc"
> [329] "lai2008049.nc" "lai2008057.nc" "lai2008065.nc" "lai2008073.nc"
> [333] "lai2008081.nc" "lai2008089.nc" "lai2008097.nc" "lai2008105.nc"
> [337] "lai2008113.nc" "lai2008121.nc" "lai2008129.nc" "lai2008137.nc"
> [341] "lai2008145.nc" "lai2008153.nc" "lai2008161.nc" "lai2008169.nc"
> [345] "lai2008177.nc" "lai2008185.nc" "lai2008193.nc" "lai2008201.nc"
> [349] "lai2008209.nc" "lai2008217.nc" "lai2008225.nc" "lai2008233.nc"
> [353] "lai2008241.nc" "lai2008249.nc" "lai2008257.nc" "lai2008265.nc"
> [357] "lai2008273.nc" "lai2008281.nc" "lai2008289.nc" "lai2008297.nc"
> [361] "lai2008305.nc" "lai2008313.nc" "lai2008321.nc" "lai2008329.nc"
> [365] "lai2008337.nc" "lai2008345.nc" "lai2008353.nc" "lai2008361.nc"
> [369] "lai2009001.nc" "lai2009009.nc" "lai2009017.nc" "lai2009025.nc"
> [373] "lai2009033.nc" "lai2009041.nc" "lai2009049.nc" "lai2009057.nc"
> [377] "lai2009065.nc" "lai2009073.nc" "lai2009081.nc" "lai2009089.nc"
> [381] "lai2009097.nc" "lai2009105.nc" "lai2009113.nc" "lai2009121.nc"
> [385] "lai2009129.nc" "lai2009137.nc" "lai2009145.nc" "lai2009153.nc"
> [389] "lai2009161.nc" "lai2009169.nc" "lai2009177.nc" "lai2009185.nc"
> [393] "lai2009193.nc" "lai2009201.nc" "lai2009209.nc" "lai2009217.nc"
> [397] "lai2009225.nc" "lai2009233.nc" "lai2009241.nc" "lai2009249.nc"
> [401] "lai2009257.nc" "lai2009265.nc" "lai2009273.nc" "lai2009281.nc"
> [405] "lai2009289.nc" "lai2009297.nc" "lai2009305.nc" "lai2009313.nc"
> [409] "lai2009321.nc" "lai2009329.nc" "lai2009337.nc" "lai2009345.nc"
> [413] "lai2009353.nc" "lai2009361.nc" "lai2010001.nc" "lai2010009.nc"
> [417] "lai2010017.nc" "lai2010025.nc" "lai2010033.nc" "lai2010041.nc"
> [421] "lai2010049.nc" "lai2010057.nc" "lai2010065.nc" "lai2010073.nc"
> [425] "lai2010081.nc" "lai2010089.nc" "lai2010097.nc" "lai2010105.nc"
> [429] "lai2010113.nc" "lai2010121.nc" "lai2010129.nc" "lai2010137.nc"
> [433] "lai2010145.nc" "lai2010153.nc" "lai2010161.nc" "lai2010169.nc"
> [437] "lai2010177.nc" "lai2010185.nc" "lai2010193.nc" "lai2010201.nc"
> [441] "lai2010209.nc" "lai2010217.nc" "lai2010225.nc" "lai2010233.nc"
> [445] "lai2010241.nc" "lai2010249.nc" "lai2010257.nc" "lai2010265.nc"
> [449] "lai2010273.nc" "lai2010281.nc" "lai2010289.nc" "lai2010297.nc"
> [453] "lai2010305.nc" "lai2010313.nc" "lai2010321.nc" "lai2010329.nc"
> [457] "lai2010337.nc" "lai2010345.nc" "lai2010353.nc" "lai2010361.nc"
> [461] "lai2011001.nc" "lai2011009.nc" "lai2011017.nc" "lai2011025.nc"
> [465] "lai2011033.nc" "lai2011041.nc" "lai2011049.nc" "lai2011057.nc"
> [469] "lai2011065.nc" "lai2011073.nc" "lai2011081.nc" "lai2011089.nc"
> [473] "lai2011097.nc" "lai2011105.nc" "lai2011113.nc" "lai2011121.nc"
> [477] "lai2011129.nc" "lai2011137.nc" "lai2011145.nc" "lai2011153.nc"
> [481] "lai2011161.nc" "lai2011169.nc" "lai2011177.nc" "lai2011185.nc"
> [485] "lai2011193.nc" "lai2011201.nc" "lai2011209.nc" "lai2011217.nc"
> [489] "lai2011225.nc" "lai2011233.nc" "lai2011241.nc" "lai2011249.nc"
> [493] "lai2011257.nc" "lai2011265.nc" "lai2011273.nc" "lai2011281.nc"
> [497] "lai2011289.nc" "lai2011297.nc" "lai2011305.nc" "lai2011313.nc"
> [501] "lai2011321.nc" "lai2011329.nc" "lai2011337.nc" "lai2011345.nc"
> [505] "lai2011353.nc" "lai2011361.nc"
>
>    Below is the sample of a unique file:
>
>> r<- raster(files[1])
> Loading required package: ncdf
>
>> r
> class       : RasterLayer
> dimensions  : 4361, 4342, 18935462  (nrow, ncol, ncell)
> resolution  : 0.00898, 0.00898  (x, y)
> extent      : -73.8467, -34.85554, -33.7775, 5.38428  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=longlat +datum=WGS84
> values      : /mnt/disco3/MODIS/MOSAIC/LAI/netcdf/lai2001001.nc
> layer name  : variable
> zvar        : lai_modis
>
>    The only indication of date in these files is the name: no date information is present in the header of the netcdf.
>
>    What I need to do is to plot a time series of these files taking into account the date. In this figure, the x-axis would be the date and the y-axis would show LAI values. I know how to loop over files (thanks Robert), but I do not know how to plot the data sequentially.
>
>> years<- substr(files, 4, 7)
>> for (y in 2001:2011) {
>     f<- files[ years == y ]
>     s<- stack(f)
> }
>
>    Any tips on how to plot the entire series in on single plot? I appreciate any help.
>
>    Thanks in advance,
>    Thiago.
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~
Matthew Landis, Ph.D.
Research Scientist
ISciences, LLC
61 Main St. Suite 200
Burlington VT 05401
802.864.2999
www.isciences.com
~~~~~~~~~~~~~~~~~~~~~~~~~~



More information about the R-sig-Geo mailing list