When you want to label a point layer in QGIS and go to "Position" there are the three options shown in the image (sry its not in english):

enter image description here

Hovering on the "around point" option gives me the information

label will be positioned on a circle around the point object

I don't understand what that means. Anyway we just have one label right? Thus it will be positioned on a circle around the object but I won't get many labels around the object. What could be usecases for this option?

I'm using QGIS 3.4.13

  • The label will be positioned somewhere around the point on a circle of possible places the labeling engine will choose from at the given distance you enter... – DPSSpatial Jan 22 at 17:38

The point of the "Around Point" placement is to allow the label engine some freedom to optimize the placement of the label within the defined radius. This can help avoid overlaps/truncations when changing scale, or when other labels are set to move around the polygon's visible extent.

In application, I've found the performance of "Around Point" to be underwhelming, normally resulting in an almost entirely static placement strategy that does not help much, if at all, with overlaps/truncations.

However, there have been a large number of changes to the labeling engine in QGIS recently, all of which have been merged into QGIS Master/Nightly. I'm uncertain of what release they're targeted for at present. Nyall Dawson and others have been really digging into PAL and fixing many shortcomings, bugs, limitations, etc., with the outcome of a seemingly far more robust and performant labeling engine coming soon™.

Here's one that will likely vastly improve the usability of "Around Point" (as well as all other label rendering): Rework labeling maximum candidate logic #33496

First up, the easy one: This PR drops the setting for maximum number of point label candidates. This setting is easily replaced by automatically calculated, optimised values for each separate point placement mode individually. So that's an easy win. Then the exciting bit: a rework of the label engine "maximum line candidates" and "maximum polygon candidates" settings and logic The previous approach of a single fixed value which applied to ALL line and ALL polygon features was... not ideal. It meant that all line features would be assigned the same number of candidates, regardless of length. So a road of length 1 cm on the rendered map would have an identical number of candidates as a 30cm road covering the length of the whole map!! This resulted in both a lot of wasted calculations (generating a ridiculous number of candidates for small lines at barely discernable distances from each other) AND an insufficient number of candidates for lengthy features (resulting in worse label placement for these features). The situation was similar, but even worse for polygons. Checkout the screenshot below, showing how a tiny polygon is flooded with an excessive number candidates yet the larger polygon has comparatively poor coverage by its candidates: enter image description here

Now, the setting is reworked to "Number of line candidates per cm" and "number of polygon candidates per cm2". This means that small features get much less candidates, and large features get much more features! Both a win for map rendering speed in many circumstances AND good cartography... now that's a nice Christmas gift for QGIS :) The new candidate placement is shown below. Note the reasonable candidate count for the small polygon, and better coverage of the larger polygon (a follow up PR will bring further dramatic improvements to this candidate coverage!) enter image description here

Combined with this: Improve polygon candidate generation logic #33535

Instead of basing the initial dx/dy for the grid-based polygon candidate generation on the size of the label itself, instead use either the engine setting for polygon label density OR try and infer this from the maximum number of candidates to generate for the polygon. This avoids numerous issues with the label-size based approach:

small labels (e.g. 1-2 digit labels) would generate a HUGE number of candidates because the initial dx/dy were very small large labels would generate very few candidates, giving few options for placement within these polygons (due to initially large dx/dy) by generating much more candidates then desired for small labels, all the candidates further from the polygon centers would be culled at a later step, meaning that the only candidates available for the labeling problem solving would be clustered around a very small area of the polygon (instead of distributed over the whole polygon)

Please keep in mind that the list above is not exhaustive, but just shows two examples of significant improvements to PAL which should make labeling more effective across the board, including when using the "Around Point" option.

|improve this answer|||||

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.