<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div>Hello list, </div><div><br></div><div>I'm just trying to use GRASS along with R for raster time series processing. </div><div><div>I'm using GRASS temporal modules (t.rast.export/t.rast.import) along with the functions available in spacetime package (read.tgrass and write.tgrass) to complete workflow... However, after finally being able of getting write.tgrass to work, t.rast.import does not do the job... So, I don't know where exactly the problem is...</div><div><br></div><div>The workflow I'm following is more or less like this:<br></div></div><div><br></div><div># GRASS (where I have my raster time series)</div><div>t.rast.export input=temperature output=test_export_temp.tar.bzip2<br></div><div><div># extract data to check it's fine</div><div>tar xvf test_export_temp.tar.bzip2 </div></div><div># check text files</div><div><div>cat list.txt ; cat proj.txt ; cat init.txt ; cat metadata.txt</div></div><div><br></div><div>(if i import it back into GRASS with t.rast.import in=test_export_temp.tar.bzip2 out=test_import_temp base=t_test directory=/tmp it works smoothly)</div><div><br></div><div>but, let's say I want to import it into R, do something there and get it back into GRASS. So, </div><div><br></div><div># In R</div><div><div>library(spacetime)<br></div><div>tgrass_test <- read.tgrass("test_export_temp.tar.bzip2")<br></div></div><div><div><br></div><div>dim(tgrass_test)</div><div>#[1] 135 150  12</div><div><br></div><div>class(tgrass_test)<br></div><div>#[1] "RasterStack"</div><div>#attr(,"package")</div><div>#[1] "raster"</div></div><div><br></div><div>when, trying to follow the example in the "spacetime package" manual, </div><div><div><br></div><div>> write.tgrass(tgrass_test, "myfile.tar.bzip2")</div><div>Error in .local(x, filename, ...) : </div><div>  filenames of source and target should be different</div><div><br></div><div># I changed map names (dunno if it makes sense) because of the previous error message</div><div>for (i in c(1:12)) name_tgrass[i]<-paste("layer_",i,sep="")</div><div>names(tgrass_test)<-name_tgrass</div><div><br></div><div>> write.tgrass(tgrass_test, "myfile.tar.bzip2")</div><div>tar: .: file changed as we read it</div><div><br></div><div>> getwd()</div><div>[1] "/tmp/RtmplJyK2L"</div><div><br></div><div># the file is created anyway... but when i try to import the created .tar.bzip2 into GRASS again, I get:</div><div><br></div><div>GRASS 7.1.svn (nc_spm_08_grass7):~ > t.rast.import input=/tmp/RtmplJyK2L/myfile.tar.bzip2 out=tgrass_import basename=t_test_2 directory=/tmp/RtmplJyK2L</div><div>Traceback (most recent call last):</div><div>  File "/home/veroandreo/software/grass-7.1.svn/dist.x86_64-unknown-linux-gnu/scripts/t.rast.import", line 123, in <module></div><div>    main()</div><div>  File "/home/veroandreo/software/grass-7.1.svn/dist.x86_64-unknown-linux-gnu/scripts/t.rast.import", line 119, in main</div><div>    set_current_region)</div><div>  File "/home/veroandreo/software/grass-7.1.svn/dist.x86_64-unknown-linux-gnu/etc/python/grass/temporal/stds_import.py", line 216, in import_stds</div><div>    gscript.fatal(_("Unable to find init file <%s>") % init_file_name)</div><div>  File "/home/veroandreo/software/grass-7.1.svn/dist.x86_64-unknown-linux-gnu/etc/python/grass/script/core.py", line 643, in fatal</div><div>    raise ScriptError(msg)</div><div>grass.exceptions.ScriptError: Unable to find init file <init.txt></div><div><br></div><div>When I check the .tar.bzip2 file, the init.txt file is in fact there, but also the original maps... Can anybody explain how it is supposed to work?? Or what I'm doing wrong? I attach the .tar.bzip2 file I get with t.rast.export</div></div><div><br></div><div>I was wondering if there was any chance to include support for reading/writing spatio-temporal data sets in rgrass7, and make this kind of workflows a bit smoother, besides saving time and disk space... A somehow equivalent structure for GRASS raster data sets, but in R might be STFDF from spacetime package, "A class for spatio-temporal data with full space-time grid; for n spatial locations and m times, n x m observations are available", maybe it can be recycled??</div><div><br></div><div>I'm using GRASS GIS 7.1 r65947 and R 3.2.1 under Fedora 21.<br></div><div><br></div><div>Thanks a lot!!!<br></div><div><br></div><div>Cheers,</div><div>Vero</div><div><br></div><div>ps: sorry for double posting :)</div></div>
</div><br></div>