1
1
# -*- coding: utf-8 -*-
2
2
'''
3
- test_qgscomposermapatlas .py
3
+ test_qgsatlascomposition .py
4
4
--------------------------------------
5
5
Date : Oct 2012
6
6
Copyright : (C) 2012 by Dr. Hugo Mercier
24
24
25
25
QGISAPP , CANVAS , IFACE , PARENT = getQgisTestApp ()
26
26
27
- class TestQgsComposerMapAtlas (unittest .TestCase ):
27
+ class TestQgsAtlasComposition (unittest .TestCase ):
28
28
29
29
def testCase (self ):
30
- TEST_DATA_DIR = unitTestDataPath ()
31
- vectorFileInfo = QFileInfo ( TEST_DATA_DIR + QDir ().separator ().toAscii () + "france_parts.shp" )
30
+ self . TEST_DATA_DIR = unitTestDataPath ()
31
+ vectorFileInfo = QFileInfo ( self . TEST_DATA_DIR + QDir ().separator ().toAscii () + "france_parts.shp" )
32
32
mVectorLayer = QgsVectorLayer ( vectorFileInfo .filePath (), vectorFileInfo .completeBaseName (), "ogr" )
33
33
34
34
QgsMapLayerRegistry .instance ().addMapLayer ( mVectorLayer )
@@ -45,8 +45,8 @@ def testCase(self):
45
45
crs .createFromSrid ( 2154 )
46
46
mMapRenderer .setDestinationCrs ( crs )
47
47
48
- mComposition = QgsComposition ( mMapRenderer )
49
- mComposition .setPaperSize ( 297 , 210 )
48
+ self . mComposition = QgsComposition ( mMapRenderer )
49
+ self . mComposition .setPaperSize ( 297 , 210 )
50
50
51
51
# fix the renderer, fill with green
52
52
props = { "color" : "0,127,0" }
@@ -55,121 +55,114 @@ def testCase(self):
55
55
mVectorLayer .setRendererV2 ( renderer )
56
56
57
57
# the atlas map
58
- mAtlasMap = QgsComposerMap ( mComposition , 20 , 20 , 130 , 130 )
59
- mAtlasMap .setFrameEnabled ( True )
60
- mAtlasMap .setAtlasCoverageLayer ( mVectorLayer )
61
- mComposition .addComposerMap ( mAtlasMap )
62
- mComposition .setAtlasMap ( mAtlasMap )
58
+ self .mAtlasMap = QgsComposerMap ( self .mComposition , 20 , 20 , 130 , 130 )
59
+ self .mAtlasMap .setFrameEnabled ( True )
60
+ self .mComposition .addComposerMap ( self .mAtlasMap )
61
+
62
+ # the atlas
63
+ self .mAtlas = QgsAtlasComposition ( self .mComposition )
64
+ self .mAtlas .setCoverageLayer ( mVectorLayer )
65
+ self .mAtlas .setComposerMap ( self .mAtlasMap )
63
66
64
67
# an overview
65
- mOverview = QgsComposerMap ( mComposition , 180 , 20 , 50 , 50 )
68
+ mOverview = QgsComposerMap ( self . mComposition , 180 , 20 , 50 , 50 )
66
69
mOverview .setFrameEnabled ( True )
67
- mOverview .setOverviewFrameMap ( mAtlasMap .id () )
68
- mComposition .addComposerMap ( mOverview )
70
+ mOverview .setOverviewFrameMap ( self . mAtlasMap .id () )
71
+ self . mComposition .addComposerMap ( mOverview )
69
72
nextent = QgsRectangle ( 49670.718 , 6415139.086 , 699672.519 , 7065140.887 )
70
73
mOverview .setNewExtent ( nextent )
71
74
72
75
# set the fill symbol of the overview map
73
76
props2 = { "color" : "127,0,0,127" }
74
77
fillSymbol2 = QgsFillSymbolV2 .createSimple ( props2 )
75
78
mOverview .setOverviewFrameMapSymbol ( fillSymbol2 );
76
-
77
79
78
80
# header label
79
- mLabel1 = QgsComposerLabel ( mComposition )
80
- mComposition .addComposerLabel ( mLabel1 )
81
- mLabel1 .setText ( "[% \" NAME_1\" %] area" )
82
- mLabel1 .adjustSizeToText ()
83
- mLabel1 .setItemPosition ( 150 , 5 )
81
+ self . mLabel1 = QgsComposerLabel ( self . mComposition )
82
+ self . mComposition .addComposerLabel ( self . mLabel1 )
83
+ self . mLabel1 .setText ( "[% \" NAME_1\" %] area" )
84
+ self . mLabel1 .adjustSizeToText ()
85
+ self . mLabel1 .setItemPosition ( 150 , 5 )
84
86
85
87
# feature number label
86
- mLabel2 = QgsComposerLabel ( mComposition )
87
- mComposition .addComposerLabel ( mLabel2 )
88
- mLabel2 .setText ( "# [%$feature || ' / ' || $numfeatures%]" )
89
- mLabel2 .adjustSizeToText ()
90
- mLabel2 .setItemPosition ( 150 , 200 )
91
-
92
- self .filename_test ( mComposition )
93
- self .autoscale_render_test ( mComposition , mLabel1 , TEST_DATA_DIR )
94
- self .fixedscale_render_test ( mComposition , mLabel1 , TEST_DATA_DIR )
95
- self .hidden_render_test ( mComposition , mLabel1 , TEST_DATA_DIR )
88
+ self . mLabel2 = QgsComposerLabel ( self . mComposition )
89
+ self . mComposition .addComposerLabel ( self . mLabel2 )
90
+ self . mLabel2 .setText ( "# [%$feature || ' / ' || $numfeatures%]" )
91
+ self . mLabel2 .adjustSizeToText ()
92
+ self . mLabel2 .setItemPosition ( 150 , 200 )
93
+
94
+ self .filename_test ()
95
+ self .autoscale_render_test ()
96
+ self .fixedscale_render_test ()
97
+ self .hidden_render_test ()
96
98
97
- def filename_test ( self , mComposition ):
98
- atlasRender = QgsAtlasRendering ( mComposition )
99
- atlasRender .begin ( "'output_' || $feature" )
100
- for i in range (0 , atlasRender .numFeatures ()):
101
- atlasRender .prepareForFeature ( i )
102
- expected = QString ( "output_%1" ).arg (i + 1 )
103
- print atlasRender .currentFilename ()
104
- assert atlasRender .currentFilename () == expected
105
- atlasRender .end ()
99
+ def filename_test ( self ):
106
100
107
- def autoscale_render_test ( self , mComposition , mLabel1 , TEST_DATA_DIR ):
108
- atlasMap = mComposition .atlasMap ()
109
- atlasMap .setAtlasFixedScale ( False )
110
- atlasMap .setAtlasMargin ( 0.10 )
101
+ self .mAtlas .setFilenamePattern ( "'output_' || $feature" )
102
+ self .mAtlas .beginRender ()
103
+ for i in range (0 , self .mAtlas .numFeatures ()):
104
+ self .mAtlas .prepareForFeature ( i )
105
+ expected = QString ( "output_%1" ).arg (i + 1 )
106
+ assert self .mAtlas .currentFilename () == expected
107
+ self .mAtlas .endRender ()
111
108
112
- atlasRender = QgsAtlasRendering ( mComposition )
109
+ def autoscale_render_test ( self ):
110
+ self .mAtlas .setFixedScale ( False )
111
+ self .mAtlas .setMargin ( 0.10 )
113
112
114
- atlasRender . begin ()
113
+ self . mAtlas . beginRender ()
115
114
116
115
for i in range (0 , 2 ):
117
- atlasRender .prepareForFeature ( i )
118
- mLabel1 .adjustSizeToText ()
116
+ self . mAtlas .prepareForFeature ( i )
117
+ self . mLabel1 .adjustSizeToText ()
119
118
120
119
checker = QgsCompositionChecker ()
121
- res = checker .testComposition ( "Atlas autoscale test" , mComposition , \
122
- QString ( TEST_DATA_DIR ) + QDir .separator () + \
120
+ res = checker .testComposition ( "Atlas autoscale test" , self . mComposition , \
121
+ QString ( self . TEST_DATA_DIR ) + QDir .separator () + \
123
122
"control_images" + QDir .separator () + \
124
123
"expected_composermapatlas" + QDir .separator () + \
125
124
QString ( "autoscale_%1.png" ).arg ( i ) )
126
125
assert res [0 ] == True
127
- atlasRender . end ()
126
+ self . mAtlas . endRender ()
128
127
129
- def fixedscale_render_test ( self , mComposition , mLabel1 , TEST_DATA_DIR ):
130
- atlasMap = mComposition .atlasMap ()
131
- atlasMap .setNewExtent ( QgsRectangle ( 209838.166 , 6528781.020 , 610491.166 , 6920530.620 ) );
132
- atlasMap .setAtlasFixedScale ( True )
133
-
134
- atlasRender = QgsAtlasRendering ( mComposition )
128
+ def fixedscale_render_test ( self ):
129
+ self .mAtlasMap .setNewExtent ( QgsRectangle ( 209838.166 , 6528781.020 , 610491.166 , 6920530.620 ) );
130
+ self .mAtlas .setFixedScale ( True )
135
131
136
- atlasRender . begin ()
132
+ self . mAtlas . beginRender ()
137
133
138
134
for i in range (0 , 2 ):
139
- atlasRender .prepareForFeature ( i )
140
- mLabel1 .adjustSizeToText ()
135
+ self . mAtlas .prepareForFeature ( i )
136
+ self . mLabel1 .adjustSizeToText ()
141
137
142
138
checker = QgsCompositionChecker ()
143
- res = checker .testComposition ( "Atlas fixed scale test" , mComposition , \
144
- QString ( TEST_DATA_DIR ) + QDir .separator () + \
139
+ res = checker .testComposition ( "Atlas fixed scale test" , self . mComposition , \
140
+ QString ( self . TEST_DATA_DIR ) + QDir .separator () + \
145
141
"control_images" + QDir .separator () + \
146
142
"expected_composermapatlas" + QDir .separator () + \
147
143
QString ( "fixedscale_%1.png" ).arg ( i ) )
148
144
assert res [0 ] == True
149
- atlasRender .end ()
150
-
151
- def hidden_render_test ( self , mComposition , mLabel1 , TEST_DATA_DIR ):
152
- atlasMap = mComposition .atlasMap ()
153
- atlasMap .setNewExtent ( QgsRectangle ( 209838.166 , 6528781.020 , 610491.166 , 6920530.620 ) );
154
- atlasMap .setAtlasFixedScale ( True )
155
- atlasMap .setAtlasHideCoverage ( True )
145
+ self .mAtlas .endRender ()
156
146
157
- atlasRender = QgsAtlasRendering ( mComposition )
147
+ def hidden_render_test ( self ):
148
+ self .mAtlasMap .setNewExtent ( QgsRectangle ( 209838.166 , 6528781.020 , 610491.166 , 6920530.620 ) );
149
+ self .mAtlas .setFixedScale ( True )
150
+ self .mAtlas .setHideCoverage ( True )
158
151
159
- atlasRender . begin ()
152
+ self . mAtlas . beginRender ()
160
153
161
154
for i in range (0 , 2 ):
162
- atlasRender .prepareForFeature ( i )
163
- mLabel1 .adjustSizeToText ()
155
+ self . mAtlas .prepareForFeature ( i )
156
+ self . mLabel1 .adjustSizeToText ()
164
157
165
158
checker = QgsCompositionChecker ()
166
- res = checker .testComposition ( "Atlas hidden test" , mComposition , \
167
- QString ( TEST_DATA_DIR ) + QDir .separator () + \
159
+ res = checker .testComposition ( "Atlas hidden test" , self . mComposition , \
160
+ QString ( self . TEST_DATA_DIR ) + QDir .separator () + \
168
161
"control_images" + QDir .separator () + \
169
162
"expected_composermapatlas" + QDir .separator () + \
170
163
QString ( "hiding_%1.png" ).arg ( i ) )
171
164
assert res [0 ] == True
172
- atlasRender . end ()
165
+ self . mAtlas . endRender ()
173
166
174
167
if __name__ == '__main__' :
175
168
unittest .main ()
0 commit comments