I'm looking at natural earth data to generate each country and save it as a png. What I'm using is: 10m_populated_places, 10m_admin_0_countries and 10m_land.

The populates places is the first layer, then the countries and then the land. For each of the countries I want to:

1) Filter populated places to FEATURECLA = 'capital' & ADM0NAME = country

2) Filter countries to ADMIN = country

3) Set the said country in the middle of the screen and save it as an image. For this I need to zoom in but leave some space around the country.

I'm a complete beginner, what is the easiest way to accomplish this with QGIS or some other GIS software?


The closest to a solution is described by Nathan here: How to produce multiple maps with same layout for different layers' extents?

Easy direct filtering is currently not implemented in Atlas: How to mask out features outside of the Coverage Layer for Atlas plugin?

| improve this answer | |
  • Thank you, this is unfortunate. Do you know of any other software that can accomplish this? – Dan Apr 30 '14 at 17:43
  • It's not entirely true that the filtering is impossible. It can be done using a geometry function, eg the expression "within($geometry,$atlasgeometry)" will match all features which fall within the current atlas polygon. So, for your populated places layer you could set it to a rule-based renderer, with the "within" expression matching places within the current country and an else rule hiding the places outside the current country (see nathanw.net/2013/12/02/…). Your #2 condition can be met by setting a filter in the atlas panel. – ndawson Apr 30 '14 at 22:36
  • Thanks @ndawson! Great to know! I've corrected the answer. Looks like your comment should become an answer though :-) – underdark Apr 30 '14 at 22:39

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.