I have to print 2 pages with different maps on every page. Every map represents a city as polygone and the scale in every map is the same. The setting of the zoom and the scale is not a problem: I have set the scale and for the extent in the map extention I've used the fallowing expressions xmin(geometry(getFeature('frame', 'gid', 1))) ymin(geometry(getFeature('frame', 'gid', 1))) xmax(geometry(getFeature('frame', 'gid', 1))) ymax(geometry(getFeature('frame', 'gid', 1))) and set map extension.

Now I have to find a way to have 2 pages as showed in the fallowing picture

enter image description here

The part in red is the same in every page. The 2 pages have the same dimensions and the same legend. In every map there are the same layers but zoomed on different polygones. In print-composer I can set the number of pages but in this way I have to duplicate the red part (legend and general info). I have tried to overlap the maps of the first page on the ones of the seconds and find a conditional function on the transparency of the map/page number (ex: if mapA is in page 1 transparency=0, if mapA is in page 2 transparency=100 and il map F and G are on page 1 transparency=100, if they are on page 2 transparency=0) but trying to find a way for page 1 and 2 with atlas I didn't work it out. Is there a way to change the maps and its position and dimensions through different pages dinamically?

1 Answer 1


Option One: Two Page Print Composer

With only two pages the most efficient way to achieve this is with a two-page print composer. To duplicate the red area, there's no need to re-create all of the items.

  1. Highlight the items in the red area
  2. Group them using the Group Items tool enter image description here
  3. Copy and paste (ctrl-V then ctrl-C)
  4. Use the Group Items tool again to group the copied items
  5. Move the new group to the next page.

If you need to make changes to the red area, change the original and replace the copy.

enter image description here

Option Two: Atlas with Transparent Maps

Overlay the pages and make some of the maps 100% transparent depending on what page of the atlas you're on. This option allows you to more easily make changes to the red outlined area. The downside is that the map items will be more difficult to change.

  1. Start with a two-page layout. Arrange the maps as you want them on each page.
  2. For every map on page 1, set data defined transparency using the expression

    if( @atlas_featurenumber = 1, 0, 100)

enter image description here

  1. Repeat for the maps on page 2, changing the 1 to 2 in the expression.
  2. Group up all the maps on each page. Move the map group from page 2 to page 1, overlaying the maps already on this page.
  3. Change the number of pages back to one.
  4. Generate an Atlas. For the coverage layer, use any layer with exactly two features.
  • I think duplicating the legende elements (and have to edit them both in the future) is much better that having overlaid elements in the map, which will certainly give some nice headache in the future. Nov 29, 2017 at 14:09
  • I agree, duplicating the legend elements is much more efficient. I provided the other solution because that's what the OP specifically requested. This way they can try both and see which they prefer.
    – csk
    Nov 30, 2017 at 19:03

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.