I have a lot of layers in my project and I am trying to use the atlas generator in the print composer to create a tiled map. Some of the layers have labels which have different configurations with respect to placement.

So far I have found that only the placement offset from centroid with the centroid option whole polygon selected works seamlessly when exporting to tiles. In the following images four neighboring tiles has been merged and the blue lines represents the tile borders:

Offset from centroid:
Offset from centroid

Around centroid:
Around centroid


Using perimeter:
Using perimeter

The labels looks fine in QGIS when viewing the different areas, but every label is placed automatically to give a good visual appearance based on the current view. In my case the current view should be the entire map and each tile should be rendered according to that view.

Is it possible to configure the label engine in the atlas generator to calculate the label placements for the entire map instead of each tile separately?

  • 1
    Make point label layer.
    – Frodo
    Aug 4, 2017 at 7:52
  • 1
    @nagib, can you elaborate a bit on that idea? I have thousands of features with labels belonging to points, lines and polygons. Since the label engine only determine the placement/transformation of each label on rendering, I would manually need to decide how each label should be placed and how it should be rendered. I think it kinda defeats the purpose of the label engine.
    – Chau
    Aug 4, 2017 at 8:12
  • 1
    This is essentially a duplicate of gis.stackexchange.com/questions/37138/… - the only solution is to tell QGis where to place each label exactly as the label engine only sees the tile.
    – Ian Turton
    Aug 4, 2017 at 8:39
  • 1
    You might want to look into a different method of generating tiles in QGIS, such as those recommended here: gis.stackexchange.com/questions/14087/how-to-generate-tiles-with-qgis
    – csk
    Aug 7, 2017 at 18:30


Your Answer

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