I would like to buffer a polygon inward by a percentage of its area, using the polygons below as an example.

How could I shrink each polygon inward resulting in a 35% reduction of area? I am using the term "reverse buffer" because I want the newly created polygons to have the same shape as the originals and be centered and within the originals, like the schematic below.

I am on ArcGIS 10.2 and have SA and ET Geotools.

  • 2
    A buffered polygon never has the same shape as the original unless the original was a perfect circle. So: do you want to buffer or do you want to shrink the polygons about their centers? – whuber Oct 11 '13 at 16:29
  • 1
    @whuber - I want to maintain the shape so I suppose I'd like to shrink about the center – jotamon Oct 15 '13 at 15:37

In QGIS, there is a Buffer by Percentage plugin that iteratively finds the buffer length required for resizing polygons to a specified percentage.

You can either specify a percentage that's applied to all features, or you can use a feature attribute to resize each feature by a different amount.

Here's an example of countries buffered to take up the area they would cover if they had the same population density as India:

  • 1
    This is a great solution to a slightly different problem. However, if you were to modify buffer_length to rescale the polygons about their centers, rather than buffer them, it ought to do exactly what the O.P. asks for. (+1) – whuber Oct 15 '13 at 15:39

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