[Qgis-developer] Improve symbology system

Denis Rykov rykovd at gmail.com
Thu Sep 27 21:35:11 PDT 2012


QGIS is used rendering order of symbol layers within features not within
layer. Try to set up layer (two overlapped polygons) symbology for getting
such result http://hub.qgis.org/attachments/4909/geoserver_sld.png. Of
course you can open the same layer twice and set up their symbology
separately, but it is not the right solution.

On Fri, Sep 28, 2012 at 11:18 AM, Nathan Woodrow <madmanwoo at gmail.com>wrote:

> QGIS does already have the ability to control the rendering order of
> symbol layers, and should be able to do what you need.
>
> - Nathan
>
> Sent from some fancy phone looking thingo
> ------------------------------
> From: Denis Rykov
> Sent: 28/09/2012 1:29 PM
> To: qgis-developer at lists.osgeo.org
> Subject: [Qgis-developer] Improve symbology system
>
> 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:
> http://hub.qgis.org/attachments/4909/geoserver_sld.png 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:
>
> <StyledLayerDescriptor version="1.0.0" xmlns:xlink="
>> http://www.w3.org/1999/xlink" xmlns:ogc="http://www.opengis.net/ogc"
>> xmlns="http://www.opengis.net/sld">
>> <NamedLayer>
>> <Name>test</Name>
>> <UserStyle>
>> <Name>test</Name>
>> <FeatureTypeStyle>
>> <Rule>
>> <LineSymbolizer>
>> <Stroke>
>> <CssParameter name="stroke-width">4</CssParameter>
>> <CssParameter name="stroke">#dddddd</CssParameter>
>> </Stroke>
>> </LineSymbolizer>
>> </Rule>
>> </FeatureTypeStyle>
>> <FeatureTypeStyle>
>> <Rule>
>> <PolygonSymbolizer>
>> <Fill>
>> <CssParameter name="fill">#fa5000</CssParameter>
>> </Fill>
>> </PolygonSymbolizer>
>> </Rule>
>> </FeatureTypeStyle>
>> </UserStyle>
>> </NamedLayer>
>> </StyledLayerDescriptor>
>
>
> I tried to import this SLD into QGIS, but SLD docs containing multiple
> FeatureTypeStyle are not supported yet (#6413<http://hub.qgis.org/issues/6413>
> ). 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:
> http://gis-lab.info/forum/download/file.php?id=5008. 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?
>
> ArcGIS is used "by feature" approach but solves described issue by using
> join operator, for example:
> http://gis-lab.info/share/DR/screenshots/symbollevels.png
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20120928/d38f37a6/attachment-0001.html>


More information about the Qgis-developer mailing list