[R-sig-Geo] write.tgrass (spacetime) does not work for any RasterStack

Vijay Lulla vijaylulla at gmail.com
Tue Sep 6 21:19:24 CEST 2016


You can use the function `setZ` from raster package to set z (here "time")
attribute.  Please see ?`setZ`.


On Tue, Sep 6, 2016 at 2:43 PM, Veronica Andreo <veroandreo at gmail.com>
wrote:

> Hello
>
> I'm working with raster time series in GRASS, but I needed to apply a
> gap-filling function available in R (dineof in the package sinkr).
> Exporting the time series from GRASS and importing into R went fine... I
> did all the processing which implies transforming the raster time series
> into a matrix, run dineof and then rebuild the RasterStack... And here is
> the problem... write.tgrass does not work with this rebuilt RasterStack
>
> I get this error:
>
> write.tgrass(tempmean_new_rs, "tempmean_new_from_R.tar.gzip")
> Error in data.frame(names(obj), start.time, end.time) : arguments imply
> differing number of rows: 156, 0
>
> write.tgrass does work however with the RasterStack imported and read with
> read.tgrass. So, I compared both RasterStacks:
>
> ### the one imported from GRASS (without any change):
> > test
> class       : RasterStack
> dimensions  : 104, 139, 14456, 156  (nrow, ncol, ncell, nlayers)
> resolution  : 500, 500  (x, y)
> extent      : 624500, 694000, 208500, 260500  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
> +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
> +rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1
> names       : X2000_01_tempmean, X2000_02_tempmean, X2000_03_tempmean,
> X2000_04_tempmean, X2000_05_tempmean, X2000_06_tempmean, X2000_07_tempmean,
> X2000_08_tempmean, X2000_09_tempmean, X2000_10_tempmean, X2000_11_tempmean,
> X2000_12_tempmean, X2001_01_tempmean, X2001_02_tempmean, X2001_03_tempmean,
> ...
> time        : 2000-01-01 - 2012-12-01 (range)
>
> ### the one I re-constructed after doing my processing
> > tempmean_new_rs
> class       : RasterStack
> dimensions  : 104, 139, 14456, 156  (nrow, ncol, ncell, nlayers)
> resolution  : 500, 500  (x, y)
> extent      : 624500, 694000, 208500, 260500  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
> +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
> +rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1
> names       :    layer.1,    layer.2,    layer.3,    layer.4,    layer.5,
>  layer.6,    layer.7,    layer.8,    layer.9,   layer.10,   layer.11,
> layer.12,   layer.13,   layer.14,   layer.15, ...
> min values  :  2.8337839,  6.4129490, 11.2577566, 13.2967885, 20.4898198,
> 24.3399993, 24.2426851, 24.0908008, 20.4639886, 14.9326849,  7.8406800,
>  0.6784587,  3.0555789,  6.4902200,  7.4145889, ...
> max values  :   4.496206,   8.090485,  12.699460,  14.956419,  21.605554,
>  25.174480,  25.044242,  24.839163,  21.734339,  16.165316,   9.309428,
> 2.563087,   4.884175,   8.479331,   9.218642, ...
>
> All the same, *except for the time attribute* that the one read from GRASS
> has and the one I rebuilt doesn't. Maybe there's the problem? How do I add
> this time attribute to my RasterStack so that write.tgrass creates the
>  file I need to import directly into GRASS as a raster time series???
>
> Thanks a lot for any hint!
>
> Best,
> Vero
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list