Essentially the problem is that if you digitise each polygon separately the boundaries will not match exactly. My instinct is to have a table of line segments and generate the polygons from that using postgis but then all the line segment end points have to join exactly which is painful as there are a lot of line segments.

I have thought about writing a script that uses heuristics to match up lines and then add extra segments to bridge the gaps as suggested in a previous question I asked: How to automatically convert line features into polygons using QGIS/PostGIS?

I feel this is such a common task that there must be some "best practice". If I were starting from scratch then how would I do it?

  • Surely qgis has a suite of snap-to controls. That would do it wouldn't it?
    – mdsumner
    Commented Jul 20, 2014 at 6:46
  • I did not know about snapping controls. I will investigate. Commented Jul 21, 2014 at 5:00

2 Answers 2


You can digitize polygons with common borders using the proper settings in snapping options. I am asumming that you already have a polygon layer where you want to digitize something.Go to settings/snapping options and define the following

a) Select the polygon layer and define the mode to vertex and segment

b) Define a tolerance of 10 or 15 pixels

c) Define to avoid intersection of new polygons

d) Enable topolical editing

This settings will allow you to define the common borders by snapping to the nodes where the border begin and ends. Also if you define some nodes at the interrior of the other polygon, the intersection is erased since you defined "avoid intersection of new polygons" and the border between them is preserved. Keep in mind that if you have more than one common border, you have to intersect each one to define them.

This video explains what I meant before. It is a little bit long, in spanish and it uses Qgis Lisboa, but the procedure is the same.


Hope it helps



My solution is to digitize the boundaries one after each other, using a snapping tolerance of 10 pixels to fetch the vertices of the existing polygon.

Another option is to use the polygonizer: How to go with...somewhat complex geological maps in QGIS?. It combines lines to polygons in an automated way.

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.