In QGIS I'm having trouble replicating the trees and mountains I see in the Middle Earth fantasy style maps pictured below.

enter image description here

I have the simple symbol loaded as an SVG, and I know I can add another Symbol Layer of a Point Pattern Fill to add some randomization. However, I can't find a way to make the trees seem to overlap and have the same feel as the picture I've posted. Does anyone have any suggestions on how to do it better?

I was inspired by John Nelson who explains how he created his tree symbols in ArcGIS: https://adventuresinmapping.com/2018/09/10/middle-earth-map-style/.

  • 1
    Since you say you can't find a way to make the symbols overlap, you could tell us, what settings you tried, as well as provide the symbols for us, I guess.
    – Erik
    Commented Jul 27, 2021 at 14:48
  • Welcome to Geographic Information Systems! Welcome to GIS SE! We're a little different from other sites; this isn't a discussion forum but a Q&A site. Your questions should as much as possible describe not just what you want to do, but precisely what you have tried and where you are stuck trying that. Please check out our short tour for more about how the site works
    – Ian Turton
    Commented Jul 27, 2021 at 14:56

1 Answer 1


Maybe try points instead of a polygon. Create random points inside of your area of interest. After you have created a few different tree styles (in inkscape?) populate the point attribute table with random numbers. Use those random number as classes to display your different tree styles.

Use Layer Rendering (In layer properites/symbology) to display your trees so that the southern (bottom) trees display before (on top of) the northern trees.

  1. Use the Field Calculator to populate your attribute table with the coordinate reference system y values of your random 'tree' points.
  2. In the layer symbology expand Layer Rendering. Check the Control feature rendering order check box. Expand the AtoZ button and set the expression to your new y value attributes. Ascend or descending order as appropriate for your coordinate reference system.

If you really want to use a polygon you are going to have to make a single svg such that the pattern repeats. Maybe you will have better luck at it than I did. As you can see, you can tell where the borders of the tree fill pattern edges are. Search the internet for making repeating patterns with Inkscape. enter image description here

  • Nice idea for point data, but as I understood it, OP has a polygon they want to fill using a point pattern fill - any idea how to do that?
    – Erik
    Commented Jul 27, 2021 at 16:57
  • 1
    @Erik - True that. I have edited my answer.
    – GBG
    Commented Jul 27, 2021 at 17:11
  • I am thinking... one also could create random points within the polygon and then use your point style - only downside would be that you'd have to repeat the process until you find a suited point density.
    – Erik
    Commented Jul 27, 2021 at 17:18
  • @Erik - Or start with a high density of points then use the random number you generated to query the data until the dot density is to your liking.
    – GBG
    Commented Jul 27, 2021 at 18:00
  • I was experimenting with using the Random Point Generation and stylizing those Markers. How would I layer those points in the polygon? They have no X,Y Coordinates.
    – ldionysius
    Commented Jul 28, 2021 at 0:39

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.