;(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

Esse conteúdo é antigo

No 1º dia de bloqueios, isolamento não sobe em SP; taxa fica em 48%

5.mai.2020 - Fiscais CET acompanham bloqueio na avenida Moreira Guimarães, na zona sul de São Paulo - Marcello Zambrana/AGIF/Estadão Conteúdo
5.mai.2020 - Fiscais CET acompanham bloqueio na avenida Moreira Guimarães, na zona sul de São Paulo Imagem: Marcello Zambrana/AGIF/Estadão Conteúdo

Bruno Ribeiro

06/05/2020 08h08

Os bloqueios viários determinados anteontem pela Companhia de Engenharia de Tráfego em São Paulo não fizeram com que os paulistanos permanecessem em casa. Dados do governo do Estado, divulgados na terça-feira, 5, apontaram que a taxa de isolamento social na capital ficou em 48%, mesmo índice observado na segunda, terça e quarta-feira da semana ada.

No estado, o índice de isolamento social na segunda-feira foi ainda menor, 47%. O Centro de Contingência do Coronavírus de São Paulo afirma que seria preciso um índice de ao menos 70% para evitar a superlotação das unidades de terapia intensiva (UTIs), que na Grande São Paulo já estão com a lotação próxima dos 90%.

"Não é possível trabalhar com este número", disse o infectologista David Uip, coordenador do centro. "Nós teremos sérios problemas no espaço de um mês", disse, ao citar que os índices só chegam à marca de 50% nos fins de semana. "Este índice é inaceitável. As pessoas continuam a não acreditar no vírus."

Os bloqueios foram pensados para propositalmente criar um desconforto ao motorista, que diante do trânsito pode optar por ficar em casa.

Na segunda, os bloqueios ainda tiveram uma faixa liberada. Ontem, foram totais, com liberação apenas para o transporte coletivo, para ambulâncias e veículos de profissionais da saúde.

"A Avenida Moreira Guimarães apresentou, durante a execução do bloqueio, 2,2 quilômetros de congestionamento; a Avenida Santos Dumont, 1 km; a Av. Radial Leste, 1,8 km; e a Av. Francisco Morato, 400 metros", de acordo com nota da CET. Nesta terça, a CET instalou mais três pontos de bloqueio, nas Avenidas Engenheiro Armando de Arruda Pereira, Santa Catarina e na Peri Ronchetti.

Balanço

Os dados divulgados pelo Estado ontem apontam um total de 34.053 infectados, mais 1.866 em 24 horas. Além disso, houve mais 197 mortes, e o total chega a 2.851 óbitos. As informações são do jornal O Estado de S. Paulo.