<div dir="ltr"><div><div><div><div><div><div>Hi Soeren<br><br></div>Thank you for the great addition; I tested with the test data and it works as expected. <br></div>I will let you know if I find something unusual when I apply the command on my data.<br><br><br></div>On the related topic, I have another query;<br></div>When I do t.rast.list with "method=gran" the "where" condition is not working. With all the other methods it works.<br><br></div>Based on the same demo data;<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">t.rast.list input=mapT3 column=name,start_time method=gran where="start_time > '2012-08-30 00:00:00'"<br><div style="margin-left:40px"><span style="color:rgb(0,0,255)">id|name|mapset|start_time|end_time|interval_length|distance_from_begin<br>map1@ecmwf|map1|ecmwf|2012-08-20 00:00:00|2012-08-21 00:00:00|1.0|0.0<br>gap_10_1@ecmwf|gap_10_1|ecmwf|2012-08-21 00:00:00|2012-08-22 00:00:00|1.0|1.0<br>map2@ecmwf|map2|ecmwf|2012-08-22 00:00:00|2012-08-23 00:00:00|1.0|2.0<br>gap_11_1@ecmwf|gap_11_1|ecmwf|2012-08-23 00:00:00|2012-08-24 00:00:00|1.0|3.0<br>gap_11_2@ecmwf|gap_11_2|ecmwf|2012-08-24 00:00:00|2012-08-25 00:00:00|1.0|4.0<br>map3@ecmwf|map3|ecmwf|2012-08-25 00:00:00|2012-08-26 00:00:00|1.0|5.0<br>gap_12_1@ecmwf|gap_12_1|ecmwf|2012-08-26 00:00:00|2012-08-27 00:00:00|1.0|6.0<br>gap_12_2@ecmwf|gap_12_2|ecmwf|2012-08-27 00:00:00|2012-08-28 00:00:00|1.0|7.0<br>gap_12_3@ecmwf|gap_12_3|ecmwf|2012-08-28 00:00:00|2012-08-29 00:00:00|1.0|8.0<br>map4@ecmwf|map4|ecmwf|2012-08-29 00:00:00|2012-08-30 00:00:00|1.0|9.0<br>gap_13_1@ecmwf|gap_13_1|ecmwf|2012-08-30 00:00:00|2012-08-31 00:00:00|1.0|10.0<br>gap_13_2@ecmwf|gap_13_2|ecmwf|2012-08-31 00:00:00|2012-09-01 00:00:00|1.0|11.0<br>gap_13_3@ecmwf|gap_13_3|ecmwf|2012-09-01 00:00:00|2012-09-02 00:00:00|1.0|12.0<br>gap_13_4@ecmwf|gap_13_4|ecmwf|2012-09-02 00:00:00|2012-09-03 00:00:00|1.0|13.0<br>map5@ecmwf|map5|ecmwf|2012-09-03 00:00:00|2012-09-04 00:00:00|1.0|14.0<br></span></div></blockquote><br></div>But when I change the method to any other type, say delta, it works<br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">t.rast.list input=mapT3 column=name,start_time method=delta where="start_time > '2012-08-30 00:00:00'"<br><div style="margin-left:40px"><span style="color:rgb(0,0,255)">id|name|mapset|start_time|end_time|interval_length|distance_from_begin<br>gap_13_2@ecmwf|gap_13_2|ecmwf|2012-08-31 00:00:00|2012-09-01 00:00:00|1.0|0.0<br>gap_13_3@ecmwf|gap_13_3|ecmwf|2012-09-01 00:00:00|2012-09-02 00:00:00|1.0|1.0<br>gap_13_4@ecmwf|gap_13_4|ecmwf|2012-09-02 00:00:00|2012-09-03 00:00:00|1.0|2.0<br>map5@ecmwf|map5|ecmwf|2012-09-03 00:00:00|2012-09-04 00:00:00|1.0|3.0<br></span></div><br></blockquote><div><br><div>Regards<br><br>Sajid<br></div><div><div><br><div><div><div><br><br></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 3:51 PM, Sören Gebbert <span dir="ltr"><<a href="mailto:soerengebbert@googlemail.com" target="_blank">soerengebbert@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Sajid,<br>
until today, t.rast.gapfill did not support interpolation by granularity.<br>
However, please try revision r64651 in grass7.1 trunk. This feature<br>
has now been implemented and should work as you would expect.<br>
Of course, heavily testing is still needed.<br>
<br>
I am still investigating the case when no gaps are found using the<br>
where condition.<br>
<br>
Best regards<br>
Soeren<br>
<div><div class="h5"><br>
2015-02-05 19:23 GMT+01:00 sajid pareeth <<a href="mailto:spareeth@gmail.com">spareeth@gmail.com</a>>:<br>
> Hi<br>
> I am trying to use the module "t.rast.gapfill" to fill the gaps in my<br>
> temporal datasets. I have couple of doubts on getting my tasks done.<br>
><br>
> I am using GRASS 71 svn, latest.<br>
><br>
> ##Q1:<br>
><br>
> In my temporal data , there are multiple continuous gaps. In this case, I am<br>
> not getting the interpolated results. Please check the below work flow:<br>
><br>
> r.mapcalc expr="map1 = 1" --o<br>
> r.mapcalc expr="map2 = 3" --o<br>
> r.mapcalc expr="map3 = 5" --o<br>
> r.mapcalc expr="map4 = 7" --o<br>
> r.mapcalc expr="map5 = 9" --o<br>
> t.register type=raster maps=map1 start=2012-08-20 end=2012-08-21 --o<br>
> t.register type=raster maps=map2 start=2012-08-22 end=2012-08-23 --o<br>
> t.register type=raster maps=map3 start=2012-08-25 end=2012-08-26 --o<br>
> t.register type=raster maps=map4 start=2012-08-29 end=2012-08-30 --o<br>
> t.register type=raster maps=map5 start=2012-09-03 end=2012-09-04 --o<br>
> t.create type=strds temporaltype=absolute output=mapT1 title="test for all<br>
> the gaps filled together" description="test for all the gaps filled<br>
> together"<br>
> t.register type=raster input=mapT1 maps=map1,map2,map3,map4,map5 --o<br>
> t.rast.list input=mapT1 columns=name,start_time,min,max<br>
> t.rast.list input=mapT1 method=gran<br>
> id|name|mapset|start_time|end_time|interval_length|distance_from_begin<br>
> map1@testtgrass|map1|testtgrass|2012-08-20 00:00:00|2012-08-21<br>
> 00:00:00|1.0|0.0<br>
> None|None|None|2012-08-21 00:00:00|2012-08-22 00:00:00|1.0|1.0<br>
> map2@testtgrass|map2|testtgrass|2012-08-22 00:00:00|2012-08-23<br>
> 00:00:00|1.0|2.0<br>
> None|None|None|2012-08-23 00:00:00|2012-08-24 00:00:00|1.0|3.0<br>
> None|None|None|2012-08-24 00:00:00|2012-08-25 00:00:00|1.0|4.0<br>
> map3@testtgrass|map3|testtgrass|2012-08-25 00:00:00|2012-08-26<br>
> 00:00:00|1.0|5.0<br>
> None|None|None|2012-08-26 00:00:00|2012-08-27 00:00:00|1.0|6.0<br>
> None|None|None|2012-08-27 00:00:00|2012-08-28 00:00:00|1.0|7.0<br>
> None|None|None|2012-08-28 00:00:00|2012-08-29 00:00:00|1.0|8.0<br>
> map4@testtgrass|map4|testtgrass|2012-08-29 00:00:00|2012-08-30<br>
> 00:00:00|1.0|9.0<br>
> None|None|None|2012-08-30 00:00:00|2012-08-31 00:00:00|1.0|10.0<br>
> None|None|None|2012-08-31 00:00:00|2012-09-01 00:00:00|1.0|11.0<br>
> None|None|None|2012-09-01 00:00:00|2012-09-02 00:00:00|1.0|12.0<br>
> None|None|None|2012-09-02 00:00:00|2012-09-03 00:00:00|1.0|13.0<br>
> map5@testtgrass|map5|testtgrass|2012-09-03 00:00:00|2012-09-04<br>
> 00:00:00|1.0|14.0<br>
><br>
> # Doing the gapfill:<br>
> t.rast.gapfill input=mapT1 base=gap<br>
> t.rast.list input=mapT1 method=gran<br>
> id|name|mapset|start_time|end_time|interval_length|distance_from_begin<br>
> map1@testtgrass|map1|testtgrass|2012-08-20 00:00:00|2012-08-21<br>
> 00:00:00|1.0|0.0<br>
> gap_10@testtgrass|gap_10|testtgrass|2012-08-21 00:00:00|2012-08-22<br>
> 00:00:00|1.0|1.0<br>
> map2@testtgrass|map2|testtgrass|2012-08-22 00:00:00|2012-08-23<br>
> 00:00:00|1.0|2.0<br>
> gap_11@testtgrass|gap_11|testtgrass|2012-08-23 00:00:00|2012-08-24<br>
> 00:00:00|1.0|3.0<br>
> gap_11@testtgrass|gap_11|testtgrass|2012-08-24 00:00:00|2012-08-25<br>
> 00:00:00|1.0|4.0<br>
> map3@testtgrass|map3|testtgrass|2012-08-25 00:00:00|2012-08-26<br>
> 00:00:00|1.0|5.0<br>
> gap_12@testtgrass|gap_12|testtgrass|2012-08-26 00:00:00|2012-08-27<br>
> 00:00:00|1.0|6.0<br>
> gap_12@testtgrass|gap_12|testtgrass|2012-08-27 00:00:00|2012-08-28<br>
> 00:00:00|1.0|7.0<br>
> gap_12@testtgrass|gap_12|testtgrass|2012-08-28 00:00:00|2012-08-29<br>
> 00:00:00|1.0|8.0<br>
> map4@testtgrass|map4|testtgrass|2012-08-29 00:00:00|2012-08-30<br>
> 00:00:00|1.0|9.0<br>
> gap_13@testtgrass|gap_13|testtgrass|2012-08-30 00:00:00|2012-08-31<br>
> 00:00:00|1.0|10.0<br>
> gap_13@testtgrass|gap_13|testtgrass|2012-08-31 00:00:00|2012-09-01<br>
> 00:00:00|1.0|11.0<br>
> gap_13@testtgrass|gap_13|testtgrass|2012-09-01 00:00:00|2012-09-02<br>
> 00:00:00|1.0|12.0<br>
> gap_13@testtgrass|gap_13|testtgrass|2012-09-02 00:00:00|2012-09-03<br>
> 00:00:00|1.0|13.0<br>
> map5@testtgrass|map5|testtgrass|2012-09-03 00:00:00|2012-09-04<br>
> 00:00:00|1.0|14.0<br>
><br>
> For example; between 2012-08-29 and 2012-09-03 there are 4 days of gap, but<br>
> the gap filling is providing the same image at all the 4 gaps. It seems to<br>
> be generating only one image between two valid temporal images, no matter<br>
> how long the gap is!!<br>
><br>
> So is the gap filling will work only for one gap between 2 valid temporal<br>
> images?<br>
><br>
><br>
> ###2.<br>
><br>
> When I try to do gap fill with the "where" condition, I am getting no<br>
> results in some cases.<br>
> For example when I try:<br>
><br>
> t.rast.gapfill input=mapT1 where="start_time = '2012-08-21 00:00:00'"<br>
> base=gap<br>
> No gaps found<br>
><br>
> OR when I try;<br>
><br>
> t.rast.gapfill input=mapT1 where="start_time > '2012-08-20 00:00:00'"<br>
> base=gap<br>
><br>
> It misses the first gap and fills the other gap, see below:<br>
><br>
> t.rast.list input=mapT1 method=gran<br>
> id|name|mapset|start_time|end_time|interval_length|distance_from_begin<br>
> map1@testtgrass|map1|testtgrass|2012-08-20 00:00:00|2012-08-21<br>
> 00:00:00|1.0|0.0<br>
> None|None|None|2012-08-21 00:00:00|2012-08-22 00:00:00|1.0|1.0<br>
> map2@testtgrass|map2|testtgrass|2012-08-22 00:00:00|2012-08-23<br>
> 00:00:00|1.0|2.0<br>
> gap_8@testtgrass|gap_8|testtgrass|2012-08-23 00:00:00|2012-08-24<br>
> 00:00:00|1.0|3.0<br>
> gap_8@testtgrass|gap_8|testtgrass|2012-08-24 00:00:00|2012-08-25<br>
> 00:00:00|1.0|4.0<br>
> map3@testtgrass|map3|testtgrass|2012-08-25 00:00:00|2012-08-26<br>
> 00:00:00|1.0|5.0<br>
> gap_9@testtgrass|gap_9|testtgrass|2012-08-26 00:00:00|2012-08-27<br>
> 00:00:00|1.0|6.0<br>
> gap_9@testtgrass|gap_9|testtgrass|2012-08-27 00:00:00|2012-08-28<br>
> 00:00:00|1.0|7.0<br>
> gap_9@testtgrass|gap_9|testtgrass|2012-08-28 00:00:00|2012-08-29<br>
> 00:00:00|1.0|8.0<br>
> map4@testtgrass|map4|testtgrass|2012-08-29 00:00:00|2012-08-30<br>
> 00:00:00|1.0|9.0<br>
> gap_10@testtgrass|gap_10|testtgrass|2012-08-30 00:00:00|2012-08-31<br>
> 00:00:00|1.0|10.0<br>
> gap_10@testtgrass|gap_10|testtgrass|2012-08-31 00:00:00|2012-09-01<br>
> 00:00:00|1.0|11.0<br>
> gap_10@testtgrass|gap_10|testtgrass|2012-09-01 00:00:00|2012-09-02<br>
> 00:00:00|1.0|12.0<br>
> gap_10@testtgrass|gap_10|testtgrass|2012-09-02 00:00:00|2012-09-03<br>
> 00:00:00|1.0|13.0<br>
> map5@testtgrass|map5|testtgrass|2012-09-03 00:00:00|2012-09-04<br>
> 00:00:00|1.0|14.0<br>
><br>
> Here it works if I give one day before the actual valid temporal image in<br>
> the where condition. So if I give "start_time > '2012-08-19 00:00:00'", the<br>
> first gap will also get filled. But It would be great if we can query on the<br>
> missing dates/time.<br>
><br>
> All suggestions welcome.<br>
><br>
> Thanks in advance<br>
><br>
> Regards<br>
><br>
> Sajid<br>
><br>
> --<br>
></div></div></blockquote></div></div></div>