Switching basemap automatically in QGIS?












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










share|improve this question

























  • 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















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










share|improve this question

























  • 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












2








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










share|improve this question
















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







qgis atlas basemap






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 5 at 7:59









PolyGeo

53.6k1780240




53.6k1780240










asked Feb 5 at 5:57









Rex_01Rex_01

212




212













  • 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



















  • 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

















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





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










1 Answer
1






active

oldest

votes


















2














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



enter image description here






share|improve this answer
























  • 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








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "79"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f311068%2fswitching-basemap-automatically-in-qgis%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














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



enter image description here






share|improve this answer
























  • 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


















2














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



enter image description here






share|improve this answer
























  • 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
















2












2








2







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



enter image description here






share|improve this answer













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



enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered Feb 5 at 7:20









Dmitry BaryshnikovDmitry Baryshnikov

2,810714




2,810714













  • 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





















  • 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



















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





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







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




















draft saved

draft discarded




















































Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f311068%2fswitching-basemap-automatically-in-qgis%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Probability when a professor distributes a quiz and homework assignment to a class of n students.

Aardman Animations

Are they similar matrix