Feature request #9051
Classification uses full range of values from joined attribute table
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | - | ||
Category: | Vectors | ||
Pull Request or Patch supplied: | No | Resolution: | |
Easy fix?: | No | Copied to github as #: | 17703 |
Description
Joining a spatial layer with an attribute (aspatial) table in which there are more rows in the attribute table than in the spatial table. After the join, open the attribute, and it only displays rows in the spatial table (i.e., this is a LEFT JOIN which shows all rows from the base table but only matching rows from the join table).
When you style the layer, choose one of the columns from the joined attribute table and classify the values (I was using graduated symbology for a numeric field), the classes that are produced are based on the entire range of values from the attribute table, i.e., the classification is not honoring the fact that the join result omits many of the rows from the attribute table. Since, in the case I tested, the field values for those rows which match features in the spatial layer only cover a small part of the total range, the resulting map has all the features falling into fewer classes than specified. In the test data included, only one class appears on the map, though five classes appear in the legend.
Thanks to Richard Duivenvoorde for the test data.
Associated revisions
Classifications on joined fields should only consider values which
are matched to layer's features (fix #9051)
Classifications on joined fields should only consider values which
are matched to layer's features (fix #9051)
(cherry-picked from 16eb1e14d0ba2b78f2d12a0813887a7bc493204c)
History
#1 Updated by Jürgen Fischer about 9 years ago
- Category set to Vectors
#2 Updated by Nyall Dawson over 8 years ago
- Status changed from Open to Closed
Fixed in changeset 16eb1e14d0ba2b78f2d12a0813887a7bc493204c.