I'm trying to create a style for a vector shapefile that matches a raster map. I have detailed information about the different attributes and much of the layers are easy to style but there are one main problem that I've run into.

Please look at the attached image. Here I'm showing the same area with different layer styles. Picture 1 shows only the raster image. The arrow points to a diffuse shoreline in the raster map. It should have a blue fill with a dashed border like in picture 2.

The problem is that not only the shoreline gets the dashed border but the border that is located in the water also. When I fill the other water areas with a blue fill and a thin blue border it looks like picture 3.

So my question is how can I get rid of the borders that are out in the water? Can I fix that with styles in some way?

enter image description here

  • Do you need to be able to query the shapefile for the different regions?
    – nmtoken
    Commented May 10, 2018 at 10:44
  • So this is a polygon in the data but you only want to draw some sides of it? The line in the water is the polygon returning back to the start? If you put the layers in order: land: shoreline: water; then you might see the shoreline dashes if they are over the land?
    – Spacedman
    Commented May 10, 2018 at 11:30

1 Answer 1


Assuming all the water pieces are in the same layer:


enter image description here


enter image description here

No boundary:

Set boundary color to the same as fill

Width to 0.2 so the gaps are filled.

enter image description here

Dashed boundary:

New fill.

"Outline: Simple line"

Strike width must be bigger than 0.2.

enter image description here

Finally from fill, choose Advaced>Symbol levels:

enter image description here

Give the dashed layer a lower numbed than the interior fill, it will be rendered first with the in fill on top:

enter image description here


enter image description here

As detailed in:

Polygon Outlines in QGIS

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.