QGIS – How to Create an Area of Interest Polygon Mask

cartographyqgis

I've created a GP tool using ArcGIS that creates an "area of interest" mask from selected features. Effectively it creates a new donut polygon layer where the hole was the previously selected features. Can I replicate this task in QGIS?

Example:
For a specific map, I want to highlight a county within the state and mask the rest of the state and features outside the county with a gray, semi-transparent polygon layer above. Conceptually I would do it similar to this.

  1. User loads state, county, and river layer
  2. User selects county of interest
  3. Run a utility (if it exists) that exports all of the unselected features to a donut shapefile without the originally selected polygon. If this layer mask was an "in memory" layer only available to QGIS, that would be just fine, too, maybe even better.

Does this type of tool or capability already exists within QGIS or will I have to write this as a custom function?

Here is how I did it in ArcGIS with ModelBuilder and the result I would be looking for, where the yellow layer and river layer exists statewide (all the way across the image), and the gray layer is transparent with a "donut hole", allowing the bright yellow portion to display through and draw the viewers attention the the area of interest:

enter image description here
enter image description here

Best Answer

To create a mask, I'd suggest using Polygon from layer extents (vector - research tools) and Difference (vector - geoprocessing tools) with "use only selected features" option activated.

If you really want to "exports all of the unselected features to a donut shapefile", you could try Dissolve, but it's quite slow and you might end up with suboptimal results like tiny holes etc.

Creating on big polygon with polygon from layer extents tool and then cutting out the selected county should be much faster.

Related Question