Bug report #18384
Combination of segments_to_lines($geometry) and @geometry_part_num gives wrong segment numbers
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | Nyall Dawson | ||
Category: | Symbology | ||
Affected QGIS version: | 3.5(master) | Regression?: | Yes |
Operating System: | Windows 10 & Ubuntu Linux 17.10 | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 26274 |
Description
When creating a style (segments.qml) for a polygon layer I noticed a difference between QGIS 2.99 (Windows standalone installer) and QGIS 3.0 (OSGeo4W) when I use segments_to_lines & @geometry_part_num.
- I created a polygon layer and added some polygons.
- Then I started editing the layer style:
- I added a Geometry generator as symbol layer to create a Linestring type that contains segments_to_lines($geometry)
- Then I changed the line type of the result to a "Marker line"
- Then I changed the Symbol layer type of this "Marker line" to "Font marker"
- Then I changed the "Data defined override" of the content of this font marker to @geometry_part_num
- Then I changed the font size of the font marker
The results are different in QGIS 2.99 and 3.0 (see images below). Is this a bug in 3.0 or is it an intentional change? The result in QGIS 2.18 is the same as in 2.99. The result in QGIS 3.1 is the same as in 3.0. I also tested it in QGIS 3.0 on Ubuntu 17.10 it gives the same result as 3.0 in Windows.
Associated revisions
Fix evaluation of data defined properties for subsymbols of subsymbols
Fixes #18384
Fix evaluation of data defined properties for subsymbols of subsymbols
Fixes #18384
(cherry picked from commit 9cf2ff31d86e6b7671aaca137a60a7b7a975ef62)
History
#1 Updated by Giovanni Manghi over 6 years ago
- Priority changed from Normal to High
- Regression? changed from No to Yes
Seems a bug to me, but I'm not 100% sure. Hopefully a developer will clarify here.
#2 Updated by Anita Graser over 6 years ago
When this happens, @geometry_part_count is always 1. No matter how complex the original feature is.
#3 Updated by Anita Graser over 6 years ago
I've hunted down the issue: it seems like @geometry_part_num values change irrespective of the geometry generator expression.
This short screen cast should explain it better than words: https://www.dropbox.com/s/cvyqeecpq0uis1j/QGIS%20Geometry%20Generator%20geometry_part_num.mp4?dl=0
Basically, if you just use @geometry_part_num in the font marker text expression, it will always display 1.
If you additionally use @geometry_part_num in an expression for a simple line that is part of the same geometry generator tree, the values change to 1...n
#4 Updated by Anita Graser over 6 years ago
#5 Updated by Nyall Dawson almost 6 years ago
- Status changed from Open to In Progress
- Assignee set to Nyall Dawson
- Affected QGIS version changed from 3.0.0 to 3.5(master)
#6 Updated by Nyall Dawson almost 6 years ago
- % Done changed from 0 to 100
- Status changed from In Progress to Closed
Applied in changeset qgis|9cf2ff31d86e6b7671aaca137a60a7b7a975ef62.