1. I have a layer name "road.shp". In 'road type' attribute field I have 'national highway', 'state highway' and 'other roads'.
  2. Using rule based I defined different symbols and scale visibility for each road type successfully.
  3. Now I want 'road name' field to visible using label. It is simple.
  4. Problem is, I want lable have to be display at the same level as the above layers visible.
  5. In detail suppose National highway is visible at 1:500000 scale at that time only road names label for National highway to be visible. As we zoom to 1:250000; State highway layer is visible and those state highway names labels to be display instead of all labels.
  6. Is there any way to do this?

1 Answer 1


You can use Rule based Labeling assuming you have QGIS 2.14.7 LTR, as you can see blow:

enter image description here

  1. Layer properties -> Labels -> Select Rule-based labeling from drop-down menu
  2. Click on (+) to add Rule for label
  3. You can control the scale visibility for each label you define, as you can see below

enter image description here

  1. Use Filter to query your labels
  2. Check the scale range and define the scale range to show the label at specific scale.
  3. Do not forget to select the field that you want to show its label.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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