1
"""Test t.rast.aggregation
3
(C) 2014 by the GRASS Development Team
4
This program is free software under the GNU General Public
5
License (>=v2). Read the file COPYING that comes with GRASS
8
:authors: Soeren Gebbert
11
import grass.pygrass.modules as pymod
12
import grass.temporal as tgis
13
from grass.gunittest.case import TestCase
14
from grass.gunittest.gmodules import SimpleModule
16
class TestAggregationRelative(TestCase):
20
"""Initiate the temporal GIS and set the region
22
os.putenv("GRASS_OVERWRITE", "1")
25
cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0,
26
t=50, res=10, res3=10)
27
cls.runModule("r.mapcalc", expression="a1 = 100", overwrite=True)
28
cls.runModule("r.mapcalc", expression="a2 = 200", overwrite=True)
29
cls.runModule("r.mapcalc", expression="a3 = 300", overwrite=True)
30
cls.runModule("r.mapcalc", expression="a4 = 400", overwrite=True)
31
cls.runModule("r.mapcalc", expression="a5 = 500", overwrite=True)
32
cls.runModule("r.mapcalc", expression="a6 = 600", overwrite=True)
33
cls.runModule("r.mapcalc", expression="a7 = null()", overwrite=True)
35
cls.runModule("t.create", type="strds", temporaltype="relative",
36
output="A", title="A test",
37
description="A test", overwrite=True)
39
cls.runModule("t.register", flags="i", type="raster", input="A",
40
maps="a1,a2,a3,a4,a5,a6,a7",
41
start=0, unit="days", increment=3,
44
def tearDownClass(cls):
45
"""Remove the temporary region
48
cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
51
"""Remove generated data"""
52
self.runModule("t.remove", flags="rf", type="strds", inputs="B")
56
self.assertModule("t.rast.aggregate", input="A", output="B",
57
basename="b", granularity=6,
59
sampling=["overlaps","overlapped","contains"],
62
tinfo_string="""start_time=0
67
aggregation_type=average
74
info = SimpleModule("t.info", flags="g", input="B")
76
#print info.outputs.stdout
77
self.assertModuleKeyValue(module=info, reference=tinfo_string,
81
"""Simple test register null maps"""
82
self.assertModule("t.rast.aggregate", input="A", output="B",
83
basename="b", granularity=9,
85
sampling=["contains"],
88
tinfo_string="""semantic_type=mean
94
aggregation_type=maximum
101
info = SimpleModule("t.info", flags="g", input="B")
103
#print info.outputs.stdout
104
self.assertModuleKeyValue(module=info, reference=tinfo_string,
105
precision=2, sep="=")
109
self.assertModule("t.rast.aggregate", input="A", output="B",
110
basename="b", granularity=9,
112
sampling=["contains"],
115
tinfo_string="""semantic_type=mean
121
aggregation_type=maximum
128
info = SimpleModule("t.info", flags="g", input="B")
130
#print info.outputs.stdout
131
self.assertModuleKeyValue(module=info, reference=tinfo_string,
132
precision=2, sep="=")
136
self.assertModule("t.rast.aggregate", input="A", output="B",
137
basename="b", granularity=21,
139
sampling=["contains"],
142
tinfo_string="""semantic_type=mean
148
aggregation_type=average
155
info = SimpleModule("t.info", flags="g", input="B")
157
#print info.outputs.stdout
158
self.assertModuleKeyValue(module=info, reference=tinfo_string,
159
precision=2, sep="=")
161
if __name__ == '__main__':
162
from grass.gunittest.main import test