I would need to find out which is the best location to plant new trees on a plot of land I already have. I´ve created a vector file for the plot(polygon) and another one (points) to indicate the already existing trees. According to these information (the spatial location of the already existing trees), I would like to understand where to plant new trees which must be at a distance of at least 6 metres from each other, as well as from the already present trees there.

  • So you want to place as many points as possible in your polygon as long as they are 6 m apart and from existing trees?
    – BERA
    Aug 7, 2018 at 17:54
  • @BERA has a good point-- how many new trees you want to plant may change the solution. You'll still want to create the buffer around your existing trees, but there are more or less automated ways to choose the locations for your new ones depending on how many there are.
    – lambertj
    Aug 7, 2018 at 18:03
  • 1
    You are describing a hardcore inhibitory point pattern. You can simulate from hardcore inhibitory processes with the spatstat package in R, I don't know of an implementation in Python.
    – Spacedman
    Aug 7, 2018 at 21:54
  • Is this a real life problem or just something theoretical? Because in real life, this is an old problem with an easy solution. However it is not adequate if you are looking for the optimum solution.
    – HMSP
    Aug 8, 2018 at 12:45
  • thank you everybody for the useful answers! yes, I want to place as many points as possible and, actually, it is a real life problem since I would like to know how many trees I can buy in order to plant them. Which is the solution to the real problem? again thank you to everybody!
    – VinceFer
    Aug 8, 2018 at 14:36

2 Answers 2


Another option is to simply add a layer to your tree symbol that is set to the width you need.

For example, here I've created a point layer for the trees, but added another symbol layer and set the width to 100 map units, which in my case (region) is in Feet (state plane Colorado USA):

enter image description here

A benefit of this is the feedback is instant, and you don't need to run any processing when you add or move a point.


Trees plantations are made following a regular grid, because it is faster and makes maintenance easier. The grid is usually square but it can be different (https://en.wikipedia.org/wiki/Quincunx) depending on the tree species, the orography etc. Therefore, a simple solution is the following:

  1. Generate 6m buffer around the already existing trees.
  2. Create a regular point grid using 6 meters distance (in QGGIS vector/Research Tools/Regular Points).
  3. Remove the points that are out of the parcel and those overlapping with the buffer (use Geoprocessing Tools).
  • Many thanks indeed to everybody for the answers and support. I will try your suggestions and see if I manage to do it! Thank you, my best regards
    – VinceFer
    Aug 9, 2018 at 15:55

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.