I'm working on making a mask in QGIS to have one area(county A) outlined while the other areas(counties) are under a semipermeable layer. I already know how to do this for one selected area.

But my question is now: Is it possible to create some kind of mask where I simply need to select the county of my choice and the rest is covered? And it would make it a lot easier if I could change between the counties for uncovering by selection without creating a mask for every county I want to highlight. Maybe somebody knows how to do this?

I hope my question is quite clear. If not I will try to be more specific. Thank you for helping :)

  • 5
    Hi GermanGeography - could you let us know more about what kind of software you are using for this masking problem?
    – Simbamangu
    Mar 13 '12 at 14:03
  • 1
    oh yes, sorry. It's QGis I'm working with. Mar 15 '12 at 10:54

you should gieve a try to "mask" plugin: http://plugins.qgis.org/plugins/mask/

You can either select by hand or query your objects. It takes them, dissolve them and create a hole in a square feature that is 4 times larger than select objects. It adds a semi-transparent memory layer to your project. If Memory layer saver plugin is installed, your project will keep thos layers. If not, you have to save it as shape or other..


I created an ArcGIS toolbox/model to create an Area of Interest Mask a while back that does this (sort of). Based upon the user selection, you must run the model to create a "donut hole" mask around the selected feature. Then you can resymbolize the mask as needed.

If you need to refocus your area of interest on another polygon, you would need to select the feature(s) of interest and simply run the model again. It creates an in memory feature layer, so nothing is written to disk. It doesn't automatically change the mask based upon selection, but pretty darn close.

  • sorry that I didn't mention using qgis. your ArcGis toolbox won't work for qgis right? Still thank you for your answer! Mar 15 '12 at 11:06
  • its always important to mention software up-front to get the best responses. correct, arcgis tools dont work with qgis. Mar 15 '12 at 14:05

There are a couple of things you could try, but nothing I suggest here will give you instant, one-click results:

  • Use a definition querry to highlight one county while all the others are on another layer that you can symbolize however you want. I think this would work the best. Just make sure you have an easy to read identifyer for each country.

  • Create new layers for each county and symbolize (although if you have many countries this is probably not a good option)

  • Create multiple mask layers (one for each country) that you can turn on and off like this


It sounds like you are using the Clip Option to Clip to Shape (with a feature selected) on the Data Frame tab of the Data Frame Properties.

Unfortunately, this appears to read the shape to set the clip/mask polygon rather than maintaining a dynamic link to the selected polygon (or all polys remaining on a layer with a definition query).

To achieve what you are after using ArcPy to automate your mapping would I think require a method to be added to the DataFrame class that would enable you to Add/Remove/Replace the clipping mask by re-reading the selected polygon.

There does not yet appear to be an ArcGIS Idea for this to be added.

Your Answer

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

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