Feature request #10479

Refine current rule

Added by Barrett Higman about 8 years ago. Updated over 5 years ago.

Assignee:Nathan Woodrow
Pull Request or Patch supplied:No Resolution:
Easy fix?:No Copied to github as #:18891


It would be good that when 'Refine current rule' is used that the refinements respect the original rule that they are based on.

For example, for a road dataset, if a rule is used to exclude unsealed roads then a categorised refinement of that rule should not create classifications that include unsealed roads.

Related issues

Duplicated by QGIS Application - Bug report #10815: refine rules (add ranges/categories): expressions not app... Closed 2014-07-05


#1 Updated by Jürgen Fischer about 8 years ago

  • Category set to GUI

#2 Updated by baditaflorin - about 8 years ago

I had the same poblem and i was able to do this using the CASE conditionals

CASE WHEN "pntcnt" <50 THEN "pntcnt" END

And my rule was to show only pntcnt that are lower then 50

#3 Updated by baditaflorin - about 8 years ago

But this only work for <

if you try = or > is not working

#4 Updated by Giovanni Manghi about 8 years ago

ticket #10815 is about a different thing: expression in rule based symbology are written in a wrong way, at least when used to refine rules, see #10815-7

#5 Updated by Nyall Dawson almost 7 years ago

More detail in #11914

#6 Updated by Donovan Cameron almost 6 years ago

This would be a great improvement to see! I've attached a screen shot to help illustrate the problem.

Also, if the "Label" that shows up in the layer list was styled with just the ranges. Otherwise it creates a large label.
Maybe it could create the label similarly to how it's created when using just the "graduated" style.

Currently (it includes the expression!):

"column" >= 0 AND "column" <= 1
"column" >= 1 AND "column" <= 4
"column" >= 4 AND "column" <= 8


(CASE WHEN "unique_value_column" = "value" THEN "column" END) >= 0 AND (CASE WHEN "unique_value_column" = "value" THEN "column" END) <= 1
(CASE WHEN "unique_value_column" = "value" THEN "column" END) >= 1 AND (CASE WHEN "unique_value_column" = "value" THEN "column" END) <= 4
(CASE WHEN "unique_value_column" = "value" THEN "column" END) >= 4 AND (CASE WHEN "unique_value_column" = "value" THEN "column" END) <= 8

Preferred (in a simplified manner):

0 - 1
1 - 4
4 - 8

The preferred type is better for when viewing in the map canvas and trying to create an actual map with a legend.

#7 Updated by Giovanni Manghi over 5 years ago

  • Easy fix? set to No

Also available in: Atom PDF