Q:

different labels at various scales

I have a locality layer of neighborhoods and suburbs from a spatialite database. How do I label this single layer with the neighborhood name at a lower scales, but as I zoom out, I would like the town label instead?
Is this possible with a single layer or do I have to work on multiple layers to achieve this?
Perhaps a better question is what's the recommended way of achieving this: use local names as you zoom in, and super names as you zoom out.
Thanks.

A:

I know this is an old topic, but I achieved this by using CASE as an expression based label
eg
CASE WHEN  $scale < 4000 THEN "Neighbourhood" ELSE "Town" END

A:

Load the layer twice into QGIS, then label each differently, with different min/max "Scale Dependant Rendering" settings. One instance of the locality will be labeled with the neighborhoods, and min scale = 0, and max scale = (what_scale_the_labels_should_switch). The second instance will be labeled with the suburbs, min = (whatever_max_was_for_neighboorhoods), and max = (very large).
HTH

