Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working with two polygon layers (counties & states) which I will 'intersect' to find which counties are within which states. Due to data inaccuracies I have to change all county polygons and make them a bit smaller. At this stage it doesn't really matter by how much, as long as I can do this change automatically. I understand that polygons which are currently perfectly aligned now, will afterwards have a 'gap' between them, but that's fine.

I've tried 'Simpliyfy Geometries' but this only 'smoothens' edges and doesn't help in this case.

Is there any option in QGIS to reduce the size of polygons automatically? (i.e. move all polygon points 200 meters closer to the 'polygon mid-point').

Cheers !

share|improve this question
It might be simpler just to execute a different query, such as finding all counties whose centers lie within a given state. Although it's geometrically possible for a county to lie in one state but its center (computed as a centroid) to lie in another, that is unlikely. If you're worried about this possibility, use polygon centers that definitely lie within the polygon interiors. Another possibility is to intersect the state and county layers and discard any small-area bits, then query what's left. Both operations are faster and easier than shrinking counties. – whuber May 20 '13 at 13:32
Thank you guys - both are great ideas. Unfortunately, the negative buffer option didn't seem to work - but the polygon centers worked well. Cheers ! – user18347 May 21 '13 at 10:00

If all you want are smaller polygons, you can use a negative buffer (buffer tool with a negative buffer size). You might want to combine the negative buffer with a simplification depending on what you want to use the output for.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.