QGIS – Exporting Open Source Tiled Maps at High DPI or Zoomed In Scale

basemapprintingqgis-3resolution

I have been using and learning QGIS for a few years. What I can not figure out is how to get better map quality when I output maps to use in my book projects.

Example 1: I set QGIS to output a JPG map at 300dpi. This causes the street names to shrink on the JPG image to near unreadable using OpenStreet base maps.

Example 2: I tried using OpenTopoMaps. All looks great on my screen and when I go to output the maps, there are a few blank white squares. This is likely a result of zooming in too much. Many of my maps are around 1:25000 or closer.

I guess this is a resolution issue between monitor screen and 300dpi files.

So what is the solution? Higher resolution base maps, or a setting I missed?

I need to use good base maps of Ontario, Canada.

Best Answer

Welcome!

This is indeed a bugbear with using tiled web basemaps intended for low screen dpi (72, 90, or 96) at high dpi, say 300 or more. There are a couple of finicky solutions at QGIS gives different resolution basemap in Print Layout

Alternatively, for truly good quality high-dpi maps, you're going to have to make your own with vector layers. Then the QGIS renderer can display them nicely, including labels, at any dpi you choose. Fortunately, in Canada we have access to very good vector data through CANVEC (link to dataset, or search for "CANVEC" since that link may be temporary).

You will have to download customized files for your ROI using the Geospatial Data Extraction Tool, and then load and style the relevant layers in QGIS. This is a bit of a hassle versus a simple tiled web service, but if you're creating figures for a book project I think you'll want locally-stored fixed data rather than relying on a dynamic web datasource anyway.