<html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></head><body><div><div style="font-family:Calibri,sans-serif;font-size:11pt">QGIS does already have the ability to control the rendering order of symbol layers, and should be able to do what you need.<br>
<br>- Nathan<br><br>Sent from some fancy phone looking thingo<br></div></div><hr><span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">From: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">Denis Rykov</span><br>
<span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">Sent: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">28/09/2012 1:29 PM</span><br><span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">To: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt"><a href="mailto:qgis-developer@lists.osgeo.org">qgis-developer@lists.osgeo.org</a></span><br>
<span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">Subject: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">[Qgis-developer] Improve symbology system</span><br><br></body></html>
Some days ago I've faced with the following problem. For example, I have two overlapped polygons and want to draw this layer such way:<div><a href="http://hub.qgis.org/attachments/4909/geoserver_sld.png">http://hub.qgis.org/attachments/4909/geoserver_sld.png</a> Now it looks like I cannot do it with QGIS symbology system. Screenshot which I provided above was made in GeoServer with the following SLD configuration:</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><StyledLayerDescriptor version="1.0.0" xmlns:xlink="<a href="http://www.w3.org/1999/xlink">http://www.w3.org/1999/xlink</a>" xmlns:ogc="<a href="http://www.opengis.net/ogc">http://www.opengis.net/ogc</a>" xmlns="<a href="http://www.opengis.net/sld">http://www.opengis.net/sld</a>"></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><NamedLayer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Name>test</Name></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><UserStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Name>test</Name></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><FeatureTypeStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Rule></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><LineSymbolizer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Stroke></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><CssParameter name="stroke-width">4</CssParameter></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><CssParameter name="stroke">#dddddd</CssParameter></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></Stroke></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></LineSymbolizer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></Rule></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></FeatureTypeStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><FeatureTypeStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Rule></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><PolygonSymbolizer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><Fill></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"><CssParameter name="fill">#fa5000</CssParameter></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></Fill></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></PolygonSymbolizer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></Rule></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></FeatureTypeStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></UserStyle></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></NamedLayer></span><br style="margin:0px;padding:0px;line-height:14px;color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;background-color:rgb(255,255,255)">

<span style="color:rgb(46,139,87);font-family:Monaco,'Andale Mono','Courier New',Courier,mono;font-size:12px;line-height:15.199999809265137px;background-color:rgb(255,255,255)"></StyledLayerDescriptor></span></blockquote>

<div><br></div><div>I tried to import this SLD into QGIS, but <span style="background-color:rgb(255,255,255);color:rgb(48,48,48);font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px">SLD docs containing multiple FeatureTypeStyle are not supported yet (<a href="http://hub.qgis.org/issues/6413">#6413</a>).</span> But I think that problem is more seriously. Now in QGIS rendering performs by features but not by layers. Try to explain it. For example we have two symbol's layer - first with border, but without filling and second - with filling but without border. If we try to render such layer we will get the following result:</div>

<div><a href="http://gis-lab.info/forum/download/file.php?id=5008">http://gis-lab.info/forum/download/file.php?id=5008</a>. It is expected beacause QGIS is used by feature rendering approach. Another approach is using rendering by layer: first draw a layer according to the symbology of the first level, and then second and then overlying each other. In this case we get result as in GeoServer. I think that this approach is more flexible, using "by layer" rendering we can get the the same result as using "by feature" approach (in our case using one level symbology with border and filling). Is it to makes sense to add checkbox to each symbology layer wich will be indicate QGIS rendering system used "by layer" rendering approach?</div>

<div><br></div><div>ArcGIS is used "by feature" approach but solves described issue by using join operator, for example: <a href="http://gis-lab.info/share/DR/screenshots/symbollevels.png">http://gis-lab.info/share/DR/screenshots/symbollevels.png</a></div>