I know about the print composer's atlas generation tool, which allows users to create multiple maps that show the same layers/features but different geographical areas.

What I am looking for is a workflow that would optimize the creation and updating of a number of maps (probably around 10, potentially more) that would cover the same area but show different shapefiles/layers and therefore have different titles and slightly different legends.

Right now my proposed workflow is the following:

  1. Load all layers (in the same file)
  2. New print composer
  3. Select layers for Map 1
  4. Add legend, text boxes, title, etc.
  5. Save as template as Map1.qpt
  6. Export as PDF
  7. Repeat steps 3 to 6 for Map 2, 3, etc.

When I need to update the maps I would do the following:

  1. Re-export layers and layer styles as necessary (for layers other than the base map)
  2. Select layers for Map 1
  3. Load print composer
  4. Add Items from Template (Map1.qpt)
  5. Export as PDF
  6. Repeat steps 2 to 5 for Map 2, 3, etc.

Would it more efficient to create one QGIS file for each map instead?

Whenever I update the maps I have to re-export a number of shapefiles so using duplicate layers and layer groups would not be ideal either--not to mention that it can get pretty confusing.

1 Answer 1


In QGIS 2.8 you have the option to lock the styles in a map. First add number of map pages in the print composer. Example with two maps:

enter image description here

And the corresponding print composer

enter image description here

In the Print Composer Map properties check the "Lock layers for map item" and "Lock layer styles for map item" properties. Do this for each map, after setting the layers shown and styles in QGIS.

enter image description here

The lock layer style seems missing from QGIS 2.8 changelog: https://www.qgis.org/en/site/forusers/visualchangelog28/index.html#map-composer

When you print from the Map Composer each map will have it's own number of layers and styles.

  • 1
    Thanks for your help! So if I have 10 maps to make, I should just create a composer with 10 pages, copy the map and legend 10 times, select the appropriate layers for map 1, lock the layers and style for map 1, and then do the same for maps 2-10? And do the same thing all over again when I need to update them?
    – Balala
    Apr 7, 2015 at 0:57
  • 2
    Yes, but you do not need to do it all again, when you update the map. Save the map composer as a template and reuse it the next time you need to print. If you add a new table, you have to handle that manually to the maps of the composer.
    – Jakob
    Apr 7, 2015 at 17:14
  • Ok, so if the layers remain the same but the data has changed, then it should work, correct? My issue is that for the job I have to do, I need to re-export layers and therefore their name is bound to change. I suppose that it won't work then and that I'll have to redo the same process - is that right?
    – Balala
    Apr 7, 2015 at 19:40
  • 1
    Yes the tablename must be same, the columns defining style must have the same name between exports.
    – Jakob
    Apr 7, 2015 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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