I have a dataset where different road types are in separate layers, i.e. motorways, primary roads and secondary roads. In turn, each layer is subdivided by embedded codes into different sub-types - 4 lane roads, 2 lane roads etc.

I currently have the layer style set so that each road is outlined in black. Thanks to another answer to a question here on GIS SE, I already know how to make different road segments 'blend together' so the black outline remains 'underneath' the colour using symbol levels, and that works fine.

However, because for example, the primary roads are in an entirely separate layer to the secondary roads, and are obviously above them in the rendering order, the black outline of the primary roads cuts over the colour line of the secondary roads. This has the effect of making any secondary road that meets a primary road look like a dead end.

The drawing order is essentially:

Primary road colour
Primary road outline
Secondary road colour
Secondary road outline

When it needs to be:

Primary road colour
Secondary road colour
Primary road outline
Secondary road outline

So that the colour line of the Secondary road blends seamlessly with that of the Primary road. Within a layer this is obviously handled by Symbol Levels, but this is overridden by the layer order. Drawing Layer 0 in the Primary road layer is still higher than Drawing Layer 1 in the Secondary road layer.

How can I fix this?

2 Answers 2


Another approach (besides Nathan's) would be to merge both layers into one. Then you could use symbol levels as usual.

  • That is what I would do if it was my dataset.
    – Nathan W
    Jan 10, 2013 at 12:52

There is currently no real support for this as far as I know, however what you could do is add the layer twice one with just the outline and the other with the fill. With this setup you can reorder the layers to get the result that you need.

Not ideal but I don't think there is any other way at the moment.

Here is an example of what it would look like.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.