QGIS – Remove Line Segments from a Polygon for Map Borders

cartographylinepolygonqgisvector

I am making a figure of the northern Himalaya, and in it are India, China, and Pakistan. These countries have disputed borders so I want to display these borders like they are displayed on Google Maps with dashed lines. But I don't know how to do this?

I have three vectors:

  • Country borders (thick black)
  • Regions borders (thin black)
  • Disputed borders (red dashed)

As you can see in the image below, the red dashed line has black lines appearing under it. For where there is a red line, I want only the red dashed line appearing and not the black lines. Everywhere else the black lines are fine. I believe they are polygons so that makes it a bit harder.

enter image description here

Best Answer

Solution 1:

Convert the polygons with the Polygon to Lines-Tool (under Vector>Geometry Tools), split the lines accordingly to the red borders and delete the parts which are overlaid by the red borders. Now only the red borders are rendered.

Solution 2:

Define a second outline for the red polygons, which matches the general background of the map like that:

layer styles

With this modification, the rendering changes from the left to right image:

enter image description here

Possible Solution 3:

You can also try to play around with the layer blending mode for all layers, however this depends also on the rest of the map and you may not get the desired results everytime.

Related Question