;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Levantamento aponta recorde de conflitos no campo no Brasil em 2020

shellhawker/Getty Images/iStockphoto
Imagem: shellhawker/Getty Images/iStockphoto

Carlos Madeiro

Colaboração para o UOL, em Maceió

31/05/2021 10h00

O número de conflitos no campo bateu recorde no Brasil em 2020, segundo o levantamento anual feito pela T (Comissão Pastoral da Terra), ligada à Igreja Católica, divulgado hoje. Ao todo, foram registradas 2.054 ocorrências envolvendo quase 1 milhão de pessoas.

Esses conflitos resultaram também em 18 assassinatos —dos quais, sete das vítimas eram indígenas. Foi o menor número de homicídios da década, 78% menor do que os 32 óbitos de 2019.

Segundo a T, o número de conflitos no campo é o maior já registrado desde 1985, quando o levantamento começou a ser feito pela entidade. Em comparação a 2019, quando foram 1.903 casos, houve uma alta de 8%. Se a comparação for com os dados de 2018, a alta é de 32%.

Das ocorrências do ano ado, a maioria (1.576) envolveu disputa por terra, com 171 mil famílias em litígios pelo país, em especial na região Norte.

Foi também o maior número da série histórica, 25% superior ao ano de 2019. Em 35 anos de levantamentos, já foram mapeadas 21.801 ocorrências de conflito por terra.

O número de conflitos por terra, diz comunicado da T, apresenta tendência de alta desde 2016, mas disparou mesmo no governo Jair Bolsonaro.

"O relatório relativo aos dados de 2019 apresentava um aumento de 26% comparado com os dados de 2018. Em 2020, o aumento foi de 25%. Tal quadro de agravamento dos conflitos fica mais evidente quando comparadas as porcentagens dos conflitos: se entre 1985 e 2009 a média anual das ocorrências era quase sempre abaixo de 3%, em 2020 chegou a 7,23%", diz.

Água no centro da disputa

O relatório da T também aponta para a redução de 30% no número de ocorrências relacionadas aos conflitos por água. A queda, porém, tem relação direta com o derramamento de óleo no litoral e o rompimento da barragem em Brumadinho (MG), que fizeram os dados crescerem fora da curva em 2019.

Segundo a T, não houve motivo para comemorar: em 2020, foram quatro assassinatos por esse tipo de litígio, o maior número já registrado pela T desde que ou a fazer a contabilidade separada desse tipo de conflito, em 2002.

"Os quatro assassinatos ocorreram no que ficou conhecido como massacre do rio Abacaxis. Em agosto de 2020, Josimar Moraes Lopes, indígena munduruku, e três ribeirinhos foram assassinados na região do rio Abacaxis. Consta ainda o assassinato de dois policiais militares e possivelmente de um traficante", lembra o documento da T.

Outros casos

Quando destrinchados, os dados dos conflitos no campo mostram que, no caso das famílias cujos territórios foram invadidos, houve um aumento de 103% em relação a 2019: 81.225 famílias tiveram suas terras e territórios invadidos em 2020.

Em 2020, também foram registradas 96 ocorrências de conflitos trabalhistas, número 7% maior do que no ano anterior.

Outro ponto alertado pela T é que, nos últimos dez anos, foram registradas 77 tentativas e 37 assassinatos de mulheres em conflitos fundiários e socioambientais. "Eram trabalhadoras rurais sem-terra, quilombolas e das etnias originárias, em sua maioria", completa.