I have around 1250 maps of species distributions. Each species is a different shapefile projected on one base-map.

I can use the TomBio addon to export everything as a single map (PNG) without too much trouble, but I don't want seperate images. I want 8 small maps on a A4 format. Making this in the QGIS print composer is simple, but it takes a lot of time to produce all the maps. I was wondering if there is a faster way to automatically generate all my maps using QGIS.

So: Is there a way to use the template in my print composer (8 small maps of 8 different species on A4 format) to generate this for all of my 1250 species without having to do this all manually.

  • Have you had a look at the atlas-feature?
    – Erik
    Jan 7 '20 at 8:44
  • Is each extent of your 1250 maps stored anywhere ?
    – Snaileater
    Jan 7 '20 at 8:45
  • @snaileater, yes, but not as map but as shapefile. Jan 7 '20 at 8:45
  • @Erik, i don't know of this feature. Thanks for the heads up, i will surely look at it. Jan 7 '20 at 8:47

Use the atlas composer and the lock layers data defined override option

  1. Create a csv (or other file) listing all the maps you want to create, this will be a column labelled layerMap1, layerMap2 containing the layers for each map - this will be in the format "ANIMAL|Basemap"
  2. load the csv into qgis, then in the print composer, set the atlas coverage layer to the csv
  3. In the map item properties turn on lock layers, then in the data defined options set it to the field layerMap1
  4. when you activate atlas mode, you should now be able to export as an atlas with data defined layers
  • Thanks, i will try this asap to see if it works. Jan 7 '20 at 9:33
  • @Anthony How do u meet Steve's expectation of 8 maps per page ?
    – Snaileater
    Jan 7 '20 at 9:47
  • @snaileter, indeed. I tried and this is the problem i ran into. Jan 7 '20 at 10:09
  • Try using a Print Report instead of a Print Layout. This feature is not well documented, but I think you can do multiple atlases inside the same report. Not sure if you can use that to put multiple atlases on one page, though. Use the modulus operator to filter the map extent (eg first atlas on the page is filtered by "map number" % 8 = 0, second atlas is filtered "map number" % 8 = 1 and so on).
    – csk
    Jan 7 '20 at 19:12
  • If the print report feature doesn't work, you might need to assemble the atlas output in another program like adobe illustrator.
    – csk
    Jan 7 '20 at 19:13

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.