Feature request #9051
Classification uses full range of values from joined attribute table
|Pull Request or Patch supplied:||No||Resolution:|
|Easy fix?:||No||Copied to github as #:||17703|
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.
Classifications on joined fields should only consider values which
are matched to layer's features (fix #9051)