7

I am using QGIS with quickmapservices for my basemaps. In the composer the image looks good, with labels appropriately sized.

enter image description here

When I go to print the PDF however, the scales on everything is much smaller, yielding unreadable labels for street names, etc.

enter image description here

Is there any way at all I can mitigate this, without taking a screenshot of each atlassed image and pasting it into my final result?

8
  • 3
    the reason is the dpi changes when you print it which causes the scale to change as that is in pixels/metre.
    – Ian Turton
    Apr 27, 2016 at 15:28
  • @iant yes this is the reason! Is there no way to make the DPI match what is displayed in the preview?
    – twilliams
    Apr 27, 2016 at 18:19
  • 1
    You can change the dpi of the canvas in the component menu to 96
    – Ian Turton
    Apr 27, 2016 at 18:31
  • 1
    I think DPI is my solution, but is there no way to choose a higher DPI for one particular map? No way to fool the system? The 96 DPI is degrading the quality rest of my printout quite badly.
    – twilliams
    Apr 28, 2016 at 14:40
  • 2
    Actually, I think I've found a solution! See github.com/nextgis/quickmapservices/issues/43. I haven't tested in-depth, but it seems to work - not sure why it isn't the default option though!
    – robintw
    Jul 12, 2016 at 18:55

2 Answers 2

2

Well, you could use a program named MOBAC to create an Atlas of raster tiles at the Zoom you want by using the WMS of the basemap you selected. Since the data extracted is georeferenced this should be quite easy. Your basemap might even be included in the starter pack from what i see, so no need to tinker with some XML queries if you're lucky. Be carefull however, do set your output data and format right before using MOBAC. Make sure you've got my sqlite database as your output, i find it easier to load that way.

If the WMS isn't already set you'll need to go inside the mapsources folder inside MOBAC and create a new xml file containing the following informations:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <customWmsMapSource>
  <name>Name inside MOBAC</name>
  <minZoom>0</minZoom>
  <maxZoom>18</maxZoom>
  <tileType>TIF</tileType>
  <version>1.1.1</version>
  <layers>wanted_layer's_name_here</layers>
  <url> Url of the wms </url>
  <coordinatesystem>wanted output coordinates system</coordinatesystem>
  <aditionalparameters></aditionalparameters>
  <backgroundColor>#000000</backgroundColor>
</customWmsMapSource>

Another way to solve your issue is to simply use the function export as image built in QGIS to export your basemap visualisation, without the vector data you've applied to it, as a Tif tile.

Their has to be some faster way to do this thaugh.

3
  • Export as image doesn't work for me, as it's the same size labels. I don't yet understand the rest of your response about MOBAC so I need to do a little research.
    – twilliams
    Apr 27, 2016 at 17:50
  • Mobac is a program called mobile atlas creator, it can read the content of WMS servers and convert it into an Atlas of your choice. Pretty neat when you need to consult layers offline. Apr 28, 2016 at 6:51
  • The problem is I have 75 different features at wildly varying scales and I don't see a good way to map from the extents I have in my atlas to mobac. I can't even seem to upload a shapefile to generate the extents I need.
    – twilliams
    Apr 28, 2016 at 14:38
2

I was having the same trouble just now. After further investigation, I found that I accidentally had changed the label's size unit type. Had to play around with it for a while but millimeter type seemed to work just fine. I previously had it at Pixel.

That seemed to export my labels just fine. Hope it helps.

Your Answer

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

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