I have a set of polygons and they can overlap with each other, like this: enter image description here

I want to modify them in such a way that they don't overlap and the resulting surface area stays the same. Something like this:

enter image description here

It is okay if the shape or the position changes. The main thing is that they should not overlap with each other and the area should not change much (I know the area changed a little in the second image but I drew it manually thus let's just assume that the areas did not change).

I am trying to do it programmatically with the help of Python. Basically I stored polygons in a PostGIS database and with the help of a script I want to retrieve them and modify them.

I am very new to GIS and thus this seems like a difficult task.

What is the correct way of doing it? Is there an algorithm that solves this kind of problems?

  • 1
    You need to clarify a few things: when you say "the resulting surface area stays the same" do you mean the total surface area of the three circles ignoring their overlap, or do you want to create three polygons that have the same area as a circle shown but not overlapping? Are your polygons always circles? Can you draw a diagram with a possible solution for the example given? – Spacedman Jul 7 '18 at 17:15
  • 1
    @Spacedman Polygons don't have to be circles. When creating every single polygon I want to modify it if it overlaps with the existing ones so that it does not and its initial area does not change. Not all of them combined. Just the one I am creating. I will try to draw a possible solution. Thank you. – Jahongir Rahmonov Jul 7 '18 at 17:22
  • @Spacedman some general direction would also help a lot. A newbie I am, I feel clueless now :) – Jahongir Rahmonov Jul 7 '18 at 17:23
  • 1
    Yes, if you can draw what you want it would help a lot. Also, you don't mention what software you are using or have available. – Mark Ireland Jul 7 '18 at 19:07
  • 1
    Something between these lines gis.stackexchange.com/questions/215813/… – FelixIP Jul 7 '18 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.