-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Label with "using perimeter" option looses label and do not work as expected #15973
Comments
Author Name: Larry Shaffer (Larry Shaffer) Hi Régis, This issue may be solved by implementing a separate feature request. See "Add option to have boundaries of map canvas's current extent act as obstacles to labels" under Placement options in [[New Labeling changes and roadmap#Placement-options]]. Essentially, this would not affect the geometries (clipped or not) used for the perimeter labeling. What it would do however is to make the extent's geometry a feature(s) that is considered an obstacle to labels. I'm looking at making that obstacle variable in size, e.g. @(extent - [px- or map unit-sized buffer])@. This would keep the extent-clipped-edge labels from being considered as candidates for perimeter labeling as well. This also helps greatly for QGIS Server, where problem labels (as you have indicated) cause issues when generating/caching tiles. I am looking to implement that sometime this month (Dec. 2012). Note: could you add the screen snaps you reference?
|
Author Name: Regis Haubourg (@haubourg) Here are the screenshots! sorry for that
|
Author Name: Regis Haubourg (@haubourg) Considering the map canvas's extent as obstacles to labels seems a good idea, and maybe more simple to implement. |
Author Name: Larry Shaffer (Larry Shaffer) regis Haubourg wrote:
Yes. But, isn't that the point? The buffer zone doesn't need to be much bigger than the individual perimeter lines of the extent. A user may want to increase the buffer when generating tiles (as an example).
I think an extent buffer zone would override any setting like "Show all labels for this layer (including colliding labels)" since such a setting would negate it. Assuming the small parts of the clipped polygon in question were still capable of being labeled, then setting a very thin extent buffer zone (as described above) might do the trick. Concerning very small visible bits of features that generally wouldn't be labeled, that's another issue. Currently, if the label doesn't 'fit' within the length of the feature, it is not drawn. "Show all labels for this layer (including colliding labels)" will only show all labels that would generally be drawn, but skip hiding labels that would be hidden due to collisions, i.e. all overlaps of labels are allowed and shown. |
Author Name: Sandro Santilli (@strk) I'm also missing the "Line direction symbol" for perimeter labels, so I'd welcome threating polygon perimeters fully as lines too. Do you see any problem with that, Larry ? |
Author Name: Giovanni Manghi (@gioman)
|
Author Name: Nyall Dawson (@nyalldawson) Fixed in recent versions
|
Author Name: Regis Haubourg (@haubourg)
Original Redmine Issue: 6835
Affected QGIS version: master
Redmine category:labelling
Assignee: Larry Shaffer
Hi,
Using perimeter labeling option is not working well when labeling a polygon not entirely contained in mapCanvas extent. Polygon is clipped with extent and label is applied to that part.
Two major drawbacks:
As a solution, I suggest that polygons intersecting current extent be converted to lines and clipped with extent, and labeled with same algorithm as "Line" uses. That way, only real boundary can be used to label polygon. That would solve both issues.
regards.
I'm affecting it to Larry because I know he has a good global vision of labeling tools. Feel free to reaffect
Régis
The text was updated successfully, but these errors were encountered: