[GRASS-SVN] r49865 - in grass/trunk/temporal: t.create t.info t.sample tr.aggregate tr.aggregate.ds tr.export tr.import tr.register tr.to.rast3

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Dec 22 15:08:41 EST 2011


Author: huhabla
Date: 2011-12-22 12:08:41 -0800 (Thu, 22 Dec 2011)
New Revision: 49865

Added:
   grass/trunk/temporal/t.info/test.t.info.sh
Modified:
   grass/trunk/temporal/t.create/t.create.py
   grass/trunk/temporal/t.sample/test.t.sample.sh
   grass/trunk/temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh
   grass/trunk/temporal/tr.aggregate.ds/tr.aggregate.ds.py
   grass/trunk/temporal/tr.aggregate/test.tr.aggregate.sh
   grass/trunk/temporal/tr.aggregate/tr.aggregate.py
   grass/trunk/temporal/tr.export/tr.export.py
   grass/trunk/temporal/tr.import/test.tr.import.sh
   grass/trunk/temporal/tr.register/test.tr.register.sh
   grass/trunk/temporal/tr.to.rast3/test.tr.to.rast3.sh
Log:
Added sampling methods to aggregation modules


Modified: grass/trunk/temporal/t.create/t.create.py
===================================================================
--- grass/trunk/temporal/t.create/t.create.py	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/t.create/t.create.py	2011-12-22 20:08:41 UTC (rev 49865)
@@ -103,7 +103,7 @@
 
     if sp.is_in_db(dbif) and grass.overwrite() == False:
         dbif.close()
-        grass.fatal(_("Space time %s dataset <%s> is already in the database. Use the overwrite flag.") % name)
+        grass.fatal(_("Space time %s dataset <%s> is already in the database. Use the overwrite flag.") % (sp.get_new_map_instance(None).get_type(), name))
 
     if sp.is_in_db(dbif) and grass.overwrite() == True:
         grass.info(_("Overwrite space time %s dataset <%s> and unregister all maps.") % (sp.get_new_map_instance(None).get_type(), name))

Added: grass/trunk/temporal/t.info/test.t.info.sh
===================================================================
--- grass/trunk/temporal/t.info/test.t.info.sh	                        (rev 0)
+++ grass/trunk/temporal/t.info/test.t.info.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -0,0 +1,72 @@
+# Test the info output
+
+# We need to set a specific region in the
+# @preprocess step of this test. 
+g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
+
+r.mapcalc --o expr="prec_1 = rand(0, 550)"
+r.mapcalc --o expr="prec_2 = rand(0, 450)"
+
+r3.mapcalc --o expr="prec_1 = rand(0, 120)"
+r3.mapcalc --o expr="prec_2 = rand(0, 320)"
+
+v.random --o -z output=lidar_abs_1 n=20 zmin=0 zmax=100 column=height
+v.random --o -z output=lidar_abs_2 n=20 zmin=0 zmax=100 column=height
+
+# The first @test
+
+t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
+t.create --o type=strds temporaltype=absolute output=precip_abs2 title="A test" descr="A test"
+
+t.create --o type=str3ds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
+t.create --o type=str3ds temporaltype=absolute output=precip_abs2 title="A test" descr="A test"
+
+t.create --o type=stvds temporaltype=absolute output=lidar_abs_ds1 title="A test" descr="A test"
+t.create --o type=stvds temporaltype=absolute output=lidar_abs_ds2 title="A test" descr="A test"
+
+tr.register -i input=precip_abs1 maps=prec_1,prec_2 start="2001-01-01" increment="20 years"
+t.info type=strds input=precip_abs1
+t.info -g type=strds input=precip_abs1
+
+tr.register -i input=precip_abs2 maps=prec_1,prec_2 start="2001-01-01" increment="20 years"
+t.info type=strds input=precip_abs2
+t.info -g type=strds input=precip_abs2
+t.info type=rast input=prec_1
+t.info -g type=rast input=prec_1
+t.info type=rast input=prec_2
+t.info -g type=rast input=prec_2
+
+
+tr3.register -i input=precip_abs1 maps=prec_1,prec_2 start="2001-01-01" increment="20 years"
+t.info type=str3ds input=precip_abs1
+t.info -g type=str3ds input=precip_abs1
+
+tr3.register -i input=precip_abs2 maps=prec_1,prec_2 start="2001-01-01" increment="20 years"
+t.info type=str3ds input=precip_abs2
+t.info -g type=str3ds input=precip_abs2
+t.info type=rast3 input=prec_1
+t.info -g type=rast3 input=prec_1
+t.info type=rast3 input=prec_2
+t.info -g type=rast3 input=prec_2
+
+tv.register --v -i input=lidar_abs_ds1 maps=lidar_abs_1,lidar_abs_2 start="2001-01-01" increment="20 years"
+t.info type=stvds input=lidar_abs_ds1
+t.info -g type=stvds input=lidar_abs_ds1
+
+tv.register --v -i input=lidar_abs_ds2 maps=lidar_abs_1,lidar_abs_2 start="2001-01-01" increment="20 years"
+t.info type=stvds input=lidar_abs_ds2
+t.info -g type=stvds input=lidar_abs_ds2
+t.info type=vect input=lidar_abs_1
+t.info -g type=vect input=lidar_abs_1
+t.info type=vect input=lidar_abs_2
+t.info -g type=vect input=lidar_abs_2
+
+t.remove type=vect input=lidar_abs_1,lidar_abs_2
+t.remove type=stvds input=lidar_abs_ds1,lidar_abs_ds2
+
+t.remove type=rast input=prec_1,prec_2
+t.remove type=strds input=precip_abs1,precip_abs2
+
+t.remove type=rast3 input=prec_1,prec_2
+t.remove type=str3ds input=precip_abs1,precip_abs2
+

Modified: grass/trunk/temporal/t.sample/test.t.sample.sh
===================================================================
--- grass/trunk/temporal/t.sample/test.t.sample.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/t.sample/test.t.sample.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -55,9 +55,12 @@
 t.create --o type=stvds temporaltype=absolute output=pnts_abs0 title="A test with vector input files" descr="A test with vector input files"
 t.create --o type=stvds temporaltype=absolute output=pnts_abs1 title="A test with vector input files" descr="A test with vector input files"
 
-tr.register -i input=precip_abs0 file=$n1 start="2001-01-01" increment="1 months"
-tv.register    input=pnts_abs0 file=$n2 start=file end=file
-tv.register    input=pnts_abs1 file=$n3 start=file end=file
+tr.register -i input=precip_abs0 file="$n1" start="2001-01-01" increment="1 months"
+tr.list precip_abs0 -h
+tv.register    input=pnts_abs0 file="$n2" start=file end=file
+tv.list pnts_abs0 -h
+tv.register    input=pnts_abs1 file="$n3" start=file end=file
+tv.list pnts_abs1 -h
 
 # The @test
 t.sample method=equal   input=precip_abs0 samtype=stvds sample=pnts_abs0 -h
@@ -68,7 +71,8 @@
 
 
 # Test with temporal point data
-tr.register    input=precip_abs0 file=$n1 start="2001-01-01" increment="1 months"
+tr.register    input=precip_abs0 file="$n1" start="2001-01-01" increment="1 months"
+tr.list precip_abs0 -h
 t.sample input=precip_abs0 samtype=stvds sample=pnts_abs0 -h
 t.sample input=precip_abs0 samtype=stvds sample=pnts_abs1 -h
 

Modified: grass/trunk/temporal/tr.aggregate/test.tr.aggregate.sh
===================================================================
--- grass/trunk/temporal/tr.aggregate/test.tr.aggregate.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.aggregate/test.tr.aggregate.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -15,22 +15,18 @@
 r.mapcalc --o expr="prec_6 = rand(0, 650)"
 
 t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
-tr.register --v -i input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-15 12:05:45" increment="14 days"
+tr.register -i input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-15 12:05:45" increment="14 days"
 
 # The first @test
-# We create the space time raster inputs and register the raster maps with absolute time interval
 
-t.info type=strds input=precip_abs1
-
-tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="2 days" method=average
+tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="2 days" method=average sampling=start,during
 t.info type=strds input=precip_abs2
-tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="1 months" method=maximum
+tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="1 months" method=maximum sampling=start,during
 t.info type=strds input=precip_abs2
-tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="2 months" method=minimum
+tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="2 months" method=minimum sampling=start,during
 t.info type=strds input=precip_abs2
-tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="3 months" method=sum
+tr.aggregate --o --v input=precip_abs1 output=precip_abs2 base=prec_sum granularity="3 months" method=sum sampling=start,during
 t.info type=strds input=precip_abs2
 
-
 t.remove type=rast input=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
 t.remove type=strds input=precip_abs1,precip_abs2

Modified: grass/trunk/temporal/tr.aggregate/tr.aggregate.py
===================================================================
--- grass/trunk/temporal/tr.aggregate/tr.aggregate.py	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.aggregate/tr.aggregate.py	2011-12-22 20:08:41 UTC (rev 49865)
@@ -59,6 +59,16 @@
 #%end
 
 #%option
+#% key: sampling
+#% type: string
+#% description: The method to be used for sampling the input dataset
+#% required: no
+#% multiple: yes
+#% options: start,during,overlap,contain,equal
+#% answer: start
+#%end
+
+#%option
 #% key: base
 #% type: string
 #% description: Base name of the new created raster maps
@@ -86,6 +96,7 @@
     base = options["base"]
     register_null = flags["n"]
     method = options["method"]
+    sampling = options["sampling"]
 
     # Make sure the temporal database exists
     tgis.create_temporal_database()
@@ -147,7 +158,7 @@
             end = next_start_time + gran
         next_start_time = end
 
-        input_map_names = tgis.collect_map_names(sp, dbif, start, end)
+        input_map_names = tgis.collect_map_names(sp, dbif, start, end, sampling)
 
         if input_map_names:
             tgis.aggregate_raster_maps(new_sp, mapset, input_map_names, base, start, end, count, method, register_null, dbif)

Modified: grass/trunk/temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh
===================================================================
--- grass/trunk/temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -27,14 +27,14 @@
 EOF
 
 t.create --o type=stvds temporaltype=absolute output=soil_abs1 title="A test" descr="A test"
-tv.register input=soil_abs1 file=$n1 start=file end=file
+tv.register input=soil_abs1 file="$n1" start=file end=file
 
 t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
 tr.register -i input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-03-01 00:00:00" increment="1 months"
 
 # The @test
 
-tr.aggregate.ds --o input=precip_abs1 output=precip_abs2 base=prec_sum type=stvds dataset=soil_abs1 method=sum
+tr.aggregate.ds --o --v input=precip_abs1 output=precip_abs2 base=prec_sum type=stvds sample=soil_abs1 method=sum sampling=start,during
 t.info type=strds input=precip_abs2
 tr.list input=precip_abs2 method=deltagap
 

Modified: grass/trunk/temporal/tr.aggregate.ds/tr.aggregate.ds.py
===================================================================
--- grass/trunk/temporal/tr.aggregate.ds/tr.aggregate.ds.py	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.aggregate.ds/tr.aggregate.ds.py	2011-12-22 20:08:41 UTC (rev 49865)
@@ -30,7 +30,7 @@
 #%end
 
 #%option
-#% key: dataset
+#% key: sample
 #% type: string
 #% description: The time intervals from this space time dataset (raster, vector or raster3d) are used for aggregation computation. 
 #% required: yes
@@ -65,6 +65,16 @@
 #%end
 
 #%option
+#% key: sampling
+#% type: string
+#% description: The method to be used for sampling the input dataset
+#% required: no
+#% multiple: yes
+#% options: start,during,overlap,contain,equal
+#% answer: start
+#%end
+
+#%option
 #% key: base
 #% type: string
 #% description: Base name of the new created raster maps
@@ -87,11 +97,12 @@
     # Get the options
     input = options["input"]
     output = options["output"]
-    sampler = options["dataset"]
+    sampler = options["sample"]
     base = options["base"]
     register_null = flags["n"]
     method = options["method"]
     type = options["type"]
+    sampling = options["sampling"]
 
     # Make sure the temporal database exists
     tgis.create_temporal_database()
@@ -172,7 +183,7 @@
         start = row["start_time"]
         end = row["end_time"]
 
-        input_map_names = tgis.collect_map_names(sp, dbif, start, end)
+        input_map_names = tgis.collect_map_names(sp, dbif, start, end, sampling)
 
         if input_map_names:
             tgis.aggregate_raster_maps(new_sp, mapset, input_map_names, base, start, end, count, method, register_null, dbif)

Modified: grass/trunk/temporal/tr.export/tr.export.py
===================================================================
--- grass/trunk/temporal/tr.export/tr.export.py	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.export/tr.export.py	2011-12-22 20:08:41 UTC (rev 49865)
@@ -55,7 +55,7 @@
 #% required: no
 #% multiple: no
 #% options: no,gzip,bzip2
-#% answer: bzip
+#% answer: bzip2
 #%end
 
 #%option

Modified: grass/trunk/temporal/tr.import/test.tr.import.sh
===================================================================
--- grass/trunk/temporal/tr.import/test.tr.import.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.import/test.tr.import.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -29,15 +29,18 @@
 t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test with input files" descr="A test with input files"
 
 # The first @test
-tr.register -i input=precip_abs1 file=$n1 start="2001-01-01" increment="1 months"
+tr.register -i input=precip_abs1 file="$n1" start="2001-01-01" increment="1 months"
 tr.export input=precip_abs1 output=strds_export.tar.bz2 compression=bzip2 workdir=test
 
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test -oe
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test -loe
+tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -oe title="A test" description="Description of a test"
+tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -loe title="A test" description="Description of a test"
+tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+              title="A test" description="Description of a test"
+tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -l  title="A test" description="Description of a test"
 
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test 
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test -l
-
 t.remove type=rast input=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
 t.remove type=strds input=precip_abs1
 g.remove rast=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6

Modified: grass/trunk/temporal/tr.register/test.tr.register.sh
===================================================================
--- grass/trunk/temporal/tr.register/test.tr.register.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.register/test.tr.register.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -30,54 +30,56 @@
 
 tr.register -i input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="1 seconds"
 t.info type=strds input=precip_abs1
+t.info -g type=strds input=precip_abs1
 tr.list input=precip_abs1
-t.topology -t input=precip_abs1
+t.topology input=precip_abs1
 
 tr.register -i input=precip_abs2 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="20 seconds, 5 minutes"
 t.info type=strds input=precip_abs2
+t.info -g type=strds input=precip_abs2
 tr.list input=precip_abs2
-t.topology -t input=precip_abs2
+t.topology input=precip_abs2
 
 tr.register -i input=precip_abs3 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="8 hours"
-t.info type=strds input=precip_abs3
+t.info -g type=strds input=precip_abs3
 tr.list input=precip_abs3
-t.topology -t input=precip_abs3
+t.topology input=precip_abs3
 
 tr.register input=precip_abs4 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="3 days"
-t.info type=strds input=precip_abs4
+t.info -g type=strds input=precip_abs4
 tr.list input=precip_abs4
-t.topology -t input=precip_abs4
+t.topology input=precip_abs4
 
 tr.register input=precip_abs5 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="4 weeks"
-t.info type=strds input=precip_abs5
+t.info -g type=strds input=precip_abs5
 tr.list input=precip_abs5
-t.topology -t input=precip_abs5
+t.topology input=precip_abs5
 
 tr.register input=precip_abs6 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-08-01" increment="2 months"
-t.info type=strds input=precip_abs6
+t.info -g type=strds input=precip_abs6
 tr.list input=precip_abs6
-t.topology -t input=precip_abs6
+t.topology input=precip_abs6
 
 tr.register input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="20 years, 3 months, 1 days, 4 hours"
-t.info type=strds input=precip_abs7
+t.info -g type=strds input=precip_abs7
 tr.list input=precip_abs7
-t.topology -t input=precip_abs7
+t.topology input=precip_abs7
 # Register with different valid time again
 tr.register input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="99 years, 9 months, 9 days, 9 hours"
-t.info type=strds input=precip_abs7
+t.info -g type=strds input=precip_abs7
 tr.list input=precip_abs7
-t.topology -t input=precip_abs7
+t.topology input=precip_abs7
 # Register with different valid time again creating an interval
 tr.register -i input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="99 years, 9 months, 9 days, 9 hours"
-t.info type=strds input=precip_abs7
+t.info -g type=strds input=precip_abs7
 tr.list input=precip_abs7
-t.topology -t input=precip_abs7
+t.topology input=precip_abs7
 
 tr.register input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" end="2002-01-01"
-t.info type=strds input=precip_abs7
+t.info -g type=strds input=precip_abs7
 tr.list input=precip_abs7
 t.topology -t input=precip_abs7
 
-t.remove --v type=rast input=prec_1,prec_2,prec_3
-t.remove --v type=strds input=precip_abs1,precip_abs2,precip_abs3,precip_abs4,precip_abs5,precip_abs6,precip_abs7
-t.remove --v type=rast input=prec_4,prec_5,prec_6
+t.remove type=rast input=prec_1,prec_2,prec_3
+t.remove type=strds input=precip_abs1,precip_abs2,precip_abs3,precip_abs4,precip_abs5,precip_abs6,precip_abs7
+t.remove type=rast input=prec_4,prec_5,prec_6

Modified: grass/trunk/temporal/tr.to.rast3/test.tr.to.rast3.sh
===================================================================
--- grass/trunk/temporal/tr.to.rast3/test.tr.to.rast3.sh	2011-12-22 18:30:26 UTC (rev 49864)
+++ grass/trunk/temporal/tr.to.rast3/test.tr.to.rast3.sh	2011-12-22 20:08:41 UTC (rev 49865)
@@ -24,7 +24,7 @@
 
 tr.register -i input=precip_abs maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="1 months"
 
-tr.to.rast3 --o input=precip_abs output=prec_sum
+tr.to.rast3 --o input=precip_abs output=preciptiation
 
 t.remove type=rast input=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
 t.remove type=strds input=precip_abs



More information about the grass-commit mailing list