I am currently trying to use the OS MasterMap topography layer in QGIS, however having some issues achieving the correct styling in particular for the Cartographic Text. I was using different software previously (Trimble FastMap)for the import of GPS data and the creation of the final map which has worked fine, however I am switching to to QGIS as FastMap is no longer supported.

The problem I am having is that when importing the Cartographic Text in QGIS - either as a raw .gz file or a shapefile (converted from .gml) – the text is displayed at a constant angle and not as shown below (which is an image from FastMap) whereby the road names, for example, are displayed in the middle of the road.


However, in QGIS the text is displayed at the same angle and it often overlaps different land classes (below). Also, the other stylesheets don’t seem to work i.e. the layer disappears once the stylesheet has been applied - I have unchecked scale dependent visibility (downloaded from here https://github.com/OrdnanceSurvey/OSMM-Topography-Layer-stylesheets/tree/master/Schema%20version%207).


What is causing this, or is this the only way QGIS displays OS Data?


2 Answers 2


The cartographic text has 3 attributes:

  • font characteristics (e.g. style, size, family)
  • the angle of text
  • text position. This last is how the text is positioned relative to its coordinates. The coordinates could, for example, be the top left, right centre, etc. (9 different values).

I have converted Mastermap to Mapsforge format - but coded it myself!


OK, here's what I did: For the cartographic point layer: Rule based labelling (with a rule for each anchorPosition: 0 is bottom left, 1 is middle left, 2 is top left, 3 is bottom middle etc). For each of these, I set:

  • value to the variable "textString"
  • in Text: Size to the variable "height" and the type to "Meters at scale"
  • in Placement: set the placement mode to "Offset from point" and chose a quadrant corresponding to the anchorPosition (but mirrored around the centre e.g. top left became bottom right); set rotation to -("orientation"/10)
  • in Rendering: set show upside down labels to "always"

Then finally made the cartographic point symbols invisible so just the labels were showing

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.