3

Is there a way of specifying a minimum scale for all the features of the atlas? (without using the fixed scale option) and for all scales above that "predefined scale (best fit)"? I want to have a minimum scale for the features in the atlas which are too zoomed in and best fit for any scales over that.

2 Answers 2

4

Having just figured it out, I thought I may benefit those of you who are having / will have the same issue as me in the future.

By selecting the scale settings in the composer to "predefined scale (best fit)", the system will automatically choose the best fit scale for each feature in that shapefile from a list of scales as defined in the project set up. This list can be accessed by:

Project > Project Properties > General > Scale properties. From here you will see a list of predefined scales. Add/Alter/Delete as required to acheive desired result. You can also specify your minimum/maximum and anything in between here. Simples.

Hope this helps!

1

You can also edit the scale settings in your atlas properties and insert an expression like this:

IF(TO_INT(item_variables('Map')['map_scale'] < 5000, 5000, TO_INT(item_variables('Map')['map_scale']

While Map is the name of the map in your atlas that you want to define the minimum scale for. In this example, the code checks for the scale of the currently displayed feature and if the scale is <5000, the scale will be set to 5000.

Personally, I hate odd numbers of scales, for example 5032. I also set the code to automatically round the scale to the next tens, so here 5030:

IF(TO_INT(round(item_variables('Map')['map_scale']/10, 0)*10) < 5000 AND "Type" = 'Index', 5000, TO_INT(round(item_variables('Map')['map_scale']/10, 0)*10))

What it does is divide the odd scale value by 10 (503.2), round it and covert it to an integer (503) and then multiply it by 10 again to get 5030. In this example, only overview maps with the field value "Type" = 'Index' are set to min 5000. Detailed maps can have a smaller scale.

I hope that helps somebody!

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.