I am looking to create my own OS Carto Basemap which is currently a ArcGIS third party product. It gives you the ability to to work at different zoom levels within your project.

Is there a way I can mimic this for use in QGIS so that at different zoom levels the basemap refreshes? I understand that you can download the data from ordnance survey but do not know how to structure it to form the basemap.


What you are interested in is called 'scale based visibility' which turns layers on and off depending on the zoom scale of the map. The QGIS help for it is here: https://docs.qgis.org/2.6/en/docs/training_manual/basic_map/symbology.html (section 3.2.5). With a little bit of work you can therefore construct a set of layers that automatically refreshes and changes display as you zoom in and out.

You can download mapping from OS Opendata which is intended to be displayed at various scales: https://www.ordnancesurvey.co.uk/opendatadownload/products.html. I think the order is (from big overview to local view):
- Overview
- Strategi
- Meridian 2
- District
- Local

You might only want some of that data, depending on your needs. You can have these in either raster or vector formats (vector allowing you to specify more about what features you want to display) and I think the raster is available in a muted background colourscheme. For large areas of raster data you should look at using virtual raster catalogs (https://docs.qgis.org/2.6/en/docs/training_manual/rasters/data_manipulation.html). For the vector data you can download style sheets here for the vector data: https://www.ordnancesurvey.co.uk/resources/carto-design/cartographic-stylesheets.html.

Add the data into the map and style them as required. Then set up the scale based visibility so that the maps are displayed at the correct zoom scale. You can then select all of them in the table of contents and do Save As -> Layer Definition File. Then, when you want your interactive mapping you can use Layer -> Add from layer definition file and your mapping will be added, with all the formatting and scale based visibility intact.

Not quite as easy as the basemaps available from ArcGIS but once you've set it up easy enough to use.

Obviously if you're not stuck on using OS mapping then you could check out Quick Map Services plugin - this allows you to add various online mapping services to QGIS but as far as I'm aware it doesn't support OS data at present.

| improve this answer | |
  • That is a great help @Ed Rollason - just one thing. Will this not be really slow compared to the ArcMap version. For example just using the Strategi seems to slow down my projects dramatically even after removing the layers I don't need. – AWGIS Nov 28 '17 at 13:39
  • Vector layers will be slower than raster, but they shouldn't be that slow. I would recommend building spatial indices for each layer - open the layer properties and under general there is an option for it. For rasters, make sure you build pyramids (also under layer properties). – Ed Rollason Nov 28 '17 at 14:05
  • Under Layer Properties -> Rendering you can also set some options for layer simplification under different zoom scales. Might also be worth playing with. – Ed Rollason Nov 28 '17 at 14:07

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.