Skip to content

Commit

Permalink
Merge pull request #181 from mholthausen/refine-text-labels
Browse files Browse the repository at this point in the history
Refine text labels
  • Loading branch information
jansule authored May 18, 2021
2 parents 1176e69 + 980ff73 commit a139884
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 30 deletions.
5 changes: 1 addition & 4 deletions data/qmls/no_symbolizer.qml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis>
<renderer-v2 type="RuleRenderer">
<rules key="renderer_rules"/>
<symbols/>
</renderer-v2>
<renderer-v2 type="nullSymbol"/>
</qgis>
5 changes: 1 addition & 4 deletions data/qmls/point_label.qml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis>
<renderer-v2 type="RuleRenderer">
<rules key="renderer_rules"/>
<symbols/>
</renderer-v2>
<renderer-v2 type="nullSymbol"/>
<labeling type="rule-based">
<rules key="labeling_rules">
<rule key="labeling_rule_0" filter="value > 0.1">
Expand Down
7 changes: 2 additions & 5 deletions data/qmls/text_text_buffer.qml
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis>
<renderer-v2 type="RuleRenderer">
<rules key="renderer_rules"/>
<symbols/>
</renderer-v2>
<renderer-v2 type="nullSymbol"/>
<labeling type="rule-based">
<rules key="labeling_rules">
<rule key="labeling_rule_0">
<settings>
<text-style fontSize="10.6135611907387" fontLetterSpacing="0" multilineHeight="1" textColor="0,0,0,255" fontFamily="DejaVuSans" fieldName="Sample label"/>
<placement predefinedPositionOrder="TR,TL,BR,BL,R,L,TSR,BSR" xOffset="0" yOffset="0" rotationAngle="0"/>
<text-buffer bufferSize="0.7938257993384785" bufferColor="250,250,250,255"/>
<text-buffer bufferSize="0.7938257993384785" bufferColor="250,250,250,255" bufferDraw="1" bufferSizeUnits="Pixel" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
</settings>
</rule>
</rules>
Expand Down
50 changes: 33 additions & 17 deletions src/QGISStyleParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -902,25 +902,38 @@ export class QGISStyleParser implements StyleParser {
const type: string = 'RuleRenderer';
const rules: any[] = [];
const symbols: any[] = this.getQmlSymbolsFromStyle(geoStylerStyle, rules);
return {
qgis: {
$: {},
'renderer-v2': [{
$: {
type
},
rules: [{
if (rules.length > 0 || symbols.length > 0) {
return {
qgis: {
$: {},
'renderer-v2': [{
$: {
key: 'renderer_rules'
type
},
rule: rules
}],
symbols: [{
symbol: symbols
rules: [{
$: {
key: 'renderer_rules'
},
rule: rules
}],
symbols: [{
symbol: symbols
}]
}]
}]
}
};
}
};
} else {
return {
qgis: {
$: {},
'renderer-v2': [{
$: {
type: 'nullSymbol'
}
}]
}
};
}
}

convertTextSymbolizerRule(qmlRuleList: any[], rule: Rule) {
Expand Down Expand Up @@ -964,7 +977,10 @@ export class QGISStyleParser implements StyleParser {
textRule.settings[0]['text-buffer'] = [{
$: {
bufferSize: textSymbolizer.haloWidth || `0`,
bufferColor: this.qmlColorFromHexAndOpacity(textSymbolizer.haloColor, 1)
bufferColor: this.qmlColorFromHexAndOpacity(textSymbolizer.haloColor, 1),
bufferDraw: 1,
bufferSizeUnits: 'Pixel',
bufferSizeMapUnitScale: '3x:0,0,0,0,0,0'
}
}];
}
Expand Down

0 comments on commit a139884

Please sign in to comment.