CINXE.COM
shapefile - Multi-ring buffers of uneven sizes in QGIS - Geographic Information Systems Stack Exchange
<!DOCTYPE html> <html itemscope itemtype="https://schema.org/QAPage" class="html__responsive " lang="en"> <head> <title>shapefile - Multi-ring buffers of uneven sizes in QGIS - Geographic Information Systems Stack Exchange</title> <link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/gis/Img/favicon.ico?v=6e585ede6bca"> <link rel="apple-touch-icon" href="https://cdn.sstatic.net/Sites/gis/Img/apple-touch-icon.png?v=5bbd8af2ce1b"> <link rel="image_src" href="https://cdn.sstatic.net/Sites/gis/Img/apple-touch-icon.png?v=5bbd8af2ce1b"> <link rel="search" type="application/opensearchdescription+xml" title="Geographic Information Systems Stack Exchange" href="/opensearch.xml"> <link rel="canonical" href="https://gis.stackexchange.com/questions/488835/multi-ring-buffers-of-uneven-sizes-in-qgis" /> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0"> <meta name="bingbot" content="noarchive"> <meta property="og:type" content= "website" /> <meta property="og:url" content="https://gis.stackexchange.com/questions/488835/multi-ring-buffers-of-uneven-sizes-in-qgis"/> <meta property="og:site_name" content="Geographic Information Systems Stack Exchange" /> <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/gis/Img/apple-touch-icon@2.png?v=54e3ab1edcf3" /> <meta name="twitter:card" content="summary"/> <meta name="twitter:domain" content="gis.stackexchange.com"/> <meta name="twitter:title" property="og:title" itemprop="name" content="Multi-ring buffers of uneven sizes in QGIS" /> <meta name="twitter:description" property="og:description" itemprop="description" content="I am trying to make multi-ring buffers (donuts) around points in QGIS. I want the rings to be from 0 - 2km, 2km - 5km, 5km - 10km. I'm using the multi-ring buffer in QGIS and it doesn't have the op..." /> <script id="webpack-public-path" type="text/uri-list">https://cdn.sstatic.net/</script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <script defer src="https://cdn.sstatic.net/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=fe3ef2b1305f"></script> <script src="https://cdn.sstatic.net/Js/stub.en.js?v=44cbb4d4d062"></script> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/stacks.css?v=1e9dfb1f6199"> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/gis/primary.css?v=4372b51b29a6"> <link rel="alternate" type="application/atom+xml" title="Feed for question 'Multi-ring buffers of uneven sizes in QGIS'" href="/feeds/question/488835"> <script> StackExchange.ready(function () { StackExchange.using("snippets", function () { StackExchange.snippets.initSnippetRenderer(); }); StackExchange.using("postValidation", function () { StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer'); }); StackExchange.question.init({showAnswerHelp:true,totalCommentCount:3,shownCommentCount:3,enableTables:true,questionId:488835}); styleCode(); StackExchange.realtime.subscribeToQuestion('79', '488835'); StackExchange.using("gps", function () { StackExchange.gps.trackOutboundClicks('#content', '.js-post-body'); }); }); </script> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/Channels/channels.css?v=5981bb1a5bd7"> <script> StackExchange.ready(function () { StackExchange.realtime.init('wss://qa.sockets.stackexchange.com'); StackExchange.realtime.subscribeToReputationNotifications('79'); StackExchange.realtime.subscribeToTopBarNotifications('79'); }); </script> <script type="application/json" data-role="module-args" data-module-name="Shared/options.mod">{"options":{"locale":"en","serverTime":1734504798,"routeName":"Questions/Show","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","site":{"name":"Geographic Information Systems Stack Exchange","description":"Q\u0026A for cartographers, geographers and GIS professionals","isNoticesTabEnabled":true,"enableNewTagCreationWarning":false,"insertSpaceAfterNameTabCompletion":false,"id":79,"cookieDomain":".stackexchange.com","childUrl":"https://gis.meta.stackexchange.com","negativeVoteScoreFloor":null,"enableSocialMediaInSharePopup":true,"protocol":"https"},"user":{"fkey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","tid":"a5b3fe25-4622-47c8-8cbf-851b869b5b3a","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true},"realtime":{"newest":true,"active":true,"tagged":true,"staleDisconnectIntervalInHours":0},"events":{"postType":{"question":1},"postEditionSection":{"title":1,"body":2,"tags":3}}}}</script> <script type="application/json" data-role="module-args" data-module-name="Shared/settings.mod">{"settings":{"legal":{"oneTrustTCFConfigId":"cb0f3c87-b769-4e66-bbaa-377f9194216d","useCustomConsent":false},"paths":{"jQueryUIJSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js","jQueryUICSSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css"},"elections":{"opaVoteResultsBaseUrl":"https://www.opavote.com/results/"},"tags":{},"markdown":{"enableTables":true},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true},"userMessaging":{"showNewFeatureNotice":true},"search":{},"auth":{"oauthInPopup":true},"comments":{},"subscriptions":{"defaultFreemiumMaxTrueUpSeats":50,"defaultBasicMaxTrueUpSeats":250,"defaultMaxTrueUpSeats":1000},"image":{"maxImageUploadSizeInBytes":10485760,"maxImageUploadSizeInBytesAnimatedGif":2097152},"questionLinkTitleReplacement":{"maxNumberOfSitesProcessed":10,"maxReplacementsPerSite":20},"site":{"forceHttpsImages":true,"allowImageUploads":true,"styleCode":true,"enableImageHttps":true,"enableUserHovercards":true,"stacksEditorPreviewEnabled":true},"intercom":{"appId":"inf0secd"},"flags":{"allowRetractingFlags":true,"allowRetractingCommentFlags":true},"questions":{"questionTitleLengthStartLiveWarningChars":50,"enableSavesFeature":true,"maxTitleSize":150,"enableQuestionTitleLengthLiveWarning":true},"snippets":{"snippetsEnabled":true,"renderDomain":"stacksnippets.net"},"mentions":{"maxNumUsersInDropdown":50}}}</script> <script>StackExchange.init();</script> <script> StackExchange.using.setCacheBreakers({"Js/adops.en.js":"6da43f5e0a84","Js/ask.en.js":"","Js/begin-edit-event.en.js":"20edbaccceae","Js/copy-transpiled.en.js":"7959520085c5","Js/events.en.js":"","Js/explore-qlist.en.js":"ee2a4f8c3992","Js/full-anon.en.js":"756e9cf92803","Js/full.en.js":"33fc8c618f7b","Js/highlightjs-loader.en.js":"dec53251ce5d","Js/inline-tag-editing.en.js":"8517756a2cb6","Js/keyboard-shortcuts.en.js":"c255a5a5979b","Js/markdown-it-loader.en.js":"5818ef89ff9d","Js/mentions-transpiled.en.js":"54b80f913964","Js/moderator.en.js":"562010d1ea7c","Js/postCollections-transpiled.en.js":"fd1c4a681d04","Js/post-validation.en.js":"6c596a8d33b1","Js/question-editor.en.js":"","Js/review-v2-transpiled.en.js":"b80294337dec","Js/revisions.en.js":"9dd135bb585f","Js/stacks-editor.en.js":"8de4a63a68e8","Js/tageditor.en.js":"4d22c6090e5a","Js/tageditornew.en.js":"4554c63a5fa6","Js/tagsuggestions.en.js":"d9e40cbceb75","Js/unlimited-transpiled.en.js":"8713a979101d","Js/wmd.en.js":"8e5e21c8ea03","Js/snippet-javascript-codemirror.en.js":"8aaa42d59dbc"}); StackExchange.using("gps", function() { StackExchange.gps.init(false); }); </script> <noscript id="noscript-css"><style>body,.s-topbar{margin-top:1.9em}</style></noscript> </head> <body class="question-page unified-theme"> <div id="signup-modal-container"></div> <script type="application/json" data-role="module-args" data-module-name="islands/signup-modal/index.mod">{"ContainerElementId":"signup-modal-container","FKey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","TriggerEvent":"signupModalShow","OauthInPopup":true,"ReturnUrl":"https://gis.stackexchange.com/questions/488835/multi-ring-buffers-of-uneven-sizes-in-qgis","ReturnUrlForPopup":"https://gis.stackexchange.com/users/after-signup/oauth-only","SiteName":"Geographic Information Systems","SiteLogoPath":"https://cdn.sstatic.net/Sites/gis/Img/icon-48.png?v=098faac6924f","AuthProviders":["Google"],"ParentSiteUrl":"","IsInitiallyVisible":false}</script> <script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=150134e89426"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/stacks-svelte.en.js?v=72feec5d5528"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/1315.en.js?v=d971ebf7a8e2"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/4537.en.js?v=e6769247457b"></script><script defer src="https://cdn.sstatic.net/Js/islands/signup-modal.en.js?v=70d42243ade4"></script> <script defer> dispatchEvent(new CustomEvent("openSignupModal")); </script> <div id="one-tap-container"></div> <script type="application/json" data-role="module-args" data-module-name="islands/one-tap/index.mod">{"ContainerElementId":"one-tap-container","FKey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","GoogleClientId":"717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com","Autoselect":false,"ReturnUrl":"https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis"}</script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=150134e89426"></script><script defer src="https://cdn.sstatic.net/Js/islands/one-tap.en.js?v=661858832214"></script> <div id="notify-container"></div> <div id="custom-header"></div> <header class="s-topbar ps-fixed t0 l0 js-top-bar"> <a href="#content" class="s-topbar--skip-link">Skip to main content</a> <div class="s-topbar--container"> <a href="#" class="s-topbar--menu-btn js-left-sidebar-toggle" role="menuitem" aria-haspopup="true" aria-controls="left-sidebar" aria-expanded="false"><span></span></a> <div class="topbar-dialog leftnav-dialog js-leftnav-dialog dno"> <div class="left-sidebar js-unpinned-left-sidebar" data-can-be="left-sidebar" data-is-here-when="sm"></div> </div> <a href="#" class="s-topbar--logo network-logo js-gps-track js-network-logo" data-gps-track="stack_exchange_popup.show" role="menuitem" aria-haspopup="true" aria-controls="topbar-network-logo-dialog" aria-expanded="false"> <svg aria-hidden="true" class="native mtn1 svg-icon iconSEAlternativeSm" width="107" height="15" viewBox="0 0 107 15"><path fill="#FEFEFE" d="m48.41 11.93-1.96-3.2-1.04 1.16v2.04h-1.42V2.18h1.42v6.01L48.14 5h1.72l-2.44 2.7 2.74 4.22zm-7.06.08c-1.59 0-3.14-.96-3.14-3.56s1.55-3.54 3.14-3.54c.97 0 1.65.27 2.31.97l-.97.93c-.44-.48-.79-.66-1.34-.66q-.84.01-1.3.62c-.31.38-.42.87-.42 1.68s.1 1.32.41 1.7c.3.4.76.62 1.3.62.56 0 .9-.18 1.35-.66l.97.92c-.66.7-1.34.98-2.31.98m-5.66-3.15h-1.65c-.83 0-1.26.37-1.26 1s.4.99 1.3.99c.53 0 .93-.04 1.3-.4q.32-.29.31-1.03zm.03 3.07v-.63c-.51.5-1 .71-1.87.71s-1.46-.2-1.89-.63a2 2 0 0 1-.55-1.49c0-1.16.82-2 2.42-2h1.86v-.5c0-.87-.44-1.3-1.54-1.3-.77 0-1.15.18-1.54.68l-.92-.86c.66-.77 1.35-1 2.52-1q2.9 0 2.9 2.38v4.64zm-5.9 0c-1.32 0-1.93-.93-1.93-1.93V6.18h-.8V5.1h.8V3h1.41v2.1h1.36v1.07H29.3v3.75c0 .5.25.81.78.81h.58v1.2zm-6.33.08c-1.48 0-2.55-.34-3.49-1.28l1-.98c.72.72 1.51.94 2.52.94 1.3 0 2.04-.55 2.04-1.5q0-.65-.39-1.01c-.25-.23-.5-.33-1.08-.41l-1.16-.17a3.4 3.4 0 0 1-1.88-.78 2.4 2.4 0 0 1-.72-1.86c0-1.7 1.25-2.86 3.3-2.86 1.3 0 2.22.33 3.07 1.1l-.96.94a3 3 0 0 0-2.15-.75c-1.16 0-1.8.65-1.8 1.52q-.02.54.37.9c.25.22.65.38 1.11.45l1.13.17c.91.13 1.42.35 1.84.72.54.47.8 1.17.8 2 0 1.8-1.48 2.86-3.55 2.86"/><path fill="#2F96E8" d="M104.16 7.09c-.2-.42-.6-.74-1.2-.74s-.99.32-1.18.74c-.1.25-.15.44-.16.75h2.7a2 2 0 0 0-.16-.75m-2.54 1.96c0 .9.56 1.57 1.55 1.57.78 0 1.16-.21 1.61-.66l1.08 1.04a3.4 3.4 0 0 1-2.7 1.11c-1.68 0-3.29-.76-3.29-3.62 0-2.3 1.26-3.6 3.1-3.6 1.97 0 3.1 1.44 3.1 3.37v.79zm-5.48-2.57C95.1 6.48 95 7.37 95 8.3s.1 1.85 1.15 1.85 1.18-.91 1.18-1.85c0-.93-.13-1.82-1.18-1.82m-.17 8.22c-1.1 0-1.84-.21-2.58-.92l1.1-1.11c.4.38.8.54 1.4.54 1.06 0 1.43-.74 1.43-1.46v-.72c-.47.51-1 .7-1.7.7-.69 0-1.29-.23-1.68-.62-.67-.66-.73-1.57-.73-2.8 0-1.24.06-2.13.73-2.8.4-.39 1-.62 1.7-.62.75 0 1.24.2 1.73.75v-.67h1.72v6.8c0 1.7-1.21 2.93-3.12 2.93m-5.76-2.67V7.76c0-.96-.61-1.28-1.17-1.28s-1.18.32-1.18 1.28v4.27h-1.78V4.97h1.73v.65a2.4 2.4 0 0 1 1.78-.73q1.07.02 1.67.62c.58.57.73 1.24.73 2v4.52zm-7.1-2.98h-1.4c-.64 0-1 .3-1 .8 0 .49.33.81 1.02.81.5 0 .8-.04 1.12-.34q.28-.25.26-.89zm.04 2.98v-.6c-.48.47-.93.67-1.74.67q-1.2 0-1.82-.62c-.38-.4-.58-.97-.58-1.59 0-1.12.77-2.05 2.42-2.05h1.68V7.5c0-.77-.38-1.11-1.32-1.11-.68 0-1 .16-1.37.58l-1.13-1.1c.7-.75 1.38-.97 2.57-.97q3 0 3.02 2.5v4.64zm-6.93 0v-4.3c0-.94-.6-1.25-1.15-1.25-.56 0-1.15.32-1.15 1.24v4.31h-1.77V2.38h1.77v3.24a2.4 2.4 0 0 1 1.7-.73c1.56 0 2.38 1.08 2.38 2.57v4.57zm-6.96.08c-1.42 0-3.18-.76-3.18-3.62 0-2.85 1.76-3.6 3.18-3.6.98 0 1.72.3 2.34.95l-1.2 1.2c-.36-.4-.68-.56-1.14-.56q-.62-.01-1.01.46c-.27.33-.4.8-.4 1.55s.13 1.24.4 1.58q.39.46 1 .46c.47 0 .79-.16 1.15-.56l1.2 1.18c-.62.65-1.36.96-2.34.96m-5.53-.08-1.3-2.11-1.3 2.11H59l2.45-3.6-2.35-3.46h2.12L62.42 7l1.21-2.02h2.13L63.4 8.43l2.46 3.6zm-11.75 0V2.06h6.6V3.8h-4.65v2.33h3.96v1.74h-3.96v2.42h4.65v1.74z"/><path fill="#8FD8F7" d="M0 3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"/><path fill="#155397" d="M12 10H0c0 1.1.9 2 2 2h5v3l3-3a2 2 0 0 0 2-2"/><path fill="#46A2D9" d="M0 4h12v2H0z"/><path fill="#2D6DB5" d="M0 7h12v2H0z"/></svg> </a> <div class="topbar-dialog network-logo-dialog js-network-logo-dialog dno" id="topbar-network-logo-dialog" role="dialog" aria-labelledby="topbar-network-logo-dialog-title" aria-describedby="topbar-network-logo-dialog-body"> <div class="dialog-content"> <h4 class="bold" id="topbar-network-logo-dialog-title">Stack Exchange Network</h4> <p id="topbar-network-logo-dialog-body"> Stack Exchange network consists of 183 Q&A communities including <a href="https://stackoverflow.com">Stack Overflow</a>, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. </p> <a class="s-btn s-btn__filled" href="https://stackexchange.com" data-gps-track="stack_exchange_popup.click">Visit Stack Exchange</a> <button class="s-btn s-btn__muted p0 ps-absolute t16 r16 js-close-button" aria-label="Close"><svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg></button> </div> </div> <form id="search" role="search" action=/search class="s-topbar--searchbar js-searchbar " autocomplete="off"> <div class="s-topbar--searchbar--input-group"> <input name="q" type="text" role="combobox" placeholder="Search on Geographic Information Systems…" value="" autocomplete="off" maxlength="240" class="s-input s-input__search js-search-field wmn1 " aria-label="Search" aria-controls="top-search" data-controller="s-popover" data-action="focus->s-popover#show" data-s-popover-placement="bottom-start" /> <svg aria-hidden="true" class="s-input-icon s-input-icon__search svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg> <div class="s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover" id="top-search" role="menu"> <div class="s-popover--arrow"></div> <div class="s-popover--content"> <div class="js-spinner p24 d-flex ai-center jc-center d-none"> <div class="s-spinner s-spinner__sm fc-orange-400"> <div class="v-visible-sr">Loading…</div> </div> </div> <span class="v-visible-sr js-screen-reader-info"></span> <div class="js-ac-results overflow-y-auto hmx3 d-none"></div> <div class="js-search-hints" aria-describedby="Tips for searching"></div> </div> </div> </div> </form> <nav class="h100 ml-auto overflow-x-auto pr12" aria-label="Topbar"> <ol class="s-topbar--content" role="menubar"> <li role="none"> <a href="/help" class="s-topbar--item js-help-button" role="menuitem" title="Help Center and other resources" aria-haspopup="true" aria-controls="topbar-help-dialog" data-ga="["top navigation","help menu click",null,null,null]"><svg aria-hidden="true" class="svg-icon iconHelp" width="18" height="18" viewBox="0 0 18 18"><path d="M9 1C4.64 1 1 4.64 1 9s3.64 8 8 8 8-3.64 8-8-3.64-8-8-8m.81 12.13c-.02.71-.55 1.15-1.24 1.13-.66-.02-1.17-.49-1.15-1.2.02-.72.56-1.18 1.22-1.16.7.03 1.2.51 1.17 1.23M11.77 8c-.59.66-1.78 1.09-2.05 1.97a4 4 0 0 0-.09.75c0 .05-.03.16-.18.16H7.88c-.16 0-.18-.1-.18-.15.06-1.35.66-2.2 1.83-2.88.39-.29.7-.75.7-1.24.01-1.24-1.64-1.82-2.35-.72-.21.33-.18.73-.18 1.1H5.75c0-1.97 1.03-3.26 3.03-3.26 1.75 0 3.47.87 3.47 2.83 0 .57-.2 1.05-.48 1.44"/></svg></a> </li> <div class="topbar-dialog help-dialog js-help-dialog dno" id="topbar-help-dialog" role="menu"> <div class="modal-content"> <ul> <li> <a href="/tour" class="js-gps-track s-block-link" data-gps-track="help_popup.click({ item_type:1 })" data-ga="["top navigation","tour submenu click",null,null,null]"> Tour <span class="item-summary"> Start here for a quick overview of the site </span> </a> </li> <li> <a href="/help" class="js-gps-track s-block-link" data-gps-track="help_popup.click({ item_type:4 })" data-ga="["top navigation","help center",null,null,null]"> Help Center <span class="item-summary"> Detailed answers to any questions you might have </span> </a> </li> <li> <a href="https://gis.meta.stackexchange.com" class="js-gps-track s-block-link" data-gps-track="help_popup.click({ item_type:2 })" data-ga="["top navigation","meta submenu click",null,null,null]"> Meta <span class="item-summary"> Discuss the workings and policies of this site </span> </a> </li> <li> <a href="https://stackoverflow.co/" class="js-gps-track s-block-link" data-gps-track="help_popup.click({ item_type:6 })" data-ga="["top navigation","about us submenu click",null,null,null]"> About Us <span class="item-summary"> Learn more about Stack Overflow the company, and our products </span> </a> </li> </ul> </div> </div> <li role="none"> <a href="https://stackexchange.com" class="s-topbar--item js-site-switcher-button js-gps-track" data-gps-track="site_switcher.show" aria-label="Site switcher" role="menuitem" title="A list of all 183 Stack Exchange sites" aria-haspopup="true" aria-expanded="false" data-ga="["top navigation","stack exchange click",null,null,null]"> <svg aria-hidden="true" class="svg-icon iconStackExchange" width="18" height="18" viewBox="0 0 18 18"><path d="M15 1H3a2 2 0 0 0-2 2v2h16V3a2 2 0 0 0-2-2M1 13c0 1.1.9 2 2 2h8v3l3-3h1a2 2 0 0 0 2-2v-2H1zm16-7H1v4h16z"/></svg> </a> </li> <li class="js-topbar-dialog-corral" role="presentation"> <div class="topbar-dialog siteSwitcher-dialog dno" role="menu"> <div class="header fw-wrap"> <h3 class="flex--item"> <a href="https://gis.stackexchange.com">current community</a> </h3> <div class="flex--item fl1"> <div class="ai-center d-flex jc-end"> <button class="js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block" type="button" aria-label="Close" > <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg> </button> </div> </div> </div> <div class="modal-content bg-blue-200 current-site-container"> <ul class="current-site"> <li class="d-flex"> <div class="fl1"> <a href="https://gis.stackexchange.com" class="current-site-link d-flex gx8 site-link js-gps-track" data-id="79" data-gps-track="site_switcher.click({ item_type:3 })"> <div class="favicon favicon-gis site-icon flex--item" title="Geographic Information Systems"></div> <span class="flex--item fl1"> Geographic Information Systems </span> </a> </div> <div class="related-links"> <a href="https://gis.stackexchange.com/help" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:14 })">help</a> <a href="https://chat.stackexchange.com?tab=site&host=gis.stackexchange.com" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:6 })">chat</a> </div> </li> <li class="related-site d-flex"> <div class="L-shaped-icon-container"> <span class="L-shaped-icon"></span> </div> <a href="https://gis.meta.stackexchange.com" class="s-block-link px16 d-flex gx8 site-link js-gps-track" data-id="80" data-gps-track="site.switch({ target_site:80, item_type:3 }),site_switcher.click({ item_type:4 })"> <div class="favicon favicon-gismeta site-icon flex--item" title="Geographic Information Systems Meta"></div> <span class="flex--item fl1"> Geographic Information Systems Meta </span> </a> </li> </ul> </div> <div class="header" id="your-communities-header"> <h3> your communities </h3> </div> <div class="modal-content" id="your-communities-section"> <div class="call-to-login"> <a href="https://gis.stackexchange.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:10 })">Sign up</a> or <a href="https://gis.stackexchange.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:11 })">log in</a> to customize your list. </div> </div> <div class="header"> <h3><a href="https://stackexchange.com/sites">more stack exchange communities</a> </h3> <a href="https://stackoverflow.blog" class="float-right">company blog</a> </div> <div class="modal-content"> <div class="child-content"></div> </div> </div> </li> <li role="none"><button class="s-topbar--item s-btn s-btn__icon s-btn__muted d-none sm:d-inline-flex js-searchbar-trigger" role="menuitem" aria-label="Search" aria-haspopup="true" aria-controls="search" title="Click to show search"><svg aria-hidden="true" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg></button></li> <li role="none"> <a href="https://gis.stackexchange.com/users/login?ssrc=head&returnurl=https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis" class="s-topbar--item s-topbar--item__unset s-btn s-btn__outlined ws-nowrap js-gps-track" role="menuitem" rel="nofollow" data-gps-track="login.click" data-ga="["top navigation","login button click",null,null,null]">Log in</a> </li> <li role="none"><a href="https://gis.stackexchange.com/users/signup?ssrc=head&returnurl=https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis" class="s-topbar--item s-topbar--item__unset ml4 s-btn s-btn__filled ws-nowrap js-signup-button js-gps-track" role="menuitem" rel="nofollow" data-gps-track="signup.topbar.click" data-ga="["sign up","Sign Up Navigation","Header",null,null]">Sign up</a></li> </ol> </nav> </div> </header> <script> StackExchange.ready(function () { StackExchange.topbar.init(); }); StackExchange.scrollPadding.setPaddingTop(50, 10); </script> <header class="site-header"> <div class="site-header--container"> <a class="site-header--link d-flex ai-center fs-headline1 fw-bold" href="https://gis.stackexchange.com"> <img class="h-auto wmx100" src="https://cdn.sstatic.net/Sites/gis/Img/logo.svg?v=524ba4e921b1" alt="Geographic Information Systems"> </a> </div> </header> <div class="container"> <div id="left-sidebar" data-is-here-when="md lg" class="left-sidebar js-pinned-left-sidebar ps-relative"> <div class="left-sidebar--sticky-container js-sticky-leftnav"> <nav aria-label="Primary"> <ol class="nav-links"> <li> <ol class="nav-links"> <li class="ps-relative" aria-current="false"> <a href="/" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:2, destination:8, has_activity_notification:False});home_nav.click({location:2})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconHome" width="18" height="18" viewBox="0 0 18 18"><path d="M15 10v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5H0l9-9 9 9zm-8 1v6h4v-6z"/></svg> <span class="-link--channel-name pl6">Home</span> </div> </a> </li> <li class="ps-relative youarehere" aria-current="true"> <a id="nav-questions" href="/questions" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: true, location:2, destination:1, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconQuestion" width="18" height="18" viewBox="0 0 18 18"><path d="m4 15-3 3V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2zm7.75-3.97c.72-.83.98-1.86.98-2.94 0-1.65-.7-3.22-2.3-3.83a4.4 4.4 0 0 0-3.02 0 3.8 3.8 0 0 0-2.32 3.83q0 1.93 1.03 3a3.8 3.8 0 0 0 2.85 1.07q.94 0 1.71-.34.97.66 1.06.7.34.2.7.3l.59-1.13a5 5 0 0 1-1.28-.66m-1.27-.9a5 5 0 0 0-1.5-.8l-.45.9q.5.18.98.5-.3.1-.65.11-.92 0-1.52-.68c-.86-1-.86-3.12 0-4.11.8-.9 2.35-.9 3.15 0 .9 1.01.86 3.03-.01 4.08"/></svg> <span class="-link--channel-name pl6">Questions</span> </div> </a> </li> <li class="ps-relative" aria-current="false"> <a href="/tags" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:2, destination:2, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconTags" width="18" height="18" viewBox="0 0 18 18"><path d="M9.24 1a3 3 0 0 0-2.12.88l-5.7 5.7a2 2 0 0 0-.38 2.31 3 3 0 0 1 .67-1.01l6-6A3 3 0 0 1 9.83 2H14a3 3 0 0 1 .79.1A2 2 0 0 0 13 1z" opacity=".4"/><path d="M9.83 3a2 2 0 0 0-1.42.59l-6 6a2 2 0 0 0 0 2.82L6.6 16.6a2 2 0 0 0 2.82 0l6-6A2 2 0 0 0 16 9.17V5a2 2 0 0 0-2-2zM12 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4"/></svg> <span class="-link--channel-name pl6">Tags</span> </div> </a> </li> <li class="pb24"></li> <li class="ps-relative" aria-current="false"> <a id="nav-users" href="/users" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:2, destination:3, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconPeople" width="18" height="18" viewBox="0 0 18 18"><path d="M17 14c0 .44-.45 1-1 1H9a1 1 0 0 1-1-1H2c-.54 0-1-.56-1-1 0-2.63 3-4 3-4s.23-.4 0-1c-.84-.62-1.06-.59-1-3s1.37-3 2.5-3 2.44.58 2.5 3-.16 2.38-1 3c-.23.59 0 1 0 1s1.55.71 2.42 2.09c.78-.72 1.58-1.1 1.58-1.1s.23-.4 0-1c-.84-.61-1.06-.58-1-3s1.37-3 2.5-3 2.44.59 2.5 3c.05 2.42-.16 2.39-1 3-.23.6 0 1 0 1s3 1.38 3 4"/></svg> <span class="-link--channel-name pl6">Users</span> </div> </a> </li> <li class="ps-relative" aria-current="false"> <a id="nav-unanswered" href="/unanswered" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:2, destination:5, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconAnswer" width="18" height="18" viewBox="0 0 18 18"><path d="M14 15H3c-1.09 0-2-.91-2-2V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v14zm-1.02-3L9.82 4H8.14l-3.06 8h1.68l.65-1.79h3.15l.69 1.79zm-2.93-3.12H7.9l1.06-2.92z"/></svg> <span class="-link--channel-name pl6">Unanswered</span> </div> </a> </li> </ol> </li> <li class="js-freemium-cta ps-relative mt32 mb8"> <div class="fs-fine tt-uppercase fc-black-600 fw-bold ml8 mt16 mb8">Teams</div> <div class="px12 pt12 pb4 mb12 fc-medium overflow-hidden"> <img class="wmx100 mx-auto mb12 h-auto d-block" width="151" height="24" src="https://cdn.sstatic.net/Img/teams/teams-promo.svg?v=e507948b81bf" alt=""> <p class="fs-fine"> Ask questions, find answers and collaborate at work with Stack Overflow for Teams. </p> <a href="https://stackoverflowteams.com/teams/create/free/?utm_medium=referral&utm_source=gis-community&utm_campaign=side-bar&utm_content=explore-teams" class="w100 s-btn s-btn__filled s-btn__xs bg-orange-400 h:bg-orange-500 js-gps-track pt8 pr7 pb6 pl7" data-gps-track="teams.create.left-sidenav.click({ Action: 6 })" data-ga="["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams/create/free",null,null]">Try Teams for free</a> <a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=gis-community&utm_campaign=side-bar&utm_content=explore-teams" class="w100 s-btn s-btn__muted s-btn__xs mt1 js-gps-track" data-gps-track="teams.create.left-sidenav.click({ Action: 5 })" data-ga="["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams",null,null]">Explore Teams</a> </div> </li> <li class="d-flex ai-center jc-space-between ml8 mt32 mb8 js-create-team-cta d-none"> <a href="javascript:void(0)" class="s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine js-gps-track" role="button" aria-controls="popover-teams-create-cta" data-controller="s-popover" data-action="s-popover#toggle" data-s-popover-placement="bottom-start" data-s-popover-toggle-class="is-selected" data-gps-track="teams.create.left-sidenav.click({ Action: ShowInfo })" data-ga="["teams left navigation - anonymous","left nav show teams info",null,null,null]" > <div class="flex--item fl-grow1 fc-black-600 fw-bold tt-uppercase">Teams</div> <div class="flex--item px12"> <svg aria-hidden="true" class="svg-icon iconPlusSm" width="14" height="14" viewBox="0 0 14 14"><path d="M8 2H6v4H2v2h4v4h2V8h4V6H8z"/></svg> </div> </a> </li> <li class="ps-relative js-create-team-cta d-none"> <p class="fs-fine pr8 pl8 pb4 fc-black-400"> Ask questions, find answers and collaborate at work with Stack Overflow for Teams. <a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=gis-community&utm_campaign=side-bar&utm_content=explore-teams-compact" class="s-link s-link__grayscale s-link__underlined fw-bold">Explore Teams</a> </p> </li> </ol> </nav> </div> <div class="s-popover ws2" id="popover-teams-create-cta" role="menu" aria-hidden="true"> <div class="s-popover--arrow"></div> <div class="ps-relative overflow-hidden"> <p class="mb2"><strong>Teams</strong></p> <p class="mb12 fs-caption fc-black-400">Q&A for work</p> <p class="mb12 fs-caption fc-black-500">Connect and share knowledge within a single location that is structured and easy to search.</p> <a href="https://stackoverflow.co/teams/" class="js-gps-track s-btn s-btn__filled s-btn__xs" data-gps-track="teams.create.left-sidenav.click({ Action: CtaClick })" data-ga="["teams left navigation - anonymous","left nav cta","stackoverflow.com/teams",null,null]"> Learn more about Teams </a> </div> <div class="ps-absolute t8 r8"> <svg aria-hidden="true" class="fc-orange-400 svg-spot spotPeople" width="48" height="48" viewBox="0 0 48 48"><path d="M13.5 28a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M7 30a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5h11v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H33v5a1 1 0 0 1-1 1H20a1 1 0 0 1-1-1v-5H8a1 1 0 0 1-1-1zm25-6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0M24.5 34a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9" opacity=".2"/><path d="M16.4 26.08A6 6 0 1 0 7.53 26C5.64 26.06 4 27.52 4 29.45V40a1 1 0 0 0 1 1h9a1 1 0 1 0 0-2h-4v-7a1 1 0 1 0-2 0v7H6v-9.55c0-.73.67-1.45 1.64-1.45H16a1 1 0 0 0 .4-1.92M12 18a4 4 0 1 1 0 8 4 4 0 0 1 0-8m16.47 14a6 6 0 1 0-8.94 0A3.6 3.6 0 0 0 16 35.5V46a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V35.5c0-1.94-1.64-3.42-3.53-3.5M20 28a4 4 0 1 1 8 0 4 4 0 0 1-8 0m-.3 6h8.6c1 0 1.7.75 1.7 1.5V45h-2v-7a1 1 0 1 0-2 0v7h-4v-7a1 1 0 1 0-2 0v7h-2v-9.5c0-.75.7-1.5 1.7-1.5M42 22c0 1.54-.58 2.94-1.53 4A3.5 3.5 0 0 1 44 29.45V40a1 1 0 0 1-1 1h-9a1 1 0 1 1 0-2h4v-7a1 1 0 1 1 2 0v7h2v-9.55A1.5 1.5 0 0 0 40.48 28H32a1 1 0 0 1-.4-1.92A6 6 0 1 1 42 22m-2 0a4 4 0 1 0-8 0 4 4 0 0 0 8 0"/><g opacity=".35"><path d="M17 10a1 1 0 011-1h12a1 1 0 110 2H18a1 1 0 01-1-1m1-5a1 1 0 100 2h12a1 1 0 100-2zM14 1a1 1 0 00-1 1v12a1 1 0 001 1h5.09l4.2 4.2a1 1 0 001.46-.04l3.7-4.16H34a1 1 0 001-1V2a1 1 0 00-1-1zm1 12V3h18v10h-5a1 1 0 00-.75.34l-3.3 3.7-3.74-3.75a1 1 0 00-.71-.29z"/></g></svg> </div> </div> </div> <div id="content" class="snippet-hidden"> <div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question"> <link itemprop="image" href="https://cdn.sstatic.net/Sites/gis/Img/apple-touch-icon.png?v=5bbd8af2ce1b"> <div class="inner-content clearfix"> <div id="question-header" class="d-flex sm:fd-column"> <h1 itemprop="name" class="fs-headline1 ow-break-word mb8 flex--item fl1"><a href="/questions/488835/multi-ring-buffers-of-uneven-sizes-in-qgis" class="question-hyperlink">Multi-ring buffers of uneven sizes in QGIS</a></h1> <div class="ml12 aside-cta flex--item sm:ml0 sm:mb12 sm:order-first d-flex jc-end"> <div class="ml12 aside-cta flex--item print:d-none"> <a href="/questions/ask" class="ws-nowrap s-btn s-btn__filled"> Ask Question </a> </div> </div> </div> <div class="d-flex fw-wrap pb8 mb16 bb bc-black-200"> <div class="flex--item ws-nowrap mr16 mb8" title="2024-12-17 14:14:00Z"> <span class="fc-black-400 mr2">Asked</span> <time itemprop="dateCreated" datetime="2024-12-17T14:14:00">today</time> </div> <div class="flex--item ws-nowrap mr16 mb8"> <span class="fc-black-400 mr2">Modified</span> <a href="?lastactivity" class="s-link s-link__inherit" title="2024-12-17 21:08:29Z">today</a> </div> <div class="flex--item ws-nowrap mb8" title="Viewed 85 times"> <span class="fc-black-400 mr2">Viewed</span> 85 times </div> </div> <div id="mainbar" role="main" aria-label="question and answers"> <div class="question js-question" data-questionid="488835" data-position-on-page="0" data-score="5" id="question"> <style> </style> <div class="js-zone-container zone-container-main"> <div id="dfp-tlb" class="everyonelovesstackoverflow everyoneloves__top-leaderboard everyoneloves__leaderboard"></div> <div class="js-report-ad-button-container " style="width: 728px"></div> </div> <div class="post-layout "> <div class="votecell post-layout--left"> <div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="488835" data-referrer="None"> <button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" data-controller="s-tooltip" data-s-tooltip-placement="right" title="This question shows research effort; it is useful and clear" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg> </button> <input type="hidden" id="voteUpHash" value="68:3:31e,16:98d3ac3ef25216bc,10:1734504798,16:b1365b9d327c9238,6:488835,19567b558f5acabbc4a8e2ff8d78ab434faf2c99acba9d159d62ebd2aba7c260" /> <div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4" itemprop="upvoteCount" data-value="5"> 5 </div> <button class="js-vote-down-btn js-vote-down-question flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" title="This question does not show any research effort; it is unclear or not useful" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg> </button> <input type="hidden" id="voteDownHash" value="68:3:31e,16:8b0a61cf9e74fef2,10:1734504798,16:4640f72972651347,6:488835,5e720fce65706f82dcaea76bb61b8a442bdd2694068709ee0584b0d113c96fc5" /> <button class="js-saves-btn s-btn s-btn__unset c-pointer py4" type="button" id="saves-btn-488835" data-controller="s-tooltip" data-s-tooltip-placement="right" data-s-popover-placement="" title="Save this question." data-is-saved="false" aria-label="Save" data-post-id="488835" data-post-type-id="1" data-user-privilege-for-post-click="0" aria-controls="" data-s-popover-auto-show="false" > <svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> <svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> </button> <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/488835/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"> <p>I am trying to make multi-ring buffers (donuts) around points in QGIS. I want the rings to be from 0 - 2km, 2km - 5km, 5km - 10km. I'm using the multi-ring buffer in QGIS and it doesn't have the option to specify the radius of each circle separately so I can make them each have a difference of 5 or 2 but its has to be the same across. Is there a way to make the radius of each circle different in QGIS.</p> <p>I tried using difference by making a 0-2km buffer and then a 0-5km buffer but I have over 1000 points which are close together and so the buffer for each unique point overlaps. This means that difference removes regions for all overlapping buffers for other points (which I dont want). The picture shows you what I'm working with where the brown dots are my unique points and the pink buffers are the 2km buffers while the orange ones are the 5km buffers.</p> <p><a href="https://i.sstatic.net/VCT5Wuqt.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/VCT5Wuqt.jpg" alt="enter image description here" /></a></p> </div> <div class="mt24 mb12"> <div class="post-taglist d-flex gs4 gsy fd-column"> <div class="d-flex ps-relative fw-wrap"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/qgis" class="s-tag post-tag" title="show questions tagged 'qgis'" aria-label="show questions tagged 'qgis'" rel="tag" aria-labelledby="tag-qgis-tooltip-container" data-tag-menu-origin="Unknown">qgis</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/shapefile" class="s-tag post-tag" title="show questions tagged 'shapefile'" aria-label="show questions tagged 'shapefile'" rel="tag" aria-labelledby="tag-shapefile-tooltip-container" data-tag-menu-origin="Unknown">shapefile</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/buffer" class="s-tag post-tag" title="show questions tagged 'buffer'" aria-label="show questions tagged 'buffer'" rel="tag" aria-labelledby="tag-buffer-tooltip-container" data-tag-menu-origin="Unknown">buffer</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/donut-polygons" class="s-tag post-tag" title="show questions tagged 'donut-polygons'" aria-label="show questions tagged 'donut-polygons'" rel="tag" aria-labelledby="tag-donut-polygons-tooltip-container" data-tag-menu-origin="Unknown">donut-polygons</a></li></ul> </div> </div> </div> <div class="mb0 "> <div class="mt16 d-flex gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="flex--item mr16 fl1 w96"> <div class="js-post-menu pt2" data-post-id="488835" data-post-type-id="1"> <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap"> <div class="flex--item"> <a href="/q/488835" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Short permalink to this question" data-gps-track="post.click({ item: 2, priv: 0, post_type: 1 })" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this question" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="question" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="1" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Share</a> </div> <div class="flex--item"> <a href="/posts/488835/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 1 })" title="">Improve this question</a> </div> <div class="flex--item"> <button type="button" id="btnFollowPost-488835" class="s-btn s-btn__link js-follow-post js-follow-question js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 1 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" title="Follow this question to receive notifications"> Follow <input type="hidden" id="voteFollowHash" value="68:3:31e,16:05fc3e3bbb6e5309,10:1734504798,16:a85c7b2381f2db2b,6:488835,aec7ad93e36da37c615163c4900c95b29078bc52db1f03d45e9917f47a65f254" /> </button> </div> </div> <div class="js-menu-popup-container"></div> </div> </div> <div class="post-signature flex--item"> <div class="user-info "> <div class="d-flex "> <div class="user-action-time fl-grow1"> <a href="/posts/488835/revisions" title="show all edits to this post" class="js-gps-track" data-gps-track="post.click({ item: 4, priv: 0, post_type: 1 })">edited <span title='2024-12-17 14:44:35Z' class='relativetime'>16 hours ago</span></a> </div> </div> <div class="user-gravatar32"> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <span class="d-none" itemprop="name">Iris</span> <div class="-flair"> </div> </div> </div> </div> <div class="post-signature owner flex--item"> <div class="user-info "> <div class="d-flex "> <div class="user-action-time fl-grow1"> asked <span title='2024-12-17 14:14:00Z' class='relativetime'>16 hours ago</span> </div> </div> <div class="user-gravatar32"> <a href="/users/283023/iris"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/f3c1d5177c7b870c8abad26599d81fdc?s=64&d=identicon&r=PG&f=y&so-version=2" alt="Iris's user avatar" width="32" height="32" class="bar-sm"></div></a> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="/users/283023/iris">Iris</a><span class="d-none" itemprop="name">Iris</span> <div class="-flair"> <span class="reputation-score" title="reputation score " dir="ltr">51</span><span title="2 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">2</span></span><span class="v-visible-sr">2 bronze badges</span> </div> </div> </div> <div class="js-new-contributor-indicator ps-relative"> <div class="new-contributor-indicator fc-black-500 py6 px8 bbr-sm"> <span class="js-new-contributor-label"><svg aria-hidden="true" class="svg-icon iconWave" width="18" height="18" viewBox="0 0 18 18"><path fill="#FFC166" d="M10.7 17c-2.3 0-3.9-2.05-5.07-3.54l-.49-.6c-.67-.8-1.59-1.63-2.4-2.36A11 11 0 0 1 1.1 8.87c-.16-.28-.15-.8.18-.96.44-.23.95-.05 1.32.24l3.5 2.75c.1.08.2-.06.13-.15-.57-.8-3.42-4.77-3.71-5.15-.49-.63-.17-1.45.68-1.45.44 0 .76.28.96.51l3.6 4.42c.08.09.23 0 .17-.1L4.41 2.96c-.64-1.1 1.13-2 1.77-.9l3.8 6.13c.07.1.22.03.18-.09A154 154 0 0 0 8.1 2.54q-.47-1.01.36-1.42c.52-.27 1.14-.07 1.47.48l3.69 8.3q.03.05.1.06a.1.1 0 0 0 .09-.07l.66-2.28c.2-.66.95-1 1.6-.81.7.18 1.09.86.89 1.5q-.5 1.9-1.09 3.77c-.58 1.86-1.03 3.33-3.11 4.4Q11.7 17 10.7 17"/><path d="M14 .37a.5.5 0 0 0-.88.45l1.96 3.9a.5.5 0 0 0 .9-.45zm-1.17 2.17a.5.5 0 0 0-.91.42l.84 1.87a.5.5 0 1 0 .91-.41zm-10.6 9.74a.5.5 0 0 1 .7-.02l1.7 1.6a.5.5 0 0 1-.7.72l-1.68-1.6a.5.5 0 0 1-.02-.7m-1.39.98a.5.5 0 1 0-.68.73l3.03 2.84a.5.5 0 0 0 .68-.73z" opacity=".4"/></svg> New contributor</span> </div> <div class="js-new-contributor-popover s-popover fs-caption"> <div class="s-popover--arrow s-popover--arrow__tc"></div> <a href="/users/283023/iris">Iris</a> is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our <a href="/conduct">Code of Conduct</a>. </div> </div> </div> </div> </div> </div> <span class="d-none" itemprop="commentCount">3</span> <div class="post-layout--right js-post-comments-component"> <div id="comments-488835" class="comments js-comments-container bt bc-black-200 mt12 " data-post-id="488835" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-797174" class="comment js-comment " data-comment-id="797174" data-comment-owner-id="109646" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Do you care about the buffers of each point, or could you dissolve the buffers?</span> <div class="d-inline-flex ai-center"> – <a href="/users/109646/erik" title="17,124 reputation" class="comment-user">Erik</a> </div> <span class="comment-date" dir="ltr"> <span class="v-visible-sr">Commented</span> <span title='2024-12-17 14:34:45Z, License: CC BY-SA 4.0' class='relativetime-clean'>16 hours ago</span> </span> </div> </div> </li> <li id="comment-797175" class="comment js-comment " data-comment-id="797175" data-comment-owner-id="283023" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">I do care about the buffer for each point, I need to do further analysis on these rings for each point.</span> <div class="d-inline-flex ai-center"> – <a href="/users/283023/iris" title="51 reputation" class="comment-user owner">Iris</a> </div> <span class="comment-date" dir="ltr"> <span class="v-visible-sr">Commented</span> <span title='2024-12-17 14:39:11Z, License: CC BY-SA 4.0' class='relativetime-clean'>16 hours ago</span> </span> </div> </div> </li> <li id="comment-797176" class="comment js-comment " data-comment-id="797176" data-comment-owner-id="4485" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="cool">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">There is a multi-distance plugin tool that might work. There is also a multi-ring buffer plugin. I haven't used either.</span> <div class="d-inline-flex ai-center"> – <a href="/users/4485/john" title="1,829 reputation" class="comment-user">John</a> </div> <span class="comment-date" dir="ltr"> <span class="v-visible-sr">Commented</span> <span title='2024-12-17 15:41:56Z, License: CC BY-SA 4.0' class='relativetime-clean'>15 hours ago</span> </span> </div> </div> </li> </ul> </div> <div id="comments-link-488835" data-rep=50 data-anon=true> <a class="js-add-link comments-link disabled-link" title="Use comments to ask for more information or suggest improvements. Avoid answering questions in comments." href="#" role="button">Add a comment</a> <span class="js-link-separator dno"> | </span> <a class="js-show-link comments-link dno" title="Expand to show all comments on this post" href=# onclick="" role="button"></a> </div> </div> </div> </div> <div id="answers"> <a name="tab-top"></a> <div id="answers-header"> <div class="answers-subheader d-flex ai-center mb8"> <div class="flex--item fl1"> <h2 class="mb0" data-answercount="4"> 4 Answers <span style="display:none;" itemprop="answerCount">4</span> </h2> </div> <div class="flex--item"> <div class="d-flex g4 gsx ai-center sm:fd-column sm:ai-start"> <div class="d-flex fd-column ai-end sm:ai-start"> <label class="flex--item fs-caption" for="answer-sort-dropdown-select-menu"> Sorted by: </label> <a class="js-sort-preference-change s-link flex--item fs-fine d-none" data-value="ScoreDesc" href="/questions/488835/multi-ring-buffers-of-uneven-sizes-in-qgis?answertab=scoredesc#tab-top" > Reset to default </a> </div> <div class="flex--item s-select"> <select id="answer-sort-dropdown-select-menu"> <option value=scoredesc selected=selected > Highest score (default) </option> <option value=modifieddesc > Date modified (newest first) </option> <option value=createdasc > Date created (oldest first) </option> </select> </div> </div> </div> </div> </div> <a name="488841"></a> <div id="answer-488841" class="answer js-answer" data-answerid="488841" data-parentid="488835" data-score="4" data-position-on-page="1" data-highest-scored="1" data-question-has-accepted-highest-score="0" itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="488841" data-referrer="None"> <button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" data-controller="s-tooltip" data-s-tooltip-placement="right" title="This answer is useful" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg> </button> <input type="hidden" id="voteUpHash" value="68:3:31e,16:46de09551e063bcb,10:1734504798,16:dea26b150f190872,6:488841,096c6031c4a87d43ba464369d5c6503c061313d9e52d2f8c91ddec79f7c3087a" /> <div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4" itemprop="upvoteCount" data-value="4"> 4 </div> <button class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" title="This answer is not useful" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg> </button> <input type="hidden" id="voteDownHash" value="68:3:31e,16:4fadd5b7b29ac630,10:1734504798,16:63859d961330c44c,6:488841,ef97f5a8a56872d31583a903d99e22f352b852730aa6670da45738783df80f48" /> <button class="js-saves-btn s-btn s-btn__unset c-pointer py4" type="button" id="saves-btn-488841" data-controller="s-tooltip" data-s-tooltip-placement="right" data-s-popover-placement="" title="Save this answer." data-is-saved="false" aria-label="Save" data-post-id="488841" data-post-type-id="2" data-user-privilege-for-post-click="0" aria-controls="" data-s-popover-auto-show="false" > <svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> <svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> </button> <div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted"> <div class="ta-center"> <svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg> </div> </div> <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/488841/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a> </div> </div> <div class="answercell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"> <p><a href="https://i.sstatic.net/xV0O4Yui.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/xV0O4Yui.png" alt="enter image description here" /></a></p> <p><strong><a href="https://docs.qgis.org/3.34/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html#qgisgeometrybyexpression" rel="nofollow noreferrer">Geometry by expression</a></strong>:</p> <pre><code>collect_geometries( difference(buffer($geometry, distance:=10000), buffer($geometry, distance:=5000)), difference(buffer($geometry, distance:=5000), buffer($geometry, distance:=2000)), buffer($geometry, distance:=2000)) </code></pre> <p>The expression is creating a 10000 buffer and difference it by 5000 buffer, then a 5000 difference by 2000, and finally a 2000 m buffer. Collects them into a multipart polygon.</p> <p>Split the multipolygons by <strong><a href="https://docs.qgis.org/3.34/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html#qgismultiparttosingleparts" rel="nofollow noreferrer">Multipart to Singleparts</a></strong>.</p> <p>Calculate a column for the distances using <strong><a href="https://docs.qgis.org/3.34/en/docs/user_manual/processing_algs/qgis/vectortable.html#qgisfieldcalculator" rel="nofollow noreferrer">Field Calculator</a></strong>:</p> <pre><code>CASE WHEN $area<13e6 then 2000 WHEN $area<70e6 then 5000 ELSE 10000 END </code></pre> <p>If you have coordinate system with units other than meters you'll have to adjust the area limits.</p> </div> <div class="mt24"> <div class="d-flex fw-wrap ai-start jc-end gs8 gsy"> <time itemprop="dateCreated" datetime="2024-12-17T16:13:59"></time> <div class="flex--item mr16" style="flex: 1 1 100px;"> <div class="js-post-menu pt2" data-post-id="488841" data-post-type-id="2"> <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap"> <div class="flex--item"> <a href="/a/488841" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Short permalink to this answer" data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this answer" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Share</a> </div> <div class="flex--item"> <a href="/posts/488841/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a> </div> <div class="flex--item"> <button type="button" id="btnFollowPost-488841" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" title="Follow this answer to receive notifications"> Follow <input type="hidden" id="voteFollowHash" value="68:3:31e,16:9d581c7d091202a4,10:1734504798,16:4253b80676b0c89a,6:488841,996315655577c7e8319876adf83aee2ca2434454ad8b4738bac92483f151a2a1" /> </button> </div> </div> <div class="js-menu-popup-container"></div> </div> </div> <div class="post-signature flex--item fl0"> <div class="user-info user-hover "> <div class="d-flex "> <div class="user-action-time fl-grow1"> answered <span title='2024-12-17 16:13:59Z' class='relativetime'>14 hours ago</span> </div> </div> <div class="user-gravatar32"> <a href="/users/32958/bera"><div class="gravatar-wrapper-32"><img src="https://i.sstatic.net/yZo5R.png?s=64" alt="Bera's user avatar" width="32" height="32" class="bar-sm"></div></a> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="/users/32958/bera">Bera</a><span class="d-none" itemprop="name">Bera</span> <div class="-flair"> <span class="reputation-score" title="reputation score 77,906" dir="ltr">77.9k</span><span title="14 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">14</span></span><span class="v-visible-sr">14 gold badges</span><span title="78 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">78</span></span><span class="v-visible-sr">78 silver badges</span><span title="188 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">188</span></span><span class="v-visible-sr">188 bronze badges</span> </div> </div> </div> </div> </div> </div> </div> <span class="d-none" itemprop="commentCount"></span> <div class="post-layout--right js-post-comments-component"> <div id="comments-488841" class="comments js-comments-container bt bc-black-200 mt12 dno" data-post-id="488841" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> <div id="comments-link-488841" data-rep=50 data-anon=true> <a class="js-add-link comments-link disabled-link" title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”." href="#" role="button">Add a comment</a> <span class="js-link-separator dno"> | </span> <a class="js-show-link comments-link dno" title="Expand to show all comments on this post" href=# onclick="" role="button"></a> </div> </div> </div> </div> <div class="js-zone-container zone-container-main"> <div id="dfp-mlb" class="everyonelovesstackoverflow everyoneloves__mid-leaderboard everyoneloves__leaderboard"></div> <div class="js-report-ad-button-container " style="width: 728px"></div> </div> <a name="488852"></a> <div id="answer-488852" class="answer js-answer" data-answerid="488852" data-parentid="488835" data-score="2" data-position-on-page="2" data-highest-scored="0" data-question-has-accepted-highest-score="0" itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="488852" data-referrer="None"> <button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" data-controller="s-tooltip" data-s-tooltip-placement="right" title="This answer is useful" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg> </button> <input type="hidden" id="voteUpHash" value="68:3:31e,16:b5a234bff86ce800,10:1734504798,16:1ace57e2a71a6375,6:488852,bb237c5972e349d45aaeab1aa323f6cf7778a3358df6168d136aad721cc45df4" /> <div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4" itemprop="upvoteCount" data-value="2"> 2 </div> <button class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" title="This answer is not useful" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg> </button> <input type="hidden" id="voteDownHash" value="68:3:31e,16:03188fa5f7664563,10:1734504798,16:5f4608d3918f0d3b,6:488852,733767b70228c37e18f09eb9db2a0f9b7ff05bc8021d7c469813cc0c896f7b89" /> <button class="js-saves-btn s-btn s-btn__unset c-pointer py4" type="button" id="saves-btn-488852" data-controller="s-tooltip" data-s-tooltip-placement="right" data-s-popover-placement="" title="Save this answer." data-is-saved="false" aria-label="Save" data-post-id="488852" data-post-type-id="2" data-user-privilege-for-post-click="0" aria-controls="" data-s-popover-auto-show="false" > <svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> <svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> </button> <div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted"> <div class="ta-center"> <svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg> </div> </div> <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/488852/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a> </div> </div> <div class="answercell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"> <p>So, if I understood your question correctly for general understanding one more way to solve the question using SQL code in the form of CTE.</p> <p>Input geodata: table with structure id, geometry with name points in meter plane-rectangular coordinate system.</p> <p>Create on the QGIS toolbar - Layer>Create Layer>Create Virtual Layer...and add your table, using the button.</p> <p>In the field, copy and paste the SQL query, replacing the name of your table (layer) and run the query for execution, using the button.</p> <p><a href="https://i.sstatic.net/9nCwHBpK.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/9nCwHBpK.png" alt="" /></a></p> <pre><code>WITH buf_2km AS (select id, 0 in_dist, 2000 out_dist, st_buffer(geometry, 2000) geometry from points), buf_5km AS (select id, 2000 in_dist, 5000 out_dist, st_buffer(geometry, 5000) geometry from points), buf_10km AS (select id, 5000 in_dist, 10000 out_dist, st_buffer(geometry, 10000) geometry from points), dif_5_2km AS (select a.id, a.in_dist-b.in_dist in_dist, 5000 out_dist, st_difference(a.geometry,b.geometry) geometry from buf_5km a JOIN buf_2km b on st_intersects(a.geometry,b.geometry) and a.id=b.id), dif_10_5km AS (select a.id, a.out_dist-b.out_dist in_dist, 10000 out_dist, st_difference(a.geometry,b.geometry) geometry from buf_10km a JOIN buf_5km b on st_intersects(a.geometry,b.geometry) and a.id=b.id) select id, in_dist, out_dist, geometry from buf_2km union select id, in_dist, out_dist, geometry from dif_5_2km union select id, in_dist, out_dist, geometry from dif_10_5km </code></pre> <p>Save the result to a file or DBMS table, and then apply the styling as you need, for example as in the figure below.</p> <p><a href="https://i.sstatic.net/QbFKNwnZ.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/QbFKNwnZ.png" alt="enter image description here" /></a></p> <p>Translated with DeepL.com (free version)</p> </div> <div class="mt24"> <div class="d-flex fw-wrap ai-start jc-end gs8 gsy"> <time itemprop="dateCreated" datetime="2024-12-17T20:08:17"></time> <div class="flex--item mr16" style="flex: 1 1 100px;"> <div class="js-post-menu pt2" data-post-id="488852" data-post-type-id="2"> <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap"> <div class="flex--item"> <a href="/a/488852" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Short permalink to this answer" data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this answer" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Share</a> </div> <div class="flex--item"> <a href="/posts/488852/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a> </div> <div class="flex--item"> <button type="button" id="btnFollowPost-488852" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" title="Follow this answer to receive notifications"> Follow <input type="hidden" id="voteFollowHash" value="68:3:31e,16:b9ce5169a7c69460,10:1734504798,16:a54de308fd4bb74b,6:488852,f228f31d239bc0e5f8665f6902174fc94da6498d87f27aa06c3ecdf3658d95e2" /> </button> </div> </div> <div class="js-menu-popup-container"></div> </div> </div> <div class="post-signature flex--item fl0"> <div class="user-info user-hover "> <div class="d-flex "> <div class="user-action-time fl-grow1"> answered <span title='2024-12-17 20:08:17Z' class='relativetime'>10 hours ago</span> </div> </div> <div class="user-gravatar32"> <a href="/users/120129/cyril-mikhalchenko"><div class="gravatar-wrapper-32"><img src="https://i.sstatic.net/iW6hs.png?s=64" alt="Cyril Mikhalchenko's user avatar" width="32" height="32" class="bar-sm"></div></a> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="/users/120129/cyril-mikhalchenko">Cyril Mikhalchenko</a><span class="d-none" itemprop="name">Cyril Mikhalchenko</span> <div class="-flair"> <span class="reputation-score" title="reputation score " dir="ltr">4,527</span><span title="8 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">8</span></span><span class="v-visible-sr">8 gold badges</span><span title="16 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">16</span></span><span class="v-visible-sr">16 silver badges</span><span title="49 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">49</span></span><span class="v-visible-sr">49 bronze badges</span> </div> </div> </div> </div> </div> </div> </div> <span class="d-none" itemprop="commentCount"></span> <div class="post-layout--right js-post-comments-component"> <div id="comments-488852" class="comments js-comments-container bt bc-black-200 mt12 dno" data-post-id="488852" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> <div id="comments-link-488852" data-rep=50 data-anon=true> <a class="js-add-link comments-link disabled-link" title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”." href="#" role="button">Add a comment</a> <span class="js-link-separator dno"> | </span> <a class="js-show-link comments-link dno" title="Expand to show all comments on this post" href=# onclick="" role="button"></a> </div> </div> </div> </div> <a name="488854"></a> <div id="answer-488854" class="answer js-answer" data-answerid="488854" data-parentid="488835" data-score="1" data-position-on-page="3" data-highest-scored="0" data-question-has-accepted-highest-score="0" itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="488854" data-referrer="None"> <button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" data-controller="s-tooltip" data-s-tooltip-placement="right" title="This answer is useful" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg> </button> <input type="hidden" id="voteUpHash" value="68:3:31e,16:b888c5fd63ed8131,10:1734504798,16:c077218b70c0d3b9,6:488854,e726f4b8f4034b80bc7c0eba363d8e2c99bbaaaa45f54f8ea5501bc86bb3a8b8" /> <div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4" itemprop="upvoteCount" data-value="1"> 1 </div> <button class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" title="This answer is not useful" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg> </button> <input type="hidden" id="voteDownHash" value="68:3:31e,16:cbb9ddd28e94c017,10:1734504798,16:b87d3c3606847cae,6:488854,097859b8adc72237eabeaf17384ad04dcd786039f811087444ff2656b1b1db42" /> <button class="js-saves-btn s-btn s-btn__unset c-pointer py4" type="button" id="saves-btn-488854" data-controller="s-tooltip" data-s-tooltip-placement="right" data-s-popover-placement="" title="Save this answer." data-is-saved="false" aria-label="Save" data-post-id="488854" data-post-type-id="2" data-user-privilege-for-post-click="0" aria-controls="" data-s-popover-auto-show="false" > <svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> <svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> </button> <div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted"> <div class="ta-center"> <svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg> </div> </div> <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/488854/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a> </div> </div> <div class="answercell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"> <p>Similar the the solutin by @Bera, but based on an array of distances, so the different rings are generated automatically. Using <a href="https://docs.qgis.org/latest/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html#qgisgeometrybyexpression" rel="nofollow noreferrer">Geometry by expression</a> QGIS automatically generates buffers with all the distances defined in line 5: fing-buffer (domut) from first to second element (0 to 2000), 2nd to 3rd element (2000 to 5000) etc. Change the values ar add more values in line 5 to see how the result changes.</p> <pre><code>collect_geometries( array_filter( with_variable( 'arr', array(0,2000,5000,10000), array_foreach( @arr, difference( buffer(@geometry, array_get(@arr,array_find(@arr, @element)+1)), buffer(@geometry, @element) ) ) ), @element is not null ) ) </code></pre> <p><em>Result, demonstrated here with <a href="https://docs.qgis.org/latest/en/docs/training_manual/basic_map/symbology.html#follow-along-geometry-generator-symbology" rel="nofollow noreferrer">Geometry Generator</a> and different sizes for the buffers. Different colors (not part of the solution) are created with data driven override for color, based an varibale <code>@geometry_part_num</code>:</em> <a href="https://i.sstatic.net/Z4y6svJm.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Z4y6svJm.png" alt="enter image description here" /></a></p> </div> <div class="mt24"> <div class="d-flex fw-wrap ai-start jc-end gs8 gsy"> <time itemprop="dateCreated" datetime="2024-12-17T21:03:17"></time> <div class="flex--item mr16" style="flex: 1 1 100px;"> <div class="js-post-menu pt2" data-post-id="488854" data-post-type-id="2"> <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap"> <div class="flex--item"> <a href="/a/488854" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Short permalink to this answer" data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this answer" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Share</a> </div> <div class="flex--item"> <a href="/posts/488854/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a> </div> <div class="flex--item"> <button type="button" id="btnFollowPost-488854" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" title="Follow this answer to receive notifications"> Follow <input type="hidden" id="voteFollowHash" value="68:3:31e,16:dcf8a3aa4224b84d,10:1734504798,16:d5172866a1613019,6:488854,a140ac273acf84f8b883222871e36b0cb50bd96d24e8e0a4edd6eda43211f29a" /> </button> </div> </div> <div class="js-menu-popup-container"></div> </div> </div> <div class="post-signature flex--item fl0"> <div class="user-info "> <div class="d-flex "> <div class="user-action-time fl-grow1"> <a href="/posts/488854/revisions" title="show all edits to this post" class="js-gps-track" data-gps-track="post.click({ item: 4, priv: 0, post_type: 2 })">edited <span title='2024-12-17 21:08:29Z' class='relativetime'>9 hours ago</span></a> </div> </div> <div class="user-gravatar32"> </div> <div class="user-details"> <div class="-flair"> </div> </div> </div> </div> <div class="post-signature flex--item fl0"> <div class="user-info user-hover "> <div class="d-flex "> <div class="user-action-time fl-grow1"> answered <span title='2024-12-17 21:03:17Z' class='relativetime'>9 hours ago</span> </div> </div> <div class="user-gravatar32"> <a href="/users/88814/babel"><div class="gravatar-wrapper-32"><img src="https://i.sstatic.net/YfYSK.png?s=64" alt="Babel's user avatar" width="32" height="32" class="bar-sm"></div></a> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="/users/88814/babel">Babel</a><span class="d-none" itemprop="name">Babel</span> <div class="-flair"> <span class="reputation-score" title="reputation score 74,973" dir="ltr">75k</span><span title="15 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">15</span></span><span class="v-visible-sr">15 gold badges</span><span title="87 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">87</span></span><span class="v-visible-sr">87 silver badges</span><span title="227 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">227</span></span><span class="v-visible-sr">227 bronze badges</span> </div> </div> </div> </div> </div> </div> </div> <span class="d-none" itemprop="commentCount"></span> <div class="post-layout--right js-post-comments-component"> <div id="comments-488854" class="comments js-comments-container bt bc-black-200 mt12 dno" data-post-id="488854" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> <div id="comments-link-488854" data-rep=50 data-anon=true> <a class="js-add-link comments-link disabled-link" title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”." href="#" role="button">Add a comment</a> <span class="js-link-separator dno"> | </span> <a class="js-show-link comments-link dno" title="Expand to show all comments on this post" href=# onclick="" role="button"></a> </div> </div> </div> </div> <div class="js-zone-container zone-container-main"> <div id="dfp-smlb" class="everyonelovesstackoverflow everyoneloves__mid-second-leaderboard everyoneloves__leaderboard"></div> <div class="js-report-ad-button-container " style="width: 728px"></div> </div> <a name="488839"></a> <div id="answer-488839" class="answer js-answer" data-answerid="488839" data-parentid="488835" data-score="0" data-position-on-page="4" data-highest-scored="0" data-question-has-accepted-highest-score="0" itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="488839" data-referrer="None"> <button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" data-controller="s-tooltip" data-s-tooltip-placement="right" title="This answer is useful" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg> </button> <input type="hidden" id="voteUpHash" value="68:3:31e,16:c3bb9b8c559fefea,10:1734504798,16:accca4e987ecde81,6:488839,6fb005b664f80c9c734fe46e650f7f6149adc81bebf7c1c7d85d2c61fd9381f6" /> <div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4" itemprop="upvoteCount" data-value="0"> 0 </div> <button class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200" title="This answer is not useful" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary-100 bc-theme-primary-500 bg-theme-primary-500" data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"> <svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg> </button> <input type="hidden" id="voteDownHash" value="68:3:31e,16:8aad506e16e68f36,10:1734504798,16:51222d79244f2502,6:488839,31b9ae8f77360fb8c7c46859e12ff55a209b6d819fe53639cb72de10d59e4e76" /> <button class="js-saves-btn s-btn s-btn__unset c-pointer py4" type="button" id="saves-btn-488839" data-controller="s-tooltip" data-s-tooltip-placement="right" data-s-popover-placement="" title="Save this answer." data-is-saved="false" aria-label="Save" data-post-id="488839" data-post-type-id="2" data-user-privilege-for-post-click="0" aria-controls="" data-s-popover-auto-show="false" > <svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> <svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg> </button> <div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted"> <div class="ta-center"> <svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg> </div> </div> <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/488839/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a> </div> </div> <div class="answercell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"> <p>It's unfortunate, in ArcGIS you can specify a column that holds the bufferdistance.</p> <p>But one simple (not so beautifull) way would be to:</p> <ol> <li>Select all points that you want to buffer with 0-2km. This is assuming that there is something like an attribute which you can easily select in the attribute table.</li> <li>Use the <code>Buffer</code> tool and check the "Selected features only" checkbox --> You get buffers with 0-2km only for a subset of your points</li> <li>Repeat step 1 and 2 for all your desired distances</li> <li>Use the <code>Merge vector layers</code> tool to combine the outputs.</li> </ol> </div> <div class="mt24"> <div class="d-flex fw-wrap ai-start jc-end gs8 gsy"> <time itemprop="dateCreated" datetime="2024-12-17T15:43:04"></time> <div class="flex--item mr16" style="flex: 1 1 100px;"> <div class="js-post-menu pt2" data-post-id="488839" data-post-type-id="2"> <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap"> <div class="flex--item"> <a href="/a/488839" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Short permalink to this answer" data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this answer" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Share</a> </div> <div class="flex--item"> <a href="/posts/488839/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a> </div> <div class="flex--item"> <button type="button" id="btnFollowPost-488839" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" title="Follow this answer to receive notifications"> Follow <input type="hidden" id="voteFollowHash" value="68:3:31e,16:7879eab425d7b783,10:1734504798,16:3de3dfa55ba7ce57,6:488839,5814f24622e749a545f3a5fd5726c3a21e86bb3ed4b95da48c283713cf35931c" /> </button> </div> </div> <div class="js-menu-popup-container"></div> </div> </div> <div class="post-signature flex--item fl0"> <div class="user-info "> <div class="d-flex "> <div class="user-action-time fl-grow1"> answered <span title='2024-12-17 15:43:04Z' class='relativetime'>15 hours ago</span> </div> </div> <div class="user-gravatar32"> <a href="/users/176374/vinc%c3%a9"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/a3f3f24ec6f9339b4e847f747bbf03ae?s=64&d=identicon&r=PG&f=y&so-version=2" alt="Vincé's user avatar" width="32" height="32" class="bar-sm"></div></a> </div> <div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="/users/176374/vinc%c3%a9">Vincé</a><span class="d-none" itemprop="name">Vincé</span> <div class="-flair"> <span class="reputation-score" title="reputation score " dir="ltr">1,440</span><span title="4 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">4</span></span><span class="v-visible-sr">4 silver badges</span><span title="18 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">18</span></span><span class="v-visible-sr">18 bronze badges</span> </div> </div> </div> </div> </div> </div> </div> <span class="d-none" itemprop="commentCount"></span> <div class="post-layout--right js-post-comments-component"> <div id="comments-488839" class="comments js-comments-container bt bc-black-200 mt12 dno" data-post-id="488839" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> <div id="comments-link-488839" data-rep=50 data-anon=true> <a class="js-add-link comments-link disabled-link" title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”." href="#" role="button">Add a comment</a> <span class="js-link-separator dno"> | </span> <a class="js-show-link comments-link dno" title="Expand to show all comments on this post" href=# onclick="" role="button"></a> </div> </div> </div> </div> <a name='new-answer'></a> <form id="post-form" action="/questions/488835/answer/submit" method="post" class="js-add-answer-component post-form"> <input type="hidden" id="post-id" value="488835" /> <input type="hidden" id="qualityBanWarningShown" name="qualityBanWarningShown" value="false" /> <input type="hidden" name="referrer" value="" /> <h2 class="space" id="your-answer-header"> Your Answer </h2> <script> StackExchange.ifUsing("editor", function () { StackExchange.using("externalEditor", function () { StackExchange.using("snippets", function () { StackExchange.snippets.init(); }); }); }, "code-snippets"); </script> <script> 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({ useStacksEditor: false, heartbeatType: 'answer', autoActivateHeartbeat: false, convertImagesToLinks: false, noModals: true, showLowRepImageUploadWarning: true, reputationToPostImages: null, bindNavPrevention: true, postfix: "", imageUploadEnabled: false, imageUploader: { brandingHtml: "", contentPolicyHtml: "User contributions licensed under \u003ca href=\"https://stackoverflow.com/help/licensing\"\u003eCC BY-SA\u003c/a\u003e \u003ca href=\"https://stackoverflow.com/legal/acceptable-use-policy\"\u003e(content policy)\u003c/a\u003e", allowUrls: true, }, onDemand: true, discardSelector: ".discard-answer", enableTables: true, isStacksEditorPreviewEnabled: false ,immediatelyShowMarkdownHelp:true,enableTables:true,enableSnippets:true }); } }); </script> <div id="post-editor" class="post-editor js-post-editor d-flex fd-column g4"> <div class="ps-relative"> <div class="wmd-container mb8"> <div id="wmd-button-bar" class="wmd-button-bar btr-sm"></div> <div class="js-stacks-validation"> <div class="ps-relative"> <textarea id="wmd-input" name="post-text" class="wmd-input s-input bar0 js-post-body-field" data-editor-type="wmd" data-post-type-id="2" cols="92" rows="15" aria-labelledby="your-answer-header" tabindex="101" data-min-length=""></textarea> </div> <div class="s-input-message mt4 d-none js-stacks-validation-message"></div> </div> </div> </div> <aside class="d-flex ai-start jc-space-between js-answer-help s-notice s-notice__warning pb0 pr4 pt4 mb8 d-none" role="status" aria-hidden="true"> <div class="flex--item pt8"> <p>Thanks for contributing an answer to Geographic Information Systems Stack Exchange!</p><ul><li>Please be sure to <em>answer the question</em>. Provide details and share your research!</li></ul><p>But <em>avoid</em> …</p><ul><li>Asking for help, clarification, or responding to other answers.</li><li>Making statements based on opinion; back them up with references or personal experience.</li></ul><p>To learn more, see our <a href="/help/how-to-answer">tips on writing great answers</a>.</p> </div> <button class="flex--item js-answer-help-close-btn s-btn s-btn__muted fc-black-600"> <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg> </button> </aside> <div> <div id="draft-saved" class="fc-success h24" style="display:none;">Draft saved</div> <div id="draft-discarded" class="fc-error h24" style="display:none;">Draft discarded</div> </div> <div id="wmd-preview" class="s-prose mb16 wmd-preview js-wmd-preview"></div> <div></div> <div class="edit-block"> <input id="fkey" name="fkey" type="hidden" value="b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4"> <input id="author" name="author" type="text"> </div> </div> <div class="ps-relative"> <div class="form-item dno new-post-login p0 my16"> <div class="d-flex gs16 md:fd-column new-login-form"> <div class="d-flex fd-column w50 md:w-auto gsy gs8 jc-space-between new-login-left"> <h3 class="flex--item fs-title">Sign up or <a id="login-link" href="/users/login?ssrc=question_page&returnurl=https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis%23new-answer">log in</a></h3> <script> StackExchange.ready(function () { StackExchange.helpers.onClickDraftSave('#login-link'); }); </script> <div class="flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon google-login" data-ga="["sign up","Sign Up Started - Google","New Post",null,null]"> <svg aria-hidden="true" class="native svg-icon iconGoogle" width="18" height="18" viewBox="0 0 18 18"><path fill="#4285F4" d="M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18"/><path fill="#34A853" d="M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17"/><path fill="#FBBC05" d="M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18z"/><path fill="#EA4335" d="M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.8 4.8 0 0 1 4.48-3.3"/></svg> Sign up using Google </div> <div class="flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon stackexchange-login" data-ga="["sign up","Sign Up Navigation","New Post",null,null]"> <svg aria-hidden="true" class="native svg-icon iconGlyphXSm" width="18" height="18" viewBox="0 0 18 18"><path fill="#BCBBBB" d="M14 16v-5h2v7H2v-7h2v5z"/><path fill="#F48024" d="m12.09.72-1.21.9 4.5 6.07 1.22-.9zM5 15h8v-2H5zm9.15-5.87L8.35 4.3l.96-1.16 5.8 4.83zm-7.7-1.47 6.85 3.19.63-1.37-6.85-3.2zm6.53 5L5.4 11.39l.38-1.67 7.42 1.48z"/></svg> Sign up using Email and Password </div> </div> <input type="hidden" name="use-facebook" class="use-facebook" value="false" /> <input type="hidden" name="use-google" class="use-google" value="false" /> <button type="button" class="d-none js-submit-openid">Submit</button> <div class="d-flex gsy gs8 fd-column w50 md:w-auto new-login-right form-item p0"> <h3 class="flex--item fs-title">Post as a guest</h3> <div class="flex--item"> <div class="d-flex gs4 gsy fd-column"> <label class="s-label" for="display-name">Name</label> <div class="d-flex ps-relative"> <input class="s-input" id="display-name" name="display-name" maxlength="30" type="text" value="" tabindex="105" placeholder="" /> </div> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsy fd-column"> <div class="flex--item"> <div class="d-flex gs2 gsy fd-column"> <label class="flex--item s-label" for="m-address">Email</label> <p class="flex--item s-description">Required, but never shown</p> </div> </div> <div class="d-flex ps-relative"> <input class="s-input js-post-email-field" id="m-address" name="m-address" type="text" value="" size="40" tabindex="106" placeholder="" /> </div> </div> </div> </div> </div> </div> <script> StackExchange.ready( function () { StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis%23new-answer', 'question_page'); } ); </script> <noscript> <h3 class="flex--item fs-title">Post as a guest</h3> <div class="flex--item"> <div class="d-flex gs4 gsy fd-column"> <label class="s-label" for="display-name">Name</label> <div class="d-flex ps-relative"> <input class="s-input" id="display-name" name="display-name" maxlength="30" type="text" value="" tabindex="105" placeholder="" /> </div> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsy fd-column"> <div class="flex--item"> <div class="d-flex gs2 gsy fd-column"> <label class="flex--item s-label" for="m-address">Email</label> <p class="flex--item s-description">Required, but never shown</p> </div> </div> <div class="d-flex ps-relative"> <input class="s-input js-post-email-field" id="m-address" name="m-address" type="text" value="" size="40" tabindex="106" placeholder="" /> </div> </div> </div> </noscript> </div> <div class="form-submit clear-both d-flex sm:fd-column sm:jc-stretch gs4 ai-center"> <button id="submit-button" class="flex--item fl-shrink0 s-btn s-btn__filled sm:w100" type="submit" tabindex="120" autocomplete="off"> Post Your Answer </button> <button class="flex--item s-btn s-btn__danger fl-shrink0 sm:w100 discard-answer d-none"> Discard </button> <p class="flex--item mb0 fs-italic ml12 sm:ml0"> By clicking “Post Your Answer”, you agree to our <a href='https://stackoverflow.com/legal/terms-of-service/public' name='tos' target='_blank' class='-link'>terms of service</a> and acknowledge you have read our <a href='https://stackoverflow.com/legal/privacy-policy' name='privacy' target='_blank' class='-link'>privacy policy</a>.<input type="hidden" name="legalLinksShown" value="1" /> </p> </div> <div class="js-general-error general-error clear-both d-none" aria-live="polite"></div> </form> <h2 class="bottom-notice" data-loc="1"> <div> Not the answer you're looking for? Browse other questions tagged <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/qgis" class="s-tag post-tag" title="show questions tagged 'qgis'" aria-label="show questions tagged 'qgis'" rel="tag" aria-labelledby="tag-qgis-tooltip-container" data-tag-menu-origin="Unknown">qgis</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/shapefile" class="s-tag post-tag" title="show questions tagged 'shapefile'" aria-label="show questions tagged 'shapefile'" rel="tag" aria-labelledby="tag-shapefile-tooltip-container" data-tag-menu-origin="Unknown">shapefile</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/buffer" class="s-tag post-tag" title="show questions tagged 'buffer'" aria-label="show questions tagged 'buffer'" rel="tag" aria-labelledby="tag-buffer-tooltip-container" data-tag-menu-origin="Unknown">buffer</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/donut-polygons" class="s-tag post-tag" title="show questions tagged 'donut-polygons'" aria-label="show questions tagged 'donut-polygons'" rel="tag" aria-labelledby="tag-donut-polygons-tooltip-container" data-tag-menu-origin="Unknown">donut-polygons</a></li></ul> or <a href="/questions/ask">ask your own question</a>. </div> </h2> </div> </div> <div id="sidebar" class="show-votes" role="complementary" aria-label="sidebar"> <div class="s-sidebarwidget s-sidebarwidget__yellow s-anchors s-anchors__grayscale mb16" data-tracker="cb=1"> <ul class="s-sidebarwidget--content s-sidebarwidget__items p0"> <li class="s-sidebarwidget--header"> The Overflow Blog </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <svg aria-hidden="true" class="va-text-top svg-icon iconPencilSm" width="14" height="14" viewBox="0 0 14 14"><path fill="#F1B600" d="m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z"/><path fill="#E87C87" d="m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0"/></svg> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://stackoverflow.blog/2024/12/17/legal-advice-from-an-ai-is-illegal/" class="js-gps-track" data-ga="["community bulletin board","The Overflow Blog","https://stackoverflow.blog/2024/12/17/legal-advice-from-an-ai-is-illegal/",null,null]" data-gps-track="communitybulletin.click({ priority: 1, position: 0, location: questionpage })">Legal advice from an AI is illegal</a> </div> </li> <li class="s-sidebarwidget--header"> Featured on Meta </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackexchange.com/questions/404724/the-december-2024-community-asks-sprint-has-been-moved-to-march-2025-and-length" class="js-gps-track" title="The December 2024 Community Asks Sprint has been moved to March 2025 (and lengthened to 2 weeks to compensate)" data-ga="["community bulletin board","Featured on Meta","https://meta.stackexchange.com/questions/404724/the-december-2024-community-asks-sprint-has-been-moved-to-march-2025-and-length",null,null]" data-gps-track="communitybulletin.click({ priority: 3, position: 1, location: questionpage })">The December 2024 Community Asks Sprint has been moved to March 2025 (and...</a> </div> </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackexchange.com/questions/404909/stack-overflow-jobs-is-expanding-to-more-countries" class="js-gps-track" data-ga="["community bulletin board","Featured on Meta","https://meta.stackexchange.com/questions/404909/stack-overflow-jobs-is-expanding-to-more-countries",null,null]" data-gps-track="communitybulletin.click({ priority: 3, position: 2, location: questionpage })">Stack Overflow Jobs is expanding to more countries</a> </div> </li> </ul> </div> <div class="js-zone-container zone-container-sidebar"> <div id="dfp-tsb" class="everyonelovesstackoverflow everyoneloves__top-sidebar"></div> <div class="js-report-ad-button-container " style="width: 300px"></div> </div> <div class="module sidebar-related"> <h4 id="h-related">Related</h4> <div class="related js-gps-related-questions" data-tracker="rq=1"> <div class="spacer" data-question-id="250891"> <a href="/q/250891" title="Question score (upvotes - downvotes)" > <div class="answer-votes default">2</div> </a> <a href="/questions/250891/multiple-ring-buffer-for-multiple-points" class="question-hyperlink">Multiple Ring Buffer for Multiple Points</a> </div> <div class="spacer" data-question-id="256656"> <a href="/q/256656" title="Question score (upvotes - downvotes)" > <div class="answer-votes answered-accepted default">0</div> </a> <a href="/questions/256656/creating-multiple-donuts-with-ascending-hole-radius-multiple-ring-buffer" class="question-hyperlink">Creating multiple donuts with ascending hole radius (Multiple Ring Buffer)</a> </div> <div class="spacer" data-question-id="280834"> <a href="/q/280834" title="Question score (upvotes - downvotes)" > <div class="answer-votes default">0</div> </a> <a href="/questions/280834/multi-ring-buffers-that-are-rings-donuts-even-when-overlapping-other-buffers" class="question-hyperlink">Multi ring buffers that are rings/donuts even when overlapping other buffers</a> </div> <div class="spacer" data-question-id="328786"> <a href="/q/328786" title="Question score (upvotes - downvotes)" > <div class="answer-votes answered-accepted default">1</div> </a> <a href="/questions/328786/proportion-of-polygon-classes-in-each-multi-ring-buffers" class="question-hyperlink">Proportion of polygon classes in each multi-ring buffers</a> </div> <div class="spacer" data-question-id="342649"> <a href="/q/342649" title="Question score (upvotes - downvotes)" > <div class="answer-votes answered-accepted default">0</div> </a> <a href="/questions/342649/multi-ring-buffer-outside-polygons-only-option-grayed-out-arcgis" class="question-hyperlink">Multi Ring Buffer "Outside polygons only" option grayed out - ArcGIS</a> </div> <div class="spacer" data-question-id="408896"> <a href="/q/408896" title="Question score (upvotes - downvotes)" > <div class="answer-votes default">5</div> </a> <a href="/questions/408896/rasterizing-overlapping-buffers-in-qgis" class="question-hyperlink">Rasterizing overlapping buffers in QGIS</a> </div> <div class="spacer" data-question-id="463170"> <a href="/q/463170" title="Question score (upvotes - downvotes)" > <div class="answer-votes answered-accepted default">1</div> </a> <a href="/questions/463170/postgis-multi-ring-buffers-around-lines" class="question-hyperlink">PostGIS Multi-Ring Buffers Around Lines</a> </div> </div> </div> <script type="text/javascript"> $(function() { $(".js-gps-related-questions .spacer").on("click", function () { fireRelatedEvent($(this).index() + 1, $(this).data('question-id')); }); function fireRelatedEvent(position, questionId) { StackExchange.using("gps", function() { StackExchange.gps.track('related_questions.click', { position: position, originQuestionId: 488835, relatedQuestionId: +questionId, location: 'sidebar', source: 'Baseline' }); }); } }); </script> <div id="hot-network-questions" class="module tex2jax_ignore"> <h4> <a href="https://stackexchange.com/questions?tab=hot" class="js-gps-track s-link s-link__inherit" data-gps-track="posts_hot_network.click({ item_type:1, location:11 })"> Hot Network Questions </a> </h4> <ul> <li > <div class="favicon favicon-rpg" title="Role-playing Games Stack Exchange"></div><a href="https://rpg.stackexchange.com/questions/214242/what-are-the-maximum-bonuses-of-each-type-possible" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:122 }); posts_hot_network.click({ item_type:2, location:11 })"> What are the maximum bonuses of each type possible? </a> </li> <li > <div class="favicon favicon-opensource" title="Open Source Stack Exchange"></div><a href="https://opensource.stackexchange.com/questions/15258/why-are-there-no-no-attribution-licenses-other-than-public-domain" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:619 }); posts_hot_network.click({ item_type:2, location:11 })"> Why are there no no-attribution licenses other than "public domain"? </a> </li> <li > <div class="favicon favicon-academia" title="Academia Stack Exchange"></div><a href="https://academia.stackexchange.com/questions/215596/applying-for-nsf-grant-from-europe" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:415 }); posts_hot_network.click({ item_type:2, location:11 })"> Applying for NSF grant from Europe </a> </li> <li > <div class="favicon favicon-codereview" title="Code Review Stack Exchange"></div><a href="https://codereview.stackexchange.com/questions/294734/rand-template-function-implementation-for-image-in-c" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:196 }); posts_hot_network.click({ item_type:2, location:11 })"> rand Template Function Implementation for Image in C++ </a> </li> <li > <div class="favicon favicon-linguistics" title="Linguistics Stack Exchange"></div><a href="https://linguistics.stackexchange.com/questions/49602/which-accents-dont-merge-fire-and-hire-what-about-rite-and-ride" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:312 }); posts_hot_network.click({ item_type:2, location:11 })"> Which accents *don't* merge FIRE and HIRE? What about RITE and RIDE? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-gis" title="Geographic Information Systems Stack Exchange"></div><a href="https://gis.stackexchange.com/questions/488831/merging-overlapping-points-and-adjusting-their-size-based-on-sample-count-in-qgi" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:79 }); posts_hot_network.click({ item_type:2, location:11 })"> Merging overlapping points and adjusting their size based on sample count in QGIS </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-worldbuilding" title="Worldbuilding Stack Exchange"></div><a href="https://worldbuilding.stackexchange.com/questions/263577/snowshoe-design-for-satyrs-and-fauns" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:579 }); posts_hot_network.click({ item_type:2, location:11 })"> Snowshoe design for satyrs and fauns </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-matheducators" title="Mathematics Educators Stack Exchange"></div><a href="https://matheducators.stackexchange.com/questions/28346/how-to-teach-high-school-students-to-analyze-diagrams-in-a-proof" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:548 }); posts_hot_network.click({ item_type:2, location:11 })"> How to teach high school students to analyze diagrams in a proof? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-mathoverflow" title="MathOverflow"></div><a href="https://mathoverflow.net/questions/484305/global-choice-bi-interpretable-with-global-wellorder" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:504 }); posts_hot_network.click({ item_type:2, location:11 })"> Global Choice bi-interpretable with Global Wellorder? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-physics" title="Physics Stack Exchange"></div><a href="https://physics.stackexchange.com/questions/837280/why-dont-protons-and-neutrons-get-ejected-by-the-photoelectric-effect" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:151 }); posts_hot_network.click({ item_type:2, location:11 })"> Why don't protons and neutrons get ejected by the photoelectric effect? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-puzzling" title="Puzzling Stack Exchange"></div><a href="https://puzzling.stackexchange.com/questions/129689/which-is-larger-459-or-568" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })"> Which is larger? 4^(5^9) or 5^(6^8) </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-ell" title="English Language Learners Stack Exchange"></div><a href="https://ell.stackexchange.com/questions/360473/in-the-context-of-being-local-to-a-place-i-am-a-native-londoner-vs-i-am-an" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:481 }); posts_hot_network.click({ item_type:2, location:11 })"> (In the context of being local to a place) "I am a native Londoner." VS "I am an original Londoner." </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-music" title="Music: Practice & Theory Stack Exchange"></div><a href="https://music.stackexchange.com/questions/138329/does-the-jazz-term-head-refer-to-both-instrumental-and-vocal-themes" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:240 }); posts_hot_network.click({ item_type:2, location:11 })"> Does the jazz term 'head' refer to both instrumental and vocal themes? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-aviation" title="Aviation Stack Exchange"></div><a href="https://aviation.stackexchange.com/questions/107510/in-a-life-and-death-emergency-could-an-airliner-pull-away-from-the-gate" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:528 }); posts_hot_network.click({ item_type:2, location:11 })"> In a life-and-death emergency, could an airliner pull away from the gate? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-langdev" title="Programming Language Design and Implementation Stack Exchange"></div><a href="https://langdev.stackexchange.com/questions/4192/why-no-full-stack-sql-like-language" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:716 }); posts_hot_network.click({ item_type:2, location:11 })"> Why no "full-stack" SQL-like language? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-electronics" title="Electrical Engineering Stack Exchange"></div><a href="https://electronics.stackexchange.com/questions/733619/different-multimeters-give-massively-different-resistance-readings-when-measurin" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:135 }); posts_hot_network.click({ item_type:2, location:11 })"> Different multimeters give massively different resistance readings when measuring between HV+ and HV- on a hybrid car. Why is this? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-gis" title="Geographic Information Systems Stack Exchange"></div><a href="https://gis.stackexchange.com/questions/488840/finding-corners-where-multiple-polygons-meet-in-qgis" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:79 }); posts_hot_network.click({ item_type:2, location:11 })"> Finding corners where multiple polygons meet in QGIS </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-literature" title="Literature Stack Exchange"></div><a href="https://literature.stackexchange.com/questions/28381/why-is-the-novel-called-david-copperfield" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:668 }); posts_hot_network.click({ item_type:2, location:11 })"> Why is the novel called David Copperfield? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-salesforce" title="Salesforce Stack Exchange"></div><a href="https://salesforce.stackexchange.com/questions/428828/not-able-to-see-data-cloud-setup-in-create-and-publish-a-data-kit-trailhead" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:459 }); posts_hot_network.click({ item_type:2, location:11 })"> Not able to see Data cloud setup in "Create and Publish a Data Kit" trailhead </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-mathoverflow" title="MathOverflow"></div><a href="https://mathoverflow.net/questions/484264/publishing-alone-may-be-counterproductive" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:504 }); posts_hot_network.click({ item_type:2, location:11 })"> Publishing alone may be counterproductive? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-literature" title="Literature Stack Exchange"></div><a href="https://literature.stackexchange.com/questions/28371/why-does-david-copperfield-say-he-is-born-on-a-friday-rather-than-a-saturday" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:668 }); posts_hot_network.click({ item_type:2, location:11 })"> Why does David Copperfield say he is born on a Friday rather than a Saturday? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-serverfault" title="Server Fault"></div><a href="https://serverfault.com/questions/1168972/how-to-reject-host-header-if-different-than-url-of-request-in-apache" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:2 }); posts_hot_network.click({ item_type:2, location:11 })"> How to reject Host header if different than URL of request in Apache? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-mathoverflow" title="MathOverflow"></div><a href="https://mathoverflow.net/questions/484323/when-is-the-pullback-of-a-coherent-analytic-sheaf-again-coherent" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:504 }); posts_hot_network.click({ item_type:2, location:11 })"> When is the pullback of a coherent analytic sheaf again coherent? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-superuser" title="Super User"></div><a href="https://superuser.com/questions/1866001/openssl-how-to-avoid-the-request-and-instruct-command-to-take-from-configuratio" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:11, target_site:3 }); posts_hot_network.click({ item_type:2, location:11 })"> Openssl, how to avoid the request and instruct command to take from configuration file? </a> </li> </ul> <a href="#" class="show-more js-show-more js-gps-track" data-gps-track="posts_hot_network.click({ item_type:3, location:11 })"> more hot questions </a> </div> <div id="feed-link" class="js-feed-link"> <a href="/feeds/question/488835" title="Feed of this question and its answers"> <svg aria-hidden="true" class="fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z"/></svg> Question feed </a> </div> <aside class="s-modal js-feed-link-modal" tabindex="-1" role="dialog" aria-labelledby="feed-modal-title" aria-describedby="feed-modal-description" aria-hidden="true"> <div class="s-modal--dialog js-modal-dialog wmx4" role="document" data-controller="se-draggable"> <h1 class="s-modal--header fw-bold js-first-tabbable" id="feed-modal-title" data-se-draggable-target="handle" tabindex="0"> Subscribe to RSS </h1> <div class="d-flex gs4 gsy fd-column"> <div class="flex--item"> <label class="d-block s-label c-default" for="feed-url"> Question feed <p class="s-description mt2" id="feed-modal-description">To subscribe to this RSS feed, copy and paste this URL into your RSS reader.</p> </label> </div> <div class="d-flex ps-relative"> <input class="s-input" type="text" name="feed-url" id="feed-url" readonly="readonly" value="https://gis.stackexchange.com/feeds/question/488835" /> <svg aria-hidden="true" class="s-input-icon fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z"/></svg> </div> </div> <a class="s-modal--close s-btn s-btn__muted js-modal-close js-last-tabbable" href="#" aria-label="Close"> <svg aria-hidden="true" class="svg-icon iconClearSm" width="14" height="14" viewBox="0 0 14 14"><path d="M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z"/></svg> </a> </div> </aside> </div> </div> <script>StackExchange.ready(function(){$.get('/posts/488835/ivc/53b3?prg=4d426119-13d2-4a65-9708-bee63f90ceb6');});</script> <noscript><div><img src="/posts/488835/ivc/53b3?prg=4d426119-13d2-4a65-9708-bee63f90ceb6" class="dno" alt="" width="0" height="0"></div></noscript><div style="display:none" id="js-codeblock-lang"></div></div> <script>console.error(`Unable to load nonexistent manifest entry 'recent-posts'. Check that your file path is correct.`)</script> </div> </div> <script type="text/javascript"> var cam = cam || { opt: {} }; var clcGamLoaderOptions = cam || { opt: {} }; var opt = clcGamLoaderOptions.opt; opt.refresh = !1; opt.refreshInterval = 0; opt.sf = !1; opt.hb = !1; opt.ll = !0; opt.tlb_position = 0; opt.personalization_consent = !1; opt.targeting_consent = !1; opt.performance_consent = !1; opt.targeting = {Registered:['false'],Reputation:['new'],'ron-tag':['qgis','shapefile','buffer','donut-polygons'],NumberOfAnswers:['4'],cf_bot_score:'1'}; opt.adReportEnabled = !1; opt.adReportUrl = '/ads/report-ad'; opt.adReportText = 'Report this ad'; opt.adReportFileTypeErrorMessage = 'Please select a PNG or JPG file.'; opt.adReportFileSizeErrorMessage = 'The file must be under 2 MiB.'; opt.adReportErrorText = 'Error uploading ad report.'; opt.adReportThanksText = 'Thanks for your feedback. We’ll review this against our code of conduct and take action if necessary.'; opt.adReportLoginExpiredMessage = 'Your login session has expired, please login and try again.'; opt.adReportLoginErrorMessage = 'An error occurred when loading the report form - please try again'; opt.adReportModalClass = 'js-ad-report'; opt.countryCode = 'SG'; opt.qualtricsSurveyData = '{"isRegistered":"False","repBucket":"new","referrer":"https%3a%2f%2fgis.stackexchange.com%2fquestions%2f488835%2fmulti-ring-buffers-of-uneven-sizes-in-qgis","accountAge":"0"}'; opt.perRequestGuid = '4d426119-13d2-4a65-9708-bee63f90ceb6'; opt.responseHash = 'BjF8Wjr3gIEAMtd54UCCgZSyUXnpRDgpcJy/5HbrfxM='; opt.targeting.TargetingConsent = ['False_Passive']; opt.allowAccountTargetingForThisRequest = !1; const urlParams = new URLSearchParams(window.location.search); if (urlParams.has('dfptestads')) { const dfptestads = urlParams.get('dfptestads'); opt.targeting.DfpTestAds = dfptestads; } </script> <script>;(()=>{"use strict";var __webpack_modules__={23:(e,t,s)=>{s.d(t,{Z7:()=>c,eq:()=>l,kG:()=>d});const n="248424177",o=(a=location.pathname,/^\/tags\//.test(a)||/^\/questions\/tagged\//.test(a)?"tag-pages":/^\/discussions\//.test(a)||/^\/beta\/discussions/.test(a)?"discussions":/^\/$/.test(a)||/^\/home/.test(a)?"home-page":/^\/jobs$/.test(a)||/^\/jobs\//.test(a)?"jobs":"question-pages");var a;let i=location.hostname;const r={slots:{lb:[[728,90]],mlb:[[728,90]],smlb:[[728,90]],bmlb:[[728,90]],sb:e=>"dfp-tsb"===e?[[300,250],[300,600]]:[[300,250]],"tag-sponsorship":[[730,135]],"mobile-below-question":[[320,50],[300,250]],msb:[[300,250],[300,600]],"talent-conversion-tracking":[[1,1]],"site-sponsorship":[[230,60]]},ids:{"dfp-tlb":"lb","dfp-mlb":"mlb","dfp-smlb":"smlb","dfp-bmlb":"bmlb","dfp-tsb":"sb","dfp-isb":"sb","dfp-tag":"tag-sponsorship","dfp-msb":"msb","dfp-sspon":"site-sponsorship","dfp-m-aq":"mobile-below-question"},idsToExcludeFromAdReports:["dfp-sspon"]};function d(){return Object.keys(r.ids)}function l(e){return r.idsToExcludeFromAdReports.indexOf(e)<0}function c(e){var t=e.split("_")[0];const s=r.ids[t];let a=r.slots[s];return"function"==typeof a&&(a=a(t)),{path:`/${n}/${i}/${s}/${o}`,sizes:a,zone:s}}},865:(e,t,s)=>{function n(e){return"string"==typeof e?document.getElementById(e):e}function o(e){return!!(e=n(e))&&"none"===getComputedStyle(e).display}function a(e){return!o(e)}function i(e){return!!e}function r(e){return/^\s*$/.test(n(e).innerHTML)}function d(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.display="none"}function l(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.display="none",[].forEach.call(e.children,l)}function c(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.removeProperty("display")}function g(e){const t=document.createElement("script");t.src=e,document.body.appendChild(t)}function p(e){return s=e,(t=[]).push=function(e){return s(),delete this.push,this.push(e)},t;var t,s}function h(e){let t="function"==typeof HTMLTemplateElement;var s=document.createElement(t?"template":"div");return e=e.trim(),s.innerHTML=e,t?s.content.firstChild:s.firstChild}s.d(t,{$Z:()=>c,Bv:()=>h,Gx:()=>g,Nj:()=>n,QZ:()=>p,cf:()=>d,pn:()=>a,wo:()=>l,xb:()=>r,xj:()=>o,yb:()=>i})},763:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>AdReports});var _common_helper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(865),_console__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(276),_ad_units__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(23);class AdReports{constructor(e,t){if(this.googletag=e,this.cam=t,this.allowedFileTypes=["image/png","image/jpg","image/jpeg"],this.ignoreValidation=!1,_console__WEBPACK_IMPORTED_MODULE_1__.cM("Ad reporting init"),this.cam=t,this.callOnButtonClick=e=>this.onButtonClick(e),this.googletag.pubads().addEventListener("slotRenderEnded",e=>this.handleSlotRendered(e)),Array.isArray(t.slotsRenderedEvents)){_console__WEBPACK_IMPORTED_MODULE_1__.cM("Adding report button to "+t.slotsRenderedEvents.length+" events that have transpired");for(var s=0;s<t.slotsRenderedEvents.length;s++)this.handleSlotRendered(t.slotsRenderedEvents[s])}}handleSlotRendered(e){if(e&&e.slot&&!e.isEmpty&&(e.creativeId||e.lineItemId||!e.isEmpty)){var t=e.slot.getSlotElementId();if(t){var s=document.getElementById(t);if(s)if((0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.eq)(t)){var n=s?.closest(".js-zone-container")?.querySelector(".js-report-ad-button-container");n?(n.innerHTML="",n.append(this.createButton(e)),n.style.height="24px",_console__WEBPACK_IMPORTED_MODULE_1__.cM("Added report button to the bottom of "+t)):_console__WEBPACK_IMPORTED_MODULE_1__.cM("Ad report button not found, may be intentional, element: "+t)}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of "+t+": shouldHaveReportButton = false");else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of "+t+": resolved invalid adUnit element")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of element: invalid adUnitElementId")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of element: invalid SlotRenderEndedEvent")}async onButtonClick(e){e.preventDefault();let t=e.target;const s=t.dataset.modalUrl,n=t.dataset.googleEventData;return await this.loadModal(s,t,n),!1}createButton(e){let t=document.createElement("button");var s=JSON.stringify(e);return t.dataset.googleEventData=s,t.dataset.modalUrl=this.cam.opt.adReportUrl,t.dataset.adUnit=e.slot.getSlotElementId(),t.classList.add("js-report-ad","s-btn","s-btn__link","fs-fine","mt2","float-right"),t.append(document.createTextNode(this.cam.opt.adReportText)),t.removeEventListener("click",this.callOnButtonClick),t.addEventListener("click",this.callOnButtonClick),t}async loadModal(url,$link,googleEventData){try{await window.StackExchange.helpers.loadModal(url,{returnElements:window.$($link)}),this.initForm(googleEventData)}catch(e){var message="",response=e.responseText?eval(`(${e.responseText})`):null;message=response&&response.isLoggedOut?this.cam.opt.adReportLoginExpiredMessage:this.cam.opt.adReportLoginErrorMessage,window.StackExchange.helpers.showToast(message,{type:"danger"})}}removeModal(){window.StackExchange.helpers.closePopups(document.querySelectorAll("."+this.cam.opt.adReportModalClass),"dismiss")}initForm(e,t=!1){this.ignoreValidation=t,this.$form=document.querySelector(".js-ad-report-form"),this.$googleEventData=this.$form.querySelector(".js-json-data"),this.$adReportReasons=this.$form.querySelectorAll(".js-ad-report-reason"),this.$adReportReasonOther=this.$form.querySelector(".js-ad-report-reason-other"),this.$fileUploaderInput=this.$form.querySelector(".js-file-uploader-input"),this.$imageUploader=this.$form.querySelector(".js-image-uploader"),this.$clearImageUpload=this.$form.querySelector(".js-clear-image-upload"),this.$imageUploaderText=this.$form.querySelector(".js-image-uploader-text"),this.$imageUploaderPreview=this.$form.querySelector(".js-image-uploader-preview"),this.$fileErrorMessage=this.$form.querySelector(".js-file-error");const s=this.$form.querySelector(".js-drag-drop-enabled"),n=this.$form.querySelector(".js-drag-drop-disabled");this.$googleEventData.value=e,this.$adReportReasons.forEach((e,t)=>e.addEventListener("change",e=>{this.$adReportReasonOther.classList.toggle("d-none","3"!==e.target.value)})),this.$fileUploaderInput.addEventListener("change",()=>{this.validateFileInput()&&this.updateImagePreview(this.$fileUploaderInput.files)}),this.$clearImageUpload.addEventListener("click",e=>{e.preventDefault(),this.clearImageUpload()});try{this.$fileUploaderInput[0].value="",this.$imageUploader.addEventListener("dragenter dragover dragleave drop",this.preventDefaults),this.$imageUploader.addEventListener("dragenter dragover",this.handleDragStart),this.$imageUploader.addEventListener("dragleave drop",this.handleDragEnd),this.$imageUploader.addEventListener("drop",this.handleDrop)}catch(e){s.classList.add("d-none"),n.classList.remove("d-none")}this.$form.removeEventListener("",this.handleDragEnd),this.$form.addEventListener("submit",async e=>(e.preventDefault(),this.submitForm(),!1))}clearImageUpload(){this.$fileUploaderInput.value="",this.$imageUploaderPreview.setAttribute("src",""),this.$imageUploaderPreview.classList.add("d-none"),this.$clearImageUpload.classList.add("d-none"),this.$imageUploaderText.classList.remove("d-none"),this.$imageUploader.classList.add("p16","ba","bas-dashed","bc-black-100")}preventDefaults(e){e.preventDefault(),e.stopPropagation()}handleDragStart(e){this.$imageUploader.classList.remove("bas-dashed"),this.$imageUploader.classList.add("bas-solid","bc-black-100")}handleDragEnd(e){this.$imageUploader.classList.remove("bas-solid","bc-black-100"),this.$imageUploader.classList.add("bas-dashed")}handleDrop(e){var t=e.originalEvent.dataTransfer.files;FileReader&&t&&1===t.length&&(this.$fileUploaderInput.files=t,this.validateFileInput()&&this.updateImagePreview(t))}setError(e){this.$fileErrorMessage.parentElement.classList.toggle("has-error",e)}updateImagePreview(e){this.$imageUploader.classList.remove("p16","ba","bas-dashed","bc-black-100"),this.$clearImageUpload.classList.remove("d-none"),this.$imageUploaderText.classList.add("d-none");var t=new FileReader;t.onload=e=>{null!=e.target&&(this.$imageUploaderPreview.setAttribute("src",e.target.result),this.$imageUploaderPreview.classList.remove("d-none"))},t.readAsDataURL(e[0])}validateFileInput(){if(this.ignoreValidation)return!0;const e=this.cam.opt.adReportFileTypeErrorMessage,t=this.cam.opt.adReportFileSizeErrorMessage;if(null==this.$fileUploaderInput.files)return!1;var s=this.$fileUploaderInput.files[0];return null==s?(this.setError(!0),!1):this.allowedFileTypes.indexOf(s.type)<0?(this.$fileErrorMessage.textContent=e,this.$fileErrorMessage.classList.remove("d-none"),this.setError(!0),!1):s.size>2097152?(this.$fileErrorMessage.textContent=t,this.$fileErrorMessage.classList.remove("d-none"),this.setError(!0),!1):(this.$fileErrorMessage.classList.add("d-none"),this.setError(!1),!0)}async gatherDiagnosticInfo(){return{BrowserVersion:await this.getBrowserVersion()}}getElementSource(e){return e.outerHTML}getNestedIFrameElement(e){var t=e.querySelector("iframe");return t.contentDocument?t.contentDocument.documentElement:t.contentWindow.document.documentElement}async getBrowserVersion(){return await navigator.userAgentData.getHighEntropyValues(["fullVersionList"]).then(e=>JSON.stringify(e.fullVersionList))}async submitForm(){if(!this.validateFileInput())return!1;this.$form.querySelector("[type=submit]").setAttribute("disabled","true");var e=JSON.parse(this.$googleEventData.value||"{}");e.Reason=parseInt(this.$form.querySelector(".js-ad-report-reason:checked").value,10),e.Description=this.$adReportReasonOther.value,this.$googleEventData.value=JSON.stringify(e);var t=new FormData(this.$form);if("1"===t.get("shareDiagnosticInfo")){var s=await this.gatherDiagnosticInfo();Object.keys(s).forEach(e=>t.append(e,s[e]))}try{const e=await window.fetch(this.$form.getAttribute("action"),{method:this.$form.getAttribute("method"),body:t,cache:"no-cache"}),s=e.headers.get("content-type")||"",o=await e.text();if(!e.ok)throw new Error("response not valid");if(0===s.indexOf("text/html")){var n=(0,_common_helper__WEBPACK_IMPORTED_MODULE_2__.Bv)(o);const e=n?n.querySelector(".js-modal-content"):null;if(_console__WEBPACK_IMPORTED_MODULE_1__.cM("$popupContent"),_console__WEBPACK_IMPORTED_MODULE_1__.cM(e),!e)throw new Error(`Could not find .js-modal-content in response from ${this.$form.getAttribute("action")}`);document.querySelector(".js-modal-content").replaceWith(e)}else window.StackExchange.helpers.showToast(this.cam.opt.adReportThanksText,{type:"success"}),this.removeModal()}catch(e){window.StackExchange.helpers.showToast(this.cam.opt.adReportErrorText,{type:"danger"})}finally{let e=this.$form.querySelector("[type=submit]");e&&e.removeAttribute("disabled")}}}},276:(e,t,s)=>{function n(...e){}function o(...e){}s.d(t,{cM:()=>n,vU:()=>o})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{var e=__webpack_require__(276),t=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e))(t||{});const s=Object.assign({},{"lib":"https://clc.stackoverflow.com/Content/bundles/js/gam_loader_script.bundle.741.25e3e63be9a306287d9f.js?v=d5f908ccaade","style":null,"u":null,"wa":true,"kt":2000,"tto":true,"h":"clc.stackoverflow.com","allowed":"^(((talent\\.)?stackoverflow)|(blog\\.codinghorror)|(.*\\.googlesyndication)|(serverfault|askubuntu|superuser)|([^\\.]+\\.stackexchange))\\.com$","wv":true,"al":false,"abd":true,"cpa_liid":[5882654614],"cpa_cid":[138377597667],"dp":false,"tgt_to":1000,"tgt_u":"https://clc.stackoverflow.com/get-user-acct-tgt","tgt_e":true,"tgt_p":100,"dv_enabled":false});var n=__webpack_require__(23),o=__webpack_require__(865),a=__webpack_require__(763);class i{constructor(t,s){this.googletag=t,this.interval=s,e.cM("Ad refresh init. interval: "+s),this.googletag.pubads().addEventListener("impressionViewable",e=>this.onImpressionViewable(e)),e.cM("done enabling ad refresh")}onImpressionViewable(t){var s=t.slot;e.cM("ad refresh - slot "+s.getSlotElementId()+" is viewable, initializing refresh"),this.scheduleRefresh(s)}scheduleRefresh(e){setTimeout(()=>this.refreshAdSlot(e),1e3*this.interval)}static refreshMyAd(t,s){let n=t.pubads().getSlots().find(e=>e.getSlotElementId()===s);n&&(e.cM("refreshMyAd - refreshing ad slot "+s),t.pubads().refresh([n]))}static removeMyAd(t,s){let n=t.pubads().getSlots().find(e=>e.getSlotElementId()===s);n&&(e.cM("removeMyAd - destroying ad slot "+s),t.destroySlots([n]))}refreshAdSlot(t){var s=t.getSlotElementId();this.isElementVisibleInBrowser(s)?(e.cM("refreshing ad slot "+s),googletag.pubads().refresh([t])):(e.cM("refresh skipped this time; ad slot not viewable:"+s),this.scheduleRefresh(t))}isElementVisibleInBrowser(e){var t=document.getElementById(e);if(null!==t){var s=t.getBoundingClientRect();if(s.top>=0&&s.left>=0&&s.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&s.right<=(window.innerWidth||document.documentElement.clientWidth))return!0}return!1}}var r=(e=>(e.Off="Off",e.PreSurvey="PreSurvey",e.Collect="Collect",e.PostSurvey="PostSurvey",e))(r||{});class d{constructor(e,t){this.lineItemImpressions=[],this.surveysIdsCompleted=[],this.lineItemImpressions=e,this.surveysIdsCompleted=t}addImpression(e,t){let s={brandId:e,lineItemId:t,timestamp:new Date};this.lineItemImpressions.push(s)}addBrandSurveyCompleted(e){-1===this.surveysIdsCompleted.indexOf(e)&&this.surveysIdsCompleted.push(e)}getTotalBrandImpressions(){let e=new Map;for(let t of this.lineItemImpressions)if(e.has(t.brandId)){let s=e.get(t.brandId);e.set(t.brandId,s+1)}else e.set(t.brandId,1);return e}getBrandLineItemImpressions(e){let t={};for(let s of this.lineItemImpressions)if(s.brandId==e)if(void 0!==t[s.lineItemId]){let e=t[s.lineItemId];t[s.lineItemId]=e+1}else t[s.lineItemId]=1;return t}}class l{constructor(){this.surveyEngagementLocalStorageKey="clc-survey-engagement"}getBrandSurveyEngagement(){let e=localStorage.getItem(this.surveyEngagementLocalStorageKey);if(null===e)return new d([],[]);let t=JSON.parse(e);return new d(t.lineItemImpressions,t.surveysIdsCompleted)}saveBrandSurveyEngagement(e){let t=JSON.stringify(e);localStorage.setItem(this.surveyEngagementLocalStorageKey,t)}}class c{constructor(){this.surveyRepository=new l}getBrandSurveyEngagement(){return this.surveyRepository.getBrandSurveyEngagement()}recordImpression(e,t){let s=this.getBrandSurveyEngagement();s.addImpression(e,t),this.surveyRepository.saveBrandSurveyEngagement(s)}recordBrandSurveyCompleted(e){let t=this.getBrandSurveyEngagement();t.addBrandSurveyCompleted(e),this.surveyRepository.saveBrandSurveyEngagement(t)}}class g{constructor(t,s){this.googletag=t,this.brandSettings=s,this.brandSlotMap=new Map,this.brandSurveyEngagementService=new c,e.cM("Brand Survey init: "+JSON.stringify(s)),void 0!==s?(this.googletag.pubads().addEventListener("slotRenderEnded",e=>this.handleSlotRendered(e)),this.googletag.pubads().addEventListener("impressionViewable",e=>this.onImpressionViewable(e)),e.cM("done enabling Brand Survey")):e.cM("Brand Survey init: brandSettings is undefined, not initializing")}handleSlotRendered(t){e.cM("Brand Survey - slot rendered - slot:"+JSON.stringify(t.slot.getSlotElementId())+" lineItem: "+t.lineItemId);let s=this.findItemWithId(t.lineItemId);if(null===s||s.mode!==r.Collect)this.brandSlotMap.delete(t.slot.getSlotElementId());else{let e={brandId:s.brandId,lineItemId:t.lineItemId};this.brandSlotMap.set(t.slot.getSlotElementId(),e)}}onImpressionViewable(t){let s=t.slot;if(e.cM("ad - Brand Survey - impression viewable. Details: "+JSON.stringify(s.getSlotElementId())),e.cM("ad - Brand Survey - slot "+s.getSlotElementId()+" is viewable"),this.brandSlotMap.has(s.getSlotElementId())){let t=this.brandSlotMap.get(s.getSlotElementId());e.cM("Brand Survey - brand "+t.brandId+" is viewable"),this.recordImpression(this.brandSlotMap.get(s.getSlotElementId()))}}recordImpression(t){e.cM("ad - Brand Survey - recording impression for brand "+t.brandId),this.brandSurveyEngagementService.recordImpression(t.brandId,t.lineItemId)}findItemWithId(t){return e.cM("brand settings: "+JSON.stringify(this.brandSettings)),this.brandSettings.find(e=>e.lineItemIds.includes(t))||null}}const p="response-brand-survey-submit|",h="request-brand-survey-metadata|",m="record-metric-on-server|",u="request-dsp-tags",f="response-dsp-tags|";class v{static refreshAdIfBrandSurveyIsDuplicated(e,t,s){if(this.alreadyCompletedThisBrandSurvey(t)){var n=document.getElementById(s).closest(".js-zone-container");i.removeMyAd(e,s),n&&n.remove()}}static alreadyCompletedThisBrandSurvey(e){return(new c).getBrandSurveyEngagement().surveysIdsCompleted.includes(e)}}window.cam=new class{constructor(t=null){if(this.gptImported=!1,this.slotsRenderedEvents=[],this.collapsed={},e.cM("constructor"),this.clc_options=s,window.clcGamLoaderOptions)Object.assign(this,window.clcGamLoaderOptions);else if(void 0===this.opt){let e=window.opt;e&&(this.opt=e)}}init(){if(e.cM("init"),void 0===this.opt)throw new Error("opt not set, required by GAM Loader");e.cM("init brand survey service"),this.getUserMetaPromise=this.getUserMeta(),e.cM("setup message handler"),window.addEventListener("message",e=>{this.onmessage(e)})}handleSlotRenderedNoAdReport(){if(googletag.pubads().addEventListener("slotRenderEnded",e=>this.applyExtraMarginBottom(e)),Array.isArray(this.slotsRenderedEvents))for(var e=0;e<this.slotsRenderedEvents.length;e++)this.applyExtraMarginBottom(this.slotsRenderedEvents[e])}onmessage(t){let s="omni";if(t.data&&("string"==typeof t.data||t.data instanceof String))if(0===t.data.indexOf("get-omni-")){e.cM("Recevied get-omni message, sending back omni");var n=t.source,a=this.opt.omni,i="string"==typeof a?a:"";n.postMessage([s,i,this.opt.perRequestGuid].join("|"),"*")}else if(0===t.data.indexOf("collapse-")){e.cM("Recevied collapse message, collapse ad iframe"),e.cM(t);for(var r=t.source.window,d=document.getElementsByTagName("IFRAME"),l=0;l<d.length;l++){var g=d[l];if(g.contentWindow==r)return void(0,o.wo)(g.parentElement.parentElement.parentElement)}}else if(0===t.data.indexOf("resize|")){e.cM("Recevied resize message, resize ad iframe"),e.cM(t);let s=this._getFrameByEvent(t),n=t.data.indexOf("|")+1,o=t.data.slice(n),a=parseFloat(o)+.5;e.cM("New iframe height "+a),s.height=a.toString(),s.parentElement.style.height=a.toString()+"px"}else if(0===t.data.indexOf("getmarkup|")){let s=t.data.indexOf("|")+1,n=t.data.slice(s);e.cM("Recevied get markup message: "+n);let o=this._getFrameByEvent(t).closest(".everyonelovesstackoverflow");const a=document.createElement("script");a.dataset.adZoneId=o.id,a.src=n,document.body.appendChild(a)}else if(0===t.data.indexOf("window-location|")){let s=t.data.indexOf("|")+1,n=t.data.slice(s);e.cM("Recevied window location message: "+n),n.startsWith("/")||(n="/"+n),window.open(window.location.protocol+"//"+window.location.host+n,"_blank")}else if(0===t.data.indexOf("request-brand-survey-submit|")){let s=t.data.split("|"),n=s[1],o=s[2],a=s[3],i=JSON.parse(a);e.cM(n),e.cM(o),e.cM(a),e.cM("Received brand survey "+n+" response message: "+o);var _=new FormData;for(var b in i)_.append(b,i[b]);let r=this._getFrameByEvent(t);if(v.alreadyCompletedThisBrandSurvey(+n))return e.cM("Already completed this brand survey. Not submitting duplicate to server."),void r.contentWindow.postMessage("response-brand-survey-submit-duplicate|","*");e.cM("Send the brand survey to the server"),fetch(o,{method:"POST",body:_}).then(e=>e.json()).then(e=>r.contentWindow.postMessage({messageType:p},"*")).catch(e=>r.contentWindow.postMessage({messageType:p},"*"))}else if(0===t.data.indexOf("brand-survey-completed-store|")){let s=t.data.split("|"),n=(s[1],s[2]);if(e.cM("Received brand survey completed store message for survey ID "+n),v.alreadyCompletedThisBrandSurvey(+n))return void e.cM("Already completed this brand survey. Not recording duplicate locally.");e.cM("Record brand survey completion locally"),(new c).recordBrandSurveyCompleted(+n)}else if(0===t.data.indexOf(h)){let s=t.data.split("|"),n=s[1],o=s[2];e.cM("Received message: "+h+" with Brand Survey ID "+o);let a=(new c).getBrandSurveyEngagement().getBrandLineItemImpressions(+n),i=JSON.stringify(a),r=this._getFrameByEvent(t);e.cM("sending impression data: "+i),r.contentWindow.postMessage("response-brand-survey-metadata|"+this.opt.responseHash+"|"+this.opt.perRequestGuid+"|"+i+"|"+this.opt.countryCode+"|"+this.opt.qualtricsSurveyData,"*")}else if(0===t.data.indexOf("refresh-if-duplicate-brand-survey|")){let e=t.data.split("|")[1],s=this.getSlotElementIdByEvent(t);v.refreshAdIfBrandSurveyIsDuplicated(googletag,+e,s)}else if(0===t.data.indexOf(m)){e.cM("Received message: "+m+" with args: "+t.data);let s=t.data.split("|"),n=s[1],o=s[2],a=s[3],i=s[4],r=new FormData;r.append("brandSurveyId",a.toString()),r.append("responseHash",this.opt.responseHash),r.append("perRequestGuid",this.opt.perRequestGuid),r.append("questionNumber",n.toString()),r.append("metricType",i.toString()),fetch(o,{method:"POST",body:r}).then(e=>e.ok).catch(t=>{e.cM("SendMetricToServer: Error sending metric to server: "+t)})}else if(0===t.data.indexOf(u)){e.cM("Received message: "+u+" with args: "+t.data);let s=this._getFrameByEvent(t);if(!this.opt.targeting["so-tag"])return void s.contentWindow.postMessage(f,"*");const n=this.opt.targeting["so-tag"].join(",");e.cM("sending targeting tags: "+n),s.contentWindow.postMessage(f+n,"*")}else e.cM("Received unhandled message")}getSlotElementIdByEvent(e){let t=this._getFrameByEvent(e),s=t.parentElement?.parentElement?.id;return s||""}_getFrameByEvent(e){return Array.from(document.getElementsByTagName("iframe")).filter(t=>t.contentWindow===e.source)[0]}classifyZoneIds(e){const t=e.map(o.Nj).filter(o.yb);return{eligible:t.filter(o.xb).filter(o.pn),ineligible:t.filter(o.xj)}}applyExtraMarginBottom(t){if(t&&t.slot&&!t.isEmpty&&(t.creativeId||t.lineItemId||!t.isEmpty)){var s=t.slot.getSlotElementId();if(s){var o=document.getElementById(s);if(o)if((0,n.eq)(s)){var a=o?.closest(".js-zone-container");a.style.marginBottom="24px",e.cM("Applied extra margin to the bottom of "+s)}else e.cM("Not applying extra margin to the bottom of "+s+": shouldHaveReportButton = false");else e.cM("Not applying extra margin to the bottom of "+s+": resolved invalid adUnit element")}else e.cM("Not applying extra margin to the bottom of element: invalid adUnitElementId")}else e.cM("Not applying extra margin to the bottom of element: invalid SlotRenderEndedEvent")}async load(s=(0,n.kG)()){const r=this.opt.tlb_position===t.Above?["dfp-mlb","dfp-smlb"]:["dfp-mlb","dfp-smlb","dfp-tlb"];if(!this.isGptReady())return e.cM("Initializing..."),this.initGpt(),void googletag.cmd.push(()=>this.load(s));this.opt.adReportEnabled?(e.cM("Ad reporting enabled"),this.adReports=new a.t(googletag,this)):(e.cM("Ad reporting not enabled"),this.handleSlotRenderedNoAdReport()),this.opt.refresh?(e.cM("Ad refresh enabled"),this.adRefresh=new i(googletag,this.opt.refreshInterval)):e.cM("Ad refresh not enabled"),this.opt.brandSurveyEnabled&&(e.cM("Brand Survey enabled"),this.brandSurvey=new g(googletag,this.opt.brandSurveySettings)),e.cM("Attempting to load ads into ids: ",s);const{eligible:d,ineligible:l}=this.classifyZoneIds(s);if(this.initDebugPanel(googletag,d.concat(l)),d.forEach(e=>(0,o.cf)(e)),l.forEach(o.wo),0===d.length)return void e.cM("Found no ad ids on page");e.cM("Eligible ids:",d),this.opt.abd&&this.appendAdblockDetector();var c=googletag.pubads().getSlots();if(c){var p=c.filter(e=>s.indexOf(e.getSlotElementId())>=0);googletag.destroySlots(p)}this.opt.sf&&(googletag.pubads().setForceSafeFrame(!0),googletag.pubads().setSafeFrameConfig({allowOverlayExpansion:!0,allowPushExpansion:!0,sandbox:!0})),e.cM("Targeting consent: Checking...");let h=!1,m=!1;void 0!==this.opt.targeting_consent&&(m=!0,e.cM("Targeting consent: Parameter set"),e.cM("Targeting consent: Consent given? ",this.opt.targeting_consent),h=this.opt.targeting_consent),void 0!==this.opt.personalization_consent&&(e.cM("Personalization consent: Parameter set"),e.cM("Personalization consent: Consent given? ",this.opt.personalization_consent),h=h&&this.opt.personalization_consent),h=h&&m,this.setPrivacySettings(h),this.opt.ll||googletag.pubads().enableSingleRequest(),cam.sreEvent||(googletag.pubads().addEventListener("slotRenderEnded",e=>this.onSlotRendered(e)),cam.sreEvent=!0),await this.setTargeting();var u=d.filter(e=>!this.opt.ll||r.indexOf(e.id)<0),f=d.filter(e=>!!this.opt.ll&&r.indexOf(e.id)>=0);e.cM("Up front ids:",u),e.cM("Lazy loaded ids:",f),u.forEach(t=>{e.cM(`Defining ad for element ${t.id}`),this.defineSlot(t.id,googletag),t.setAttribute("data-dfp-zone","true")}),googletag.enableServices(),u.forEach(t=>{e.cM(`Displaying ad for element ${t.id}`),this.clc_options.dv_enabled?window.onDvtagReady(function(){googletag.display(t.id)}):googletag.cmd.push(()=>googletag.display(t.id))}),this.opt.ll&&(e.cM("Enabling lazy loading for GAM"),googletag.pubads().enableLazyLoad({fetchMarginPercent:0,renderMarginPercent:0}),e.cM("Setting up lazy loaded ad units"),f.forEach(t=>{e.cM(`Lazy loading - Defining Slot ${t.id}`),this.defineSlot(t.id,googletag)}),f.forEach(t=>{e.cM(`Lazy loading - Displaying ad for element ${t.id}`),this.clc_options.dv_enabled?window.onDvtagReady(function(){googletag.display(t.id)}):googletag.cmd.push(()=>googletag.display(t.id))}))}setPrivacySettings(e){e||googletag.pubads().setPrivacySettings({nonPersonalizedAds:!0})}async setTargeting(){if(!googletag)throw new Error("googletag not defined");let t=this.opt.targeting;if(!t)throw new Error("Targeting not defined (is "+typeof t+")");Object.keys(t).forEach(s=>{e.cM(`-> targeting - ${s}: ${t[s]}`),googletag.pubads().setTargeting(s,t[s])});let s=!1;if(void 0!==this.opt.targeting_consent&&(s=this.opt.targeting_consent),s){let t=(new c).getBrandSurveyEngagement();if(t.getTotalBrandImpressions().forEach((t,s)=>{e.cM(`-> targeting - BrandImpressions: ${s}: ${t}`),googletag.pubads().setTargeting("brand_"+s.toString()+"_impressions",t.toString())}),t.surveysIdsCompleted.forEach(t=>{e.cM(`-> targeting - SurveysTaken: ${t}`),googletag.pubads().setTargeting("survey_"+t+"_taken","true")}),this.clc_options.tgt_e&&this.getUserMetaPromise){let t=await this.getUserMetaPromise;t&&t.tgt_acct?(e.cM("-> targeting - User Account: "+t.tgt_acct),googletag.pubads().setTargeting("user-acct",t.tgt_acct.company_name),googletag.pubads().setTargeting("user_acct_top",t.tgt_acct.company_name),googletag.pubads().setTargeting("user_industry",t.tgt_acct.industry),googletag.pubads().setTargeting("user_employee_count",t.tgt_acct.employee_range)):e.cM("-> targeting - User Account: Not Found"),t&&Object.prototype.hasOwnProperty.call(t,"is_high_rep_earner")?(e.cM("-> targeting - High Rep Earner: "+t.is_high_rep_earner),googletag.pubads().setTargeting("IsHighRepEarner",t.is_high_rep_earner?"true":"false")):e.cM("-> targeting - High Rep Earner: not found")}if(localStorage){e.cM('Checking local storage for "jobs-last-clicked" key.');let t=localStorage.getItem("jobs-last-clicked")?"true":"false";e.cM(`-> targeting - jobs_clicked: ${t}`),googletag.pubads().setTargeting("jobs_clicked",t)}}}appendAdblockDetector(){const e=document.createElement("div");e.className="adsbox",e.id="clc-abd",e.style.position="absolute",e.style.pointerEvents="none",e.innerHTML=" ",document.body.appendChild(e)}onSlotRendered(s){try{const i=s.slot.getSlotElementId();let r=[];i||r.push("id=0");const d=document.getElementById(i);if(i&&!d&&r.push("el=0"),0!==r.length)return void this.stalled(r.join("&"));const{path:l,sizes:c,zone:g}=(0,n.Z7)(i);if(this.collapsed[g]&&s.isEmpty)return e.cM(`No line item for the element #${d.id}... collapsing.`),void(0,o.wo)(d);if(this.slotsRenderedEvents.push(s),s.lineItemId||s.creativeId||!s.isEmpty){e.cM(`Rendered ad for element #${d.id} [line item #${s.lineItemId}]`),e.cM(s);var a=d.parentElement;if(a.classList.contains("js-zone-container")){switch((0,o.cf)(a),i){case"dfp-tlb":this.opt.tlb_position===t.Above?a.classList.add("mb8"):a.classList.add("mt16");break;case"dfp-tag":a.classList.add("mb8");break;case"dfp-msb":a.classList.add("mt16");break;case"dfp-mlb":case"dfp-smlb":case"dfp-bmlb":a.classList.add("my8");break;case"dfp-isb":a.classList.add("mt24");break;case"dfp-m-aq":a.classList.add("my12"),a.classList.add("mx-auto")}(0,o.$Z)(a),(0,o.$Z)(d)}else e.cM(`No ad for element #${d.id}, collapsing`),e.cM(s),(0,o.wo)(d)}}catch(t){e.cM("Exception thrown onSlotRendered"),e.cM(t),this.stalled("e=1")}}stalled(e){(new Image).src=`https://${this.clc_options.h}/stalled.gif?${e}`}defineSlot(t,s){"dfp-isb"===t&&(e.cM("-> targeting - Sidebar: Inline"),s.pubads().setTargeting("Sidebar",["Inline"])),"dfp-tsb"===t&&(e.cM("-> targeting - Sidebar: Right"),s.pubads().setTargeting("Sidebar",["Right"]));const{path:o,sizes:a,zone:i}=(0,n.Z7)(t);e.cM(`Defining slot for ${t}: ${o}, sizes: ${JSON.stringify(a)}`),s.defineSlot(o,a,t).addService(s.pubads())}importGptLibrary(){this.gptImported||(this.gptImported=!0,void 0===this.opt.targeting_consent||this.opt.targeting_consent?(0,o.Gx)("https://securepubads.g.doubleclick.net/tag/js/gpt.js"):(0,o.Gx)("https://pagead2.googlesyndication.com/tag/js/gpt.js"))}importDvLibrary(){this.clc_options.dv_enabled&&(e.cM("Adding DoubleVerify library"),(0,o.Gx)("https://pub.doubleverify.com/dvtag/21569774/DV1289064/pub.js"),e.cM("Adding DoubleVerify onDvtagReady handler"),window.onDvtagReady=function(t,s=750){e.cM("DoubleVerify onDvtagReady called"),window.dvtag=window.dvtag||{},dvtag.cmd=dvtag.cmd||[];const n={callback:t,timeout:s,timestamp:(new Date).getTime()};dvtag.cmd.push(function(){dvtag.queueAdRequest(n)}),setTimeout(function(){const e=n.callback;n.callback=null,e&&e()},s)})}isGptReady(){return"undefined"!=typeof googletag&&!!googletag.apiReady}initGpt(){"undefined"==typeof googletag&&(window.googletag={cmd:(0,o.QZ)(()=>{this.importGptLibrary(),this.importDvLibrary()})})}getUserMeta(){if(this.opt.allowAccountTargetingForThisRequest&&this.clc_options.tgt_e&&this.clc_options.tgt_p>0){if(e.cM("Targeting enabled."),this.clc_options.tgt_p<100){e.cM("Targeting rate limit enabled. Rolling the dice...");const t=Math.floor(100*Math.random())+1;if(e.cM("Rolled "+t+" and the max is "+this.clc_options.tgt_p),t>this.clc_options.tgt_p)return void e.cM("Will not request targeting.")}return e.cM("Will request targeting."),function(e,t,s,n){if(t){const t=new Headers;return t.append("Accept","application/json"),async function(e,t={},s=5e3){if("number"!=typeof s&&null!=s&&!1!==s){if("string"!=typeof s)throw new Error("fetchWithTimeout: timeout must be a number");if(s=parseInt(s),isNaN(s))throw new Error("fetchWithTimeout: timeout must be a number (or string that can be parsed to a number)")}const n=new AbortController,{signal:o}=n,a=fetch(e,{...t,signal:o}),i=setTimeout(()=>n.abort(),s);try{const e=await a;return clearTimeout(i),e}catch(e){throw clearTimeout(i),e}}(s+"?"+new URLSearchParams({omni:e}),{method:"GET",mode:"cors",headers:t},n).then(e=>e.json())}return Promise.reject("No consent")}(this.opt.omni,this.opt.targeting_consent,this.clc_options.tgt_u,this.clc_options.tgt_to).catch(t=>{e.vU("Error fetching user account targeting"),e.vU(t)})}e.cM("Targeting disabled. Will not request account targeting data.")}initDebugPanel(t,s){e.cM("initDebugPanel"),e.cM("Not showing debug panel.")}},window.clcGamLoaderOptions&&(cam.init(),cam.load())})()})();</script> <footer id="footer" class="site-footer js-footer" role="contentinfo"> <div class="site-footer--container"> <nav class="site-footer--nav" aria-label="Footer"> <div class="site-footer--col"> <h5 class="-title"><a href="/">Geographic Information Systems</a></h5> <ul class="-list js-primary-footer-links"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 2 })" href="/tour">Tour</a></li> <li><a href="/help" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 3 })">Help</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 5 })" href="https://chat.stackexchange.com?tab=site&host=gis.stackexchange.com">Chat</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 13 })" href="/contact">Contact</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 14 })" href="https://gis.meta.stackexchange.com">Feedback</a></li> </ul> </div> <div class="site-footer--col"> <h5 class="-title"><a class="js-gps-track" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.co/">Company</a></h5> <ul class="-list"> <li><a href="https://stackoverflow.com" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 15})">Stack Overflow</a></li> <li><a href="https://stackoverflow.co/teams/" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 29 })">Teams</a></li> <li><a href="https://stackoverflow.co/advertising/" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 21 })">Advertising</a></li> <li><a href="https://stackoverflow.co/advertising/employer-branding/" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 20 })">Talent</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.co/">About</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 27 })" href="https://stackoverflow.co/company/press/">Press</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 7 })" href="https://stackoverflow.com/legal">Legal</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 8 })" href="https://stackoverflow.com/legal/privacy-policy">Privacy Policy</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 37 })" href="https://stackoverflow.com/legal/terms-of-service/public">Terms of Service</a></li> <li id="consent-footer-link"><button type="button" data-controller="cookie-settings" data-action="click->cookie-settings#toggle" class="s-btn s-btn__link py4 js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 38 })" data-consent-popup-loader="footer">Cookie Settings</button></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 39 })" href="https://stackoverflow.com/legal/cookie-policy">Cookie Policy</a></li> </ul> </div> <div class="site-footer--col site-footer--categories-nav"> <div> <h5 class="-title"><a href="https://stackexchange.com" data-gps-track="footer.click({ location: 2, link: 30 })">Stack Exchange Network</a></h5> <ul class="-list"> <li> <a href="https://stackexchange.com/sites#technology" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Technology </a> </li> <li> <a href="https://stackexchange.com/sites#culturerecreation" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Culture & recreation </a> </li> <li> <a href="https://stackexchange.com/sites#lifearts" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Life & arts </a> </li> <li> <a href="https://stackexchange.com/sites#science" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Science </a> </li> <li> <a href="https://stackexchange.com/sites#professional" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Professional </a> </li> <li> <a href="https://stackexchange.com/sites#business" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Business </a> </li> <li class="mt16 md:mt0"> <a href="https://api.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> API </a> </li> <li> <a href="https://data.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })"> Data </a> </li> </ul> </div> </div> </nav> <div class="site-footer--copyright fs-fine md:mt24"> <ul class="-list -social md:mb8"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link:4 })" href="https://stackoverflow.blog?blb=1">Blog</a></li> <li><a href="https://www.facebook.com/officialstackoverflow/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 31 })">Facebook</a></li> <li><a href="https://twitter.com/stackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 32 })">Twitter</a></li> <li><a href="https://linkedin.com/company/stack-overflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 33 })">LinkedIn</a></li> <li><a href="https://www.instagram.com/thestackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 36 })">Instagram</a></li> </ul> <p class="md:mb0"> <span>Site design / logo © 2024 Stack Exchange Inc; </span> <span>user contributions licensed under </span> <a class="-link s-link td-underline" href="https://stackoverflow.com/help/licensing">CC BY-SA</a> <span>. </span> <span id="svnrev">rev 2024.12.17.20590</span> </p> </div> </div> </footer> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-S812YQPLT2"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } </script> <script> StackExchange.ready(function() { var ga3Settings = { autoLink: ["stackoverflow.blog","info.stackoverflowsolutions.com","stackoverflowsolutions.com"], sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-5' ], checkDimension: 'dimension42' }; var customGA4Dimensions = {}; customGA4Dimensions["requestid"] = "4d426119-13d2-4a65-9708-bee63f90ceb6"; customGA4Dimensions["routename"] = "Questions/Show"; customGA4Dimensions["post_id"] = "488835"; customGA4Dimensions["tags"] = "|qgis|shapefile|buffer|donut-polygons|"; var ga4Settings = { tracker: gtag, trackingCodes: [ 'G-S812YQPLT2' ], consentsToPerformanceCookies: "denied", consentsToTargetingCookies: "denied", eventParameters: customGA4Dimensions, checkForAdBlock: true, sendTitles: true, trackClicks: false, }; StackExchange.ga.init({ GA3: ga3Settings, GA4: ga4Settings }); StackExchange.ga.setDimension('dimension2', '|qgis|shapefile|buffer|donut-polygons|'); StackExchange.ga.setDimension('dimension3', 'Questions/Show'); StackExchange.ga.setDimension('dimension7', "1734504798.1189437478"); StackExchange.ga.trackPageView(); }); </script> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" charset="UTF-8" data-document-language="true" data-domain-script="cb0f3c87-b769-4e66-bbaa-377f9194216d"></script> <script defer src="https://cdn.sstatic.net/Js/modules/cookie-consent.en.js?v=36bebc18e04f"></script> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8f3d3c2fb8985f93',t:'MTczNDUwNDc5OC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>