[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