Skip to content

Commit 7906154

Browse files
author
Hugo Mercier
committedMay 23, 2014
Add unit tests for the inverted polygon renderer
1 parent 66ac1ed commit 7906154

File tree

6 files changed

+582
-0
lines changed

6 files changed

+582
-0
lines changed
 

‎tests/src/core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,4 @@ ADD_QGIS_TEST(vectorlayercachetest testqgsvectorlayercache.cpp )
121121
ADD_QGIS_TEST(spatialindextest testqgsspatialindex.cpp)
122122
ADD_QGIS_TEST(gradienttest testqgsgradients.cpp )
123123
ADD_QGIS_TEST(shapebursttest testqgsshapeburst.cpp )
124+
ADD_QGIS_TEST(invertedpolygontest testqgsinvertedpolygonrenderer.cpp )
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
/***************************************************************************
2+
testqgsinvertedpolygonrenderer.cpp
3+
--------------------------------------
4+
Date : 23 may 2014
5+
Copyright : (C) 2014 by Hugo Mercier / Oslandia
6+
Email : hugo dot mercier at oslandia dot com
7+
***************************************************************************
8+
* *
9+
* This program is free software; you can redistribute it and/or modify *
10+
* it under the terms of the GNU General Public License as published by *
11+
* the Free Software Foundation; either version 2 of the License, or *
12+
* (at your option) any later version. *
13+
* *
14+
***************************************************************************/
15+
#include <QtTest>
16+
#include <QObject>
17+
#include <QString>
18+
#include <QStringList>
19+
#include <QObject>
20+
#include <QApplication>
21+
#include <QFileInfo>
22+
#include <QDir>
23+
#include <QDesktopServices>
24+
25+
#include <iostream>
26+
//qgis includes...
27+
#include <qgsmaprenderer.h>
28+
#include <qgsmaplayer.h>
29+
#include <qgsvectorlayer.h>
30+
#include <qgsapplication.h>
31+
#include <qgsproviderregistry.h>
32+
#include <qgsmaplayerregistry.h>
33+
//qgis test includes
34+
#include "qgsrenderchecker.h"
35+
36+
/** \ingroup UnitTests
37+
* This is a unit test for the different renderers for vector layers.
38+
*/
39+
class TestQgsInvertedPolygon: public QObject
40+
{
41+
Q_OBJECT;
42+
private slots:
43+
void initTestCase();// will be called before the first testfunction is executed.
44+
void cleanupTestCase();// will be called after the last testfunction was executed.
45+
void init() {};// will be called before each testfunction is executed.
46+
void cleanup() {};// will be called after every testfunction.
47+
48+
void singleSubRenderer();
49+
void graduatedSubRenderer();
50+
51+
private:
52+
bool mTestHasError;
53+
bool setQml( QString qmlFile );
54+
bool imageCheck( QString theType );
55+
QgsMapSettings mMapSettings;
56+
QgsVectorLayer * mpPolysLayer;
57+
QString mTestDataDir;
58+
QString mReport;
59+
};
60+
61+
62+
void TestQgsInvertedPolygon::initTestCase()
63+
{
64+
mTestHasError = false;
65+
// init QGIS's paths - true means that all path will be inited from prefix
66+
QgsApplication::init();
67+
QgsApplication::initQgis();
68+
QgsApplication::showSettings();
69+
70+
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
71+
mTestDataDir = myDataDir + QDir::separator();
72+
73+
//
74+
//create a poly layer that will be used in all tests...
75+
//
76+
QString myPolysFileName = mTestDataDir + "polys.shp";
77+
QFileInfo myPolyFileInfo( myPolysFileName );
78+
mpPolysLayer = new QgsVectorLayer( myPolyFileInfo.filePath(),
79+
myPolyFileInfo.completeBaseName(), "ogr" );
80+
QgsVectorSimplifyMethod simplifyMethod;
81+
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
82+
mpPolysLayer->setSimplifyMethod( simplifyMethod );
83+
84+
// Register the layer with the registry
85+
QgsMapLayerRegistry::instance()->addMapLayers(
86+
QList<QgsMapLayer *>() << mpPolysLayer );
87+
88+
mMapSettings.setLayers( QStringList() << mpPolysLayer->id() );
89+
mReport += "<h1>Inverted Polygon Renderer Tests</h1>\n";
90+
}
91+
92+
void TestQgsInvertedPolygon::cleanupTestCase()
93+
{
94+
QString myReportFile = QDir::tempPath() + QDir::separator() + "qgistest.html";
95+
QFile myFile( myReportFile );
96+
if ( myFile.open( QIODevice::WriteOnly | QIODevice::Append ) )
97+
{
98+
QTextStream myQTextStream( &myFile );
99+
myQTextStream << mReport;
100+
myFile.close();
101+
}
102+
}
103+
104+
void TestQgsInvertedPolygon::singleSubRenderer()
105+
{
106+
mReport += "<h2>Inverted polygon renderer, single sub renderer test</h2>\n";
107+
QVERIFY( setQml( "inverted_polys_single.qml" ) );
108+
QVERIFY( imageCheck( "inverted_polys_single" ) );
109+
}
110+
111+
void TestQgsInvertedPolygon::graduatedSubRenderer()
112+
{
113+
mReport += "<h2>Inverted polygon renderer, graduated sub renderer test</h2>\n";
114+
QVERIFY( setQml( "inverted_polys_graduated.qml" ) );
115+
QVERIFY( imageCheck( "inverted_polys_graduated" ) );
116+
}
117+
118+
//
119+
// Private helper functions not called directly by CTest
120+
//
121+
122+
bool TestQgsInvertedPolygon::setQml( QString qmlFile )
123+
{
124+
//load a qml style and apply to our layer
125+
//the style will correspond to the renderer
126+
//type we are testing
127+
bool myStyleFlag = false;
128+
QString myFileName = mTestDataDir + qmlFile;
129+
QString error = mpPolysLayer->loadNamedStyle( myFileName, myStyleFlag );
130+
if ( !myStyleFlag )
131+
{
132+
qDebug( "%s", error.toLocal8Bit().constData() );
133+
return false;
134+
}
135+
return myStyleFlag;
136+
}
137+
138+
bool TestQgsInvertedPolygon::imageCheck( QString theTestType )
139+
{
140+
//use the QgsRenderChecker test utility class to
141+
//ensure the rendered output matches our control image
142+
mMapSettings.setExtent( mpPolysLayer->extent() );
143+
QgsRenderChecker myChecker;
144+
myChecker.setControlName( "expected_" + theTestType );
145+
myChecker.setMapSettings( mMapSettings );
146+
bool myResultFlag = myChecker.runTest( theTestType );
147+
mReport += myChecker.report();
148+
return myResultFlag;
149+
}
150+
151+
QTEST_MAIN( TestQgsInvertedPolygon )
152+
#include "moc_testqgsinvertedpolygonrenderer.cxx"
Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
2+
<qgis version="2.3.0-Master" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
3+
<renderer-v2 type="invertedPolygonRenderer">
4+
<renderer-v2 attr="Name" symbollevels="0" type="categorizedSymbol">
5+
<categories>
6+
<category symbol="0" value="Dam" label="Dam"/>
7+
<category symbol="1" value="Lake" label="Lake"/>
8+
</categories>
9+
<symbols>
10+
<symbol alpha="1" type="fill" name="0">
11+
<layer pass="0" class="ShapeburstFill" locked="0">
12+
<prop k="blur_radius" v="0"/>
13+
<prop k="color1" v="0,0,255,255"/>
14+
<prop k="color2" v="0,255,0,255"/>
15+
<prop k="color_type" v="0"/>
16+
<prop k="discrete" v="0"/>
17+
<prop k="distance_map_unit_scale" v="0,0"/>
18+
<prop k="distance_unit" v="MM"/>
19+
<prop k="ignore_rings" v="0"/>
20+
<prop k="max_distance" v="5"/>
21+
<prop k="offset" v="0,0"/>
22+
<prop k="offset_map_unit_scale" v="0,0"/>
23+
<prop k="offset_unit" v="MM"/>
24+
<prop k="shapeburst_color" v="27,54,212,255"/>
25+
<prop k="shapeburst_color2" v="255,255,255,0"/>
26+
<prop k="use_whole_shape" v="0"/>
27+
</layer>
28+
</symbol>
29+
<symbol alpha="1" type="fill" name="1">
30+
<layer pass="0" class="ShapeburstFill" locked="0">
31+
<prop k="blur_radius" v="0"/>
32+
<prop k="color1" v="0,0,255,255"/>
33+
<prop k="color2" v="0,255,0,255"/>
34+
<prop k="color_type" v="0"/>
35+
<prop k="discrete" v="0"/>
36+
<prop k="distance_map_unit_scale" v="0,0"/>
37+
<prop k="distance_unit" v="MM"/>
38+
<prop k="ignore_rings" v="0"/>
39+
<prop k="max_distance" v="5"/>
40+
<prop k="offset" v="0,0"/>
41+
<prop k="offset_map_unit_scale" v="0,0"/>
42+
<prop k="offset_unit" v="MM"/>
43+
<prop k="shapeburst_color" v="110,194,217,255"/>
44+
<prop k="shapeburst_color2" v="255,255,255,0"/>
45+
<prop k="use_whole_shape" v="0"/>
46+
</layer>
47+
</symbol>
48+
</symbols>
49+
<rotation/>
50+
<sizescale scalemethod="area"/>
51+
</renderer-v2>
52+
</renderer-v2>
53+
<customproperties>
54+
<property key="labeling" value="pal"/>
55+
<property key="labeling/addDirectionSymbol" value="false"/>
56+
<property key="labeling/angleOffset" value="0"/>
57+
<property key="labeling/blendMode" value="0"/>
58+
<property key="labeling/bufferBlendMode" value="0"/>
59+
<property key="labeling/bufferColorA" value="255"/>
60+
<property key="labeling/bufferColorB" value="255"/>
61+
<property key="labeling/bufferColorG" value="255"/>
62+
<property key="labeling/bufferColorR" value="255"/>
63+
<property key="labeling/bufferDraw" value="false"/>
64+
<property key="labeling/bufferJoinStyle" value="64"/>
65+
<property key="labeling/bufferNoFill" value="false"/>
66+
<property key="labeling/bufferSize" value="1"/>
67+
<property key="labeling/bufferSizeInMapUnits" value="false"/>
68+
<property key="labeling/bufferSizeMapUnitMaxScale" value="0"/>
69+
<property key="labeling/bufferSizeMapUnitMinScale" value="0"/>
70+
<property key="labeling/bufferTransp" value="0"/>
71+
<property key="labeling/centroidWhole" value="false"/>
72+
<property key="labeling/decimals" value="3"/>
73+
<property key="labeling/displayAll" value="false"/>
74+
<property key="labeling/dist" value="0"/>
75+
<property key="labeling/distInMapUnits" value="false"/>
76+
<property key="labeling/distMapUnitMaxScale" value="0"/>
77+
<property key="labeling/distMapUnitMinScale" value="0"/>
78+
<property key="labeling/enabled" value="false"/>
79+
<property key="labeling/fieldName" value=""/>
80+
<property key="labeling/fontBold" value="true"/>
81+
<property key="labeling/fontCapitals" value="0"/>
82+
<property key="labeling/fontFamily" value="Ubuntu"/>
83+
<property key="labeling/fontItalic" value="true"/>
84+
<property key="labeling/fontLetterSpacing" value="0"/>
85+
<property key="labeling/fontLimitPixelSize" value="false"/>
86+
<property key="labeling/fontMaxPixelSize" value="10000"/>
87+
<property key="labeling/fontMinPixelSize" value="3"/>
88+
<property key="labeling/fontSize" value="11"/>
89+
<property key="labeling/fontSizeInMapUnits" value="false"/>
90+
<property key="labeling/fontSizeMapUnitMaxScale" value="0"/>
91+
<property key="labeling/fontSizeMapUnitMinScale" value="0"/>
92+
<property key="labeling/fontStrikeout" value="false"/>
93+
<property key="labeling/fontUnderline" value="false"/>
94+
<property key="labeling/fontWeight" value="75"/>
95+
<property key="labeling/fontWordSpacing" value="0"/>
96+
<property key="labeling/formatNumbers" value="false"/>
97+
<property key="labeling/isExpression" value="false"/>
98+
<property key="labeling/labelOffsetInMapUnits" value="true"/>
99+
<property key="labeling/labelOffsetMapUnitMaxScale" value="0"/>
100+
<property key="labeling/labelOffsetMapUnitMinScale" value="0"/>
101+
<property key="labeling/labelPerPart" value="false"/>
102+
<property key="labeling/leftDirectionSymbol" value="&lt;"/>
103+
<property key="labeling/limitNumLabels" value="false"/>
104+
<property key="labeling/maxCurvedCharAngleIn" value="20"/>
105+
<property key="labeling/maxCurvedCharAngleOut" value="-20"/>
106+
<property key="labeling/maxNumLabels" value="2000"/>
107+
<property key="labeling/mergeLines" value="false"/>
108+
<property key="labeling/minFeatureSize" value="0"/>
109+
<property key="labeling/multilineAlign" value="0"/>
110+
<property key="labeling/multilineHeight" value="1"/>
111+
<property key="labeling/namedStyle" value="Bold Italic"/>
112+
<property key="labeling/obstacle" value="true"/>
113+
<property key="labeling/placeDirectionSymbol" value="0"/>
114+
<property key="labeling/placement" value="0"/>
115+
<property key="labeling/placementFlags" value="0"/>
116+
<property key="labeling/plussign" value="false"/>
117+
<property key="labeling/preserveRotation" value="true"/>
118+
<property key="labeling/previewBkgrdColor" value="#ffffff"/>
119+
<property key="labeling/priority" value="5"/>
120+
<property key="labeling/quadOffset" value="4"/>
121+
<property key="labeling/reverseDirectionSymbol" value="false"/>
122+
<property key="labeling/rightDirectionSymbol" value=">"/>
123+
<property key="labeling/scaleMax" value="10000000"/>
124+
<property key="labeling/scaleMin" value="1"/>
125+
<property key="labeling/scaleVisibility" value="false"/>
126+
<property key="labeling/shadowBlendMode" value="6"/>
127+
<property key="labeling/shadowColorB" value="0"/>
128+
<property key="labeling/shadowColorG" value="0"/>
129+
<property key="labeling/shadowColorR" value="0"/>
130+
<property key="labeling/shadowDraw" value="false"/>
131+
<property key="labeling/shadowOffsetAngle" value="135"/>
132+
<property key="labeling/shadowOffsetDist" value="1"/>
133+
<property key="labeling/shadowOffsetGlobal" value="true"/>
134+
<property key="labeling/shadowOffsetMapUnitMaxScale" value="0"/>
135+
<property key="labeling/shadowOffsetMapUnitMinScale" value="0"/>
136+
<property key="labeling/shadowOffsetUnits" value="1"/>
137+
<property key="labeling/shadowRadius" value="1.5"/>
138+
<property key="labeling/shadowRadiusAlphaOnly" value="false"/>
139+
<property key="labeling/shadowRadiusMapUnitMaxScale" value="0"/>
140+
<property key="labeling/shadowRadiusMapUnitMinScale" value="0"/>
141+
<property key="labeling/shadowRadiusUnits" value="1"/>
142+
<property key="labeling/shadowScale" value="100"/>
143+
<property key="labeling/shadowTransparency" value="30"/>
144+
<property key="labeling/shadowUnder" value="0"/>
145+
<property key="labeling/shapeBlendMode" value="0"/>
146+
<property key="labeling/shapeBorderColorA" value="255"/>
147+
<property key="labeling/shapeBorderColorB" value="128"/>
148+
<property key="labeling/shapeBorderColorG" value="128"/>
149+
<property key="labeling/shapeBorderColorR" value="128"/>
150+
<property key="labeling/shapeBorderWidth" value="0"/>
151+
<property key="labeling/shapeBorderWidthMapUnitMaxScale" value="0"/>
152+
<property key="labeling/shapeBorderWidthMapUnitMinScale" value="0"/>
153+
<property key="labeling/shapeBorderWidthUnits" value="1"/>
154+
<property key="labeling/shapeDraw" value="false"/>
155+
<property key="labeling/shapeFillColorA" value="255"/>
156+
<property key="labeling/shapeFillColorB" value="255"/>
157+
<property key="labeling/shapeFillColorG" value="255"/>
158+
<property key="labeling/shapeFillColorR" value="255"/>
159+
<property key="labeling/shapeJoinStyle" value="64"/>
160+
<property key="labeling/shapeOffsetMapUnitMaxScale" value="0"/>
161+
<property key="labeling/shapeOffsetMapUnitMinScale" value="0"/>
162+
<property key="labeling/shapeOffsetUnits" value="1"/>
163+
<property key="labeling/shapeOffsetX" value="0"/>
164+
<property key="labeling/shapeOffsetY" value="0"/>
165+
<property key="labeling/shapeRadiiMapUnitMaxScale" value="0"/>
166+
<property key="labeling/shapeRadiiMapUnitMinScale" value="0"/>
167+
<property key="labeling/shapeRadiiUnits" value="1"/>
168+
<property key="labeling/shapeRadiiX" value="0"/>
169+
<property key="labeling/shapeRadiiY" value="0"/>
170+
<property key="labeling/shapeRotation" value="0"/>
171+
<property key="labeling/shapeRotationType" value="0"/>
172+
<property key="labeling/shapeSVGFile" value=""/>
173+
<property key="labeling/shapeSizeMapUnitMaxScale" value="0"/>
174+
<property key="labeling/shapeSizeMapUnitMinScale" value="0"/>
175+
<property key="labeling/shapeSizeType" value="0"/>
176+
<property key="labeling/shapeSizeUnits" value="1"/>
177+
<property key="labeling/shapeSizeX" value="0"/>
178+
<property key="labeling/shapeSizeY" value="0"/>
179+
<property key="labeling/shapeTransparency" value="0"/>
180+
<property key="labeling/shapeType" value="0"/>
181+
<property key="labeling/textColorA" value="255"/>
182+
<property key="labeling/textColorB" value="0"/>
183+
<property key="labeling/textColorG" value="0"/>
184+
<property key="labeling/textColorR" value="0"/>
185+
<property key="labeling/textTransp" value="0"/>
186+
<property key="labeling/upsidedownLabels" value="0"/>
187+
<property key="labeling/wrapChar" value=""/>
188+
<property key="labeling/xOffset" value="0"/>
189+
<property key="labeling/yOffset" value="0"/>
190+
</customproperties>
191+
<blendMode>0</blendMode>
192+
<featureBlendMode>0</featureBlendMode>
193+
<layerTransparency>0</layerTransparency>
194+
<displayfield>Name</displayfield>
195+
<label>0</label>
196+
<labelattributes>
197+
<label fieldname="" text="Label"/>
198+
<family fieldname="" name="Lucida Grande"/>
199+
<size fieldname="" units="pt" value="12"/>
200+
<bold fieldname="" on="0"/>
201+
<italic fieldname="" on="0"/>
202+
<underline fieldname="" on="0"/>
203+
<strikeout fieldname="" on="0"/>
204+
<color fieldname="" red="0" blue="0" green="0"/>
205+
<x fieldname=""/>
206+
<y fieldname=""/>
207+
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
208+
<angle fieldname="" value="0" auto="0"/>
209+
<alignment fieldname="" value="center"/>
210+
<buffercolor fieldname="" red="255" blue="255" green="255"/>
211+
<buffersize fieldname="" units="pt" value="1"/>
212+
<bufferenabled fieldname="" on=""/>
213+
<multilineenabled fieldname="" on=""/>
214+
<selectedonly on=""/>
215+
</labelattributes>
216+
<edittypes>
217+
<edittype labelontop="0" editable="1" type="0" name="Name"/>
218+
<edittype labelontop="0" editable="1" type="0" name="Value"/>
219+
</edittypes>
220+
<editform></editform>
221+
<editforminit></editforminit>
222+
<featformsuppress>0</featformsuppress>
223+
<annotationform></annotationform>
224+
<editorlayout>generatedlayout</editorlayout>
225+
<excludeAttributesWMS/>
226+
<excludeAttributesWFS/>
227+
<attributeactions/>
228+
</qgis>
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
2+
<qgis version="2.3.0-Master" minimumScale="1" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="1" maxLabelScale="1e+08" simplifyDrawingTol="1" simplifyMaxScale="1" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
3+
<renderer-v2 type="invertedPolygonRenderer">
4+
<renderer-v2 symbollevels="0" type="singleSymbol">
5+
<symbols>
6+
<symbol alpha="1" type="fill" name="0">
7+
<layer pass="0" class="SimpleFill" locked="0">
8+
<prop k="border_width_map_unit_scale" v="0,0"/>
9+
<prop k="border_width_unit" v="MM"/>
10+
<prop k="color" v="76,143,160,255"/>
11+
<prop k="color_border" v="0,0,0,255"/>
12+
<prop k="joinstyle" v="bevel"/>
13+
<prop k="offset" v="0,0"/>
14+
<prop k="offset_map_unit_scale" v="0,0"/>
15+
<prop k="offset_unit" v="MM"/>
16+
<prop k="style" v="solid"/>
17+
<prop k="style_border" v="solid"/>
18+
<prop k="width_border" v="0.26"/>
19+
</layer>
20+
</symbol>
21+
</symbols>
22+
<rotation/>
23+
<sizescale scalemethod="area"/>
24+
</renderer-v2>
25+
</renderer-v2>
26+
<customproperties>
27+
<property key="labeling" value="pal"/>
28+
<property key="labeling/addDirectionSymbol" value="false"/>
29+
<property key="labeling/angleOffset" value="0"/>
30+
<property key="labeling/blendMode" value="0"/>
31+
<property key="labeling/bufferBlendMode" value="0"/>
32+
<property key="labeling/bufferColorA" value="255"/>
33+
<property key="labeling/bufferColorB" value="255"/>
34+
<property key="labeling/bufferColorG" value="255"/>
35+
<property key="labeling/bufferColorR" value="255"/>
36+
<property key="labeling/bufferDraw" value="false"/>
37+
<property key="labeling/bufferJoinStyle" value="64"/>
38+
<property key="labeling/bufferNoFill" value="false"/>
39+
<property key="labeling/bufferSize" value="1"/>
40+
<property key="labeling/bufferSizeInMapUnits" value="false"/>
41+
<property key="labeling/bufferSizeMapUnitMaxScale" value="0"/>
42+
<property key="labeling/bufferSizeMapUnitMinScale" value="0"/>
43+
<property key="labeling/bufferTransp" value="0"/>
44+
<property key="labeling/centroidWhole" value="false"/>
45+
<property key="labeling/decimals" value="3"/>
46+
<property key="labeling/displayAll" value="false"/>
47+
<property key="labeling/dist" value="0"/>
48+
<property key="labeling/distInMapUnits" value="false"/>
49+
<property key="labeling/distMapUnitMaxScale" value="0"/>
50+
<property key="labeling/distMapUnitMinScale" value="0"/>
51+
<property key="labeling/enabled" value="false"/>
52+
<property key="labeling/fieldName" value=""/>
53+
<property key="labeling/fontBold" value="true"/>
54+
<property key="labeling/fontCapitals" value="0"/>
55+
<property key="labeling/fontFamily" value="Ubuntu"/>
56+
<property key="labeling/fontItalic" value="true"/>
57+
<property key="labeling/fontLetterSpacing" value="0"/>
58+
<property key="labeling/fontLimitPixelSize" value="false"/>
59+
<property key="labeling/fontMaxPixelSize" value="10000"/>
60+
<property key="labeling/fontMinPixelSize" value="3"/>
61+
<property key="labeling/fontSize" value="11"/>
62+
<property key="labeling/fontSizeInMapUnits" value="false"/>
63+
<property key="labeling/fontSizeMapUnitMaxScale" value="0"/>
64+
<property key="labeling/fontSizeMapUnitMinScale" value="0"/>
65+
<property key="labeling/fontStrikeout" value="false"/>
66+
<property key="labeling/fontUnderline" value="false"/>
67+
<property key="labeling/fontWeight" value="75"/>
68+
<property key="labeling/fontWordSpacing" value="0"/>
69+
<property key="labeling/formatNumbers" value="false"/>
70+
<property key="labeling/isExpression" value="false"/>
71+
<property key="labeling/labelOffsetInMapUnits" value="true"/>
72+
<property key="labeling/labelOffsetMapUnitMaxScale" value="0"/>
73+
<property key="labeling/labelOffsetMapUnitMinScale" value="0"/>
74+
<property key="labeling/labelPerPart" value="false"/>
75+
<property key="labeling/leftDirectionSymbol" value="&lt;"/>
76+
<property key="labeling/limitNumLabels" value="false"/>
77+
<property key="labeling/maxCurvedCharAngleIn" value="20"/>
78+
<property key="labeling/maxCurvedCharAngleOut" value="-20"/>
79+
<property key="labeling/maxNumLabels" value="2000"/>
80+
<property key="labeling/mergeLines" value="false"/>
81+
<property key="labeling/minFeatureSize" value="0"/>
82+
<property key="labeling/multilineAlign" value="0"/>
83+
<property key="labeling/multilineHeight" value="1"/>
84+
<property key="labeling/namedStyle" value="Bold Italic"/>
85+
<property key="labeling/obstacle" value="true"/>
86+
<property key="labeling/placeDirectionSymbol" value="0"/>
87+
<property key="labeling/placement" value="0"/>
88+
<property key="labeling/placementFlags" value="0"/>
89+
<property key="labeling/plussign" value="false"/>
90+
<property key="labeling/preserveRotation" value="true"/>
91+
<property key="labeling/previewBkgrdColor" value="#ffffff"/>
92+
<property key="labeling/priority" value="5"/>
93+
<property key="labeling/quadOffset" value="4"/>
94+
<property key="labeling/reverseDirectionSymbol" value="false"/>
95+
<property key="labeling/rightDirectionSymbol" value=">"/>
96+
<property key="labeling/scaleMax" value="10000000"/>
97+
<property key="labeling/scaleMin" value="1"/>
98+
<property key="labeling/scaleVisibility" value="false"/>
99+
<property key="labeling/shadowBlendMode" value="6"/>
100+
<property key="labeling/shadowColorB" value="0"/>
101+
<property key="labeling/shadowColorG" value="0"/>
102+
<property key="labeling/shadowColorR" value="0"/>
103+
<property key="labeling/shadowDraw" value="false"/>
104+
<property key="labeling/shadowOffsetAngle" value="135"/>
105+
<property key="labeling/shadowOffsetDist" value="1"/>
106+
<property key="labeling/shadowOffsetGlobal" value="true"/>
107+
<property key="labeling/shadowOffsetMapUnitMaxScale" value="0"/>
108+
<property key="labeling/shadowOffsetMapUnitMinScale" value="0"/>
109+
<property key="labeling/shadowOffsetUnits" value="1"/>
110+
<property key="labeling/shadowRadius" value="1.5"/>
111+
<property key="labeling/shadowRadiusAlphaOnly" value="false"/>
112+
<property key="labeling/shadowRadiusMapUnitMaxScale" value="0"/>
113+
<property key="labeling/shadowRadiusMapUnitMinScale" value="0"/>
114+
<property key="labeling/shadowRadiusUnits" value="1"/>
115+
<property key="labeling/shadowScale" value="100"/>
116+
<property key="labeling/shadowTransparency" value="30"/>
117+
<property key="labeling/shadowUnder" value="0"/>
118+
<property key="labeling/shapeBlendMode" value="0"/>
119+
<property key="labeling/shapeBorderColorA" value="255"/>
120+
<property key="labeling/shapeBorderColorB" value="128"/>
121+
<property key="labeling/shapeBorderColorG" value="128"/>
122+
<property key="labeling/shapeBorderColorR" value="128"/>
123+
<property key="labeling/shapeBorderWidth" value="0"/>
124+
<property key="labeling/shapeBorderWidthMapUnitMaxScale" value="0"/>
125+
<property key="labeling/shapeBorderWidthMapUnitMinScale" value="0"/>
126+
<property key="labeling/shapeBorderWidthUnits" value="1"/>
127+
<property key="labeling/shapeDraw" value="false"/>
128+
<property key="labeling/shapeFillColorA" value="255"/>
129+
<property key="labeling/shapeFillColorB" value="255"/>
130+
<property key="labeling/shapeFillColorG" value="255"/>
131+
<property key="labeling/shapeFillColorR" value="255"/>
132+
<property key="labeling/shapeJoinStyle" value="64"/>
133+
<property key="labeling/shapeOffsetMapUnitMaxScale" value="0"/>
134+
<property key="labeling/shapeOffsetMapUnitMinScale" value="0"/>
135+
<property key="labeling/shapeOffsetUnits" value="1"/>
136+
<property key="labeling/shapeOffsetX" value="0"/>
137+
<property key="labeling/shapeOffsetY" value="0"/>
138+
<property key="labeling/shapeRadiiMapUnitMaxScale" value="0"/>
139+
<property key="labeling/shapeRadiiMapUnitMinScale" value="0"/>
140+
<property key="labeling/shapeRadiiUnits" value="1"/>
141+
<property key="labeling/shapeRadiiX" value="0"/>
142+
<property key="labeling/shapeRadiiY" value="0"/>
143+
<property key="labeling/shapeRotation" value="0"/>
144+
<property key="labeling/shapeRotationType" value="0"/>
145+
<property key="labeling/shapeSVGFile" value=""/>
146+
<property key="labeling/shapeSizeMapUnitMaxScale" value="0"/>
147+
<property key="labeling/shapeSizeMapUnitMinScale" value="0"/>
148+
<property key="labeling/shapeSizeType" value="0"/>
149+
<property key="labeling/shapeSizeUnits" value="1"/>
150+
<property key="labeling/shapeSizeX" value="0"/>
151+
<property key="labeling/shapeSizeY" value="0"/>
152+
<property key="labeling/shapeTransparency" value="0"/>
153+
<property key="labeling/shapeType" value="0"/>
154+
<property key="labeling/textColorA" value="255"/>
155+
<property key="labeling/textColorB" value="0"/>
156+
<property key="labeling/textColorG" value="0"/>
157+
<property key="labeling/textColorR" value="0"/>
158+
<property key="labeling/textTransp" value="0"/>
159+
<property key="labeling/upsidedownLabels" value="0"/>
160+
<property key="labeling/wrapChar" value=""/>
161+
<property key="labeling/xOffset" value="0"/>
162+
<property key="labeling/yOffset" value="0"/>
163+
</customproperties>
164+
<blendMode>0</blendMode>
165+
<featureBlendMode>0</featureBlendMode>
166+
<layerTransparency>0</layerTransparency>
167+
<displayfield>Name</displayfield>
168+
<label>0</label>
169+
<labelattributes>
170+
<label fieldname="" text="Label"/>
171+
<family fieldname="" name="Lucida Grande"/>
172+
<size fieldname="" units="pt" value="12"/>
173+
<bold fieldname="" on="0"/>
174+
<italic fieldname="" on="0"/>
175+
<underline fieldname="" on="0"/>
176+
<strikeout fieldname="" on="0"/>
177+
<color fieldname="" red="0" blue="0" green="0"/>
178+
<x fieldname=""/>
179+
<y fieldname=""/>
180+
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
181+
<angle fieldname="" value="0" auto="0"/>
182+
<alignment fieldname="" value="center"/>
183+
<buffercolor fieldname="" red="255" blue="255" green="255"/>
184+
<buffersize fieldname="" units="pt" value="1"/>
185+
<bufferenabled fieldname="" on=""/>
186+
<multilineenabled fieldname="" on=""/>
187+
<selectedonly on=""/>
188+
</labelattributes>
189+
<edittypes>
190+
<edittype labelontop="0" editable="1" type="0" name="Name"/>
191+
<edittype labelontop="0" editable="1" type="0" name="Value"/>
192+
</edittypes>
193+
<editform></editform>
194+
<editforminit></editforminit>
195+
<featformsuppress>0</featformsuppress>
196+
<annotationform></annotationform>
197+
<editorlayout>generatedlayout</editorlayout>
198+
<excludeAttributesWMS/>
199+
<excludeAttributesWFS/>
200+
<attributeactions/>
201+
</qgis>

0 commit comments

Comments
 (0)
Please sign in to comment.