2

I want to know if there is a way to switch basemaps if some basemaps are not able to show any imagery while creating an atlas in QGIS. I understand it is possible to do it individually but when you have an atlas with hundreds of maps it would be great if this is automated.

enter image description here

  • There's no way for QGIS to auto-detect that map data isn't available for an area. This means you need to figure out which areas don't have map data in a given base layer, and specify for the atlas to use a different base layer for those pages. Dmitry suggested one way of doing this using scale-based visibility, because usually basemap data availability is scale-dependent. If that's not the case for your atlas, you add it as an attribute to the atlas feature, and use that attribute to choose the basemap. – csk Feb 6 at 22:17
2

You can add several basemaps and setup scale dependent visibility for each. Check that scale ranges adjoin or overlaps.

enter image description here

  • I understand that but even if I setup the visibility ranges using different basemaps it still wont solve the problem of imagery not showing due to the basemap not being able to produce the imagery for that area. So if the imagery is not produced for a area as shown the next basemap that I have setup within the next range wont matter because it still is within the previous basemaps range but its just not showing for some reason. – Rex_01 Feb 5 at 23:31
  • You need manually set right scales where basemap data are present. And out of scale range the basemap layer will not shown and another basemap layer will. Just do it for the whole project and it will work in any atlas page. For spatial filter of basemap you can set vector area where raster data are present and mask it. Please update your question that you mean not scale range but spatial filter. – Dmitry Baryshnikov Feb 6 at 7:42

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.