2

I am currently working with the QGIS (3.6) map composer using the atlas tool; it's quite handy, but I've come across a small problem and I'm wondering if there is a solution to this.

The coverage layer is a multi-polygon layer with different survey fields (see image)

enter image description here

I would like to add a text box to the map layout automatically displaying the name of the current feature (in the centre), as well as the names of the other visible features in the map layout. For example, the text could read "map showing the outlines of field_a, field_b, field_c etc."

I know that I can use the "expression"-function for obtaining the name of the current feature, but is there also an expression to obtain all of the other ones?

5
  • So... you want labels?
    – Erik
    Commented Jan 9, 2020 at 14:46
  • no, the text box in the lower left corner should contain the names of all the outlined fields in the map layout
    – Gwendolo
    Commented Jan 9, 2020 at 14:53
  • for example, I can insert the expression [%"Name"%] in the text field, but it will only give me the name of the current feature; I would like to know if there is an expression to get the names of all features
    – Gwendolo
    Commented Jan 9, 2020 at 14:57
  • Yeah, but why go through that trouble, when you can use labels?
    – Erik
    Commented Jan 9, 2020 at 14:57
  • it's not displayed but the polygones actually outline raster fields and I don't want to use labes as they would cover some raster cells
    – Gwendolo
    Commented Jan 9, 2020 at 14:59

1 Answer 1

1

Add an attribute table to the layout.

In the item properties tab, choose the option to "show only features within a map."

Click the "Attributes" button to open a dialogue that lets you choose which columns to display - turn off all the columns except "Name". In this dialogue you can also edit the displayed column name.

This should give you a list of the Names of all the features in your chosen layer on the current map.

If you have multiple layers, add another table for each layer.

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.