It seems that labeling is not possible in the actual versions of QFIELD any longer (I'am working with 0.8.2 now) when there is a scale-based expression There is no labeling in this case although the new "busy-indicator" shows after disappearing - that rendering /labeling came to an end. Working for example with a simple ASE WHEN $scale <2000 THEN "fieldname" expression does work in QGIS 2.14/2.16.2 but not in QFIELD (its the same with using variables instead of numbers for the scale). Simple labeling without expression works without problems.

(I am using a sqlite-database with a multipolygon-geometry for the test with Android 5.0.1.) (In my regular project I use more complicated conditions to build different contents by a scale-based expression - this very simple example might have worked by other settings in the labeling-gui - but I tried to find out where the problem lies)


QField is based on the code for QGIS 3 which removed some deprecated variables, among them $scale. These variables have replacements which are prefixed with an @.

Just replace $scale with @map_scale.

CASE WHEN @map_scale < 2000 THEN "fieldname"

An alternative approach is to use rule-based labeling, where it is possible to specify the scale in which a rule is applicable for each rule separately.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.