I have project which gets updated regularly and can have multiple areas which need to be mapped individually to go into separate reports. I generate an atlas in the composer and I have created a rule-based style using the following:
attribute( $currentfeature , 'id') = attribute( @atlas_feature , 'id')
This allow the user to go through each property, and if they are close together, then you only see the features for that specific area, not adjacent ones that might be in the map view. In the map composer, I can get the name of the area I am mapping and use in the title of the map using the string below (which changes each time you go to the next area within the atlas.
[% @atlas_pagename %] Rest of Title
One of the key issues i'm facing now is showing in the legend the areal measurement of what I am mapping. The following code; if I use a categorized style; will give me that label I am looking for (Property Boundary 100ha), but as it is not rule based, the surrounding features are not filtered out based on the atlas.
concat('Property Boundary ',round(area(transform($geometry,'EPSG:4283','EPSG:3308') )/10000), 'ha')
I tried using a rule based system and then applied a categorised style, but the label came out as the following in the label.
concat('Property Boundary ',round(area(transform($geometry,'EPSG:4283','EPSG:3308') )/10000), 'ha') = 'Property Boundary = 100ha'
Is there a way I can filter polygons based upon the atlas and dynamically change the label/legend value to reflect the area using the tools within QGIS (without running Python scripts).