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

Pegadinha do radar: agente de trânsito viraliza, mas não multa ninguém

Fernando Pedroso

Colaboração para o UOL

14/06/2023 04h00

Um vídeo que viralizou nas redes sociais mostra uma mulher apontando o que parece ser um radar para um carro que ava e, logo em seguida, fazendo uma anotação em uma prancheta. Um homem se aproxima da cena e, em tom de ameaça, acusa a funcionária da prefeitura de estar escondida multando os motoristas.

"Aí, gurizada, essa é a EPTC de Porto Alegre. Escondidinha, né?", disse o homem, que não é identificado na filmagem. Sobre as imagens ainda foram colocadas as frases "Radar inlegal (sic)" e "Nos paga impostos corretamente e ainda temos que a por uma dessa (sic)".

O UOL Carros procurou entender a situação e descobriu que não se tratava de um radar, muito menos de algo ilegal.

O que aconteceu

Em um vídeo publicado nas redes sociais da prefeitura, a mesma funcionária mostra como é o dia a dia do trabalho dela.

Ela conta que faz pesquisas de velocidades em pontos estratégicos para ver se o local precisa ou não de intervenções da prefeitura.

Procurada, a Prefeitura de Porto Alegre afirmou que não há nada de ilegal e afirma que técnicos atuam em vários locais da capital gaúcha em atividades que envolvem contagens de fluxo, pesquisas de opinião, de percurso, velocidade e capacidade dinâmica, entre outras.

A pesquisa de velocidade pontual entra em ação, segundo a prefeitura, para indicar se o reforço na sinalização é suficiente ou se é necessária a implantação de redutores de velocidade, que podem ser do tipo físico, como lombadas, ou eletrônicos, como radares.

O uso de radares para fins de fiscalização só é permitido em vias urbanas com velocidade igual ou maior a 60 km/h.

A EPTC realiza a coleta de dados da circulação de veículos na av. Cruzeiro para estudos de melhoria da segurança viária na região qualificada com as obras de duplicação da avenida Tronco. A presença dos técnicos da EPTC nestes locais não possui caráter fiscalizatório" Prefeitura de Porto Alegre, em nota

Encontre aqui recursos importantes para quem busca informações sobre as leis de trânsito no Brasil, multas e infrações, bem como dicas para uma direção segura e consciente. Com conteúdos que abrangem desde as atualizações na legislação até as principais dúvidas dos motoristas, essa fonte é essencial para quem deseja se manter informado sobre as regras do trânsito e evitar problemas com a fiscalização.