I've always found that when it comes to python, vector analysis, QGIS gives ArcGIS a run for its money, hell some of the qgis plugins exceed ArcGIS's performance by a few hours; however, I always have found that compared to ArcGIS, QGIS's labeling system lacks the expressions, sql, and detailed representation. I've tried mapnik, and it's nice, but still it seems to pretty up the problem rather than fix it.

  • How can I improve my own maps done on QGIS, especially with label classes, expressions, and annotations?
  • What needs to be done to enhance QGIS's labeling system in terms of someone writing a plugin or something similar?
  • 1
    I think you need to expand on exactly what you feel is missing in QGIS for those of us who don't use ArcGIS
    – Ian Turton
    Commented Jan 7, 2011 at 16:32
  • @iant - mostly label and symbology classes with on/off features based on sql-label queries
    – dassouki
    Commented Jan 7, 2011 at 16:38
  • still means nothing to me
    – Ian Turton
    Commented Jan 7, 2011 at 18:29

2 Answers 2


While there is no comfortable editor for label properties available yet, you can achieve the effect of label classes using "data defined labeling":

alt text

This requires some data preparation, but the results should be just what you are looking for.

Also of interest to you might be the new labeling tools by Sourcepole:

  • move label tool … move text labels to a new position
  • rotate label tool … allows for interactive rotation of labels
  • label property tool … opens a dialog where users can manipulate the properties and text of a label

alt text

It's also possible to create multi-line labels:

enter image description here

QGIS also offers annotation tools:

alt text

A great improvement would be to implement all the options currently available in "rule based" renderer for the labeling engine.

  • 1
    "A great improvement would be to implement all the options currently available in "rule based" renderer for the labeling engine." hmmm that is a pretty cool idea, wish I had the skills to implement it.
    – Nathan W
    Commented Jan 12, 2011 at 22:26
  • Shall I ask another very similar question here or create a new question on the sa? How to label with qgis based on attribute and extent of map? For example extent>1:1000 then label all those features whose area>100000 at font size 12 and those features whose area<99999 at font size 5.
    – Justin
    Commented Oct 7, 2012 at 21:48
  • @Justin Please open a new question.
    – underdark
    Commented Oct 8, 2012 at 5:35

Just an update to reflect that QGIS now has, since 1.8, expression labels

Expression labels QGIS

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.