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

Rio Jacaré Pepira vai virar patrimônio histórico e cultural em Brotas

Da nascente até o Rio Tietê, o Jacaré Pepira tem 174 quilômetros de extensão e é formado por nascentes, córregos e mais de 50 cachoeiras, mais de 20 delas localizadas em Brotas - Ken Chu/Expressão Studio
Da nascente até o Rio Tietê, o Jacaré Pepira tem 174 quilômetros de extensão e é formado por nascentes, córregos e mais de 50 cachoeiras, mais de 20 delas localizadas em Brotas
Imagem: Ken Chu/Expressão Studio

De Nossa

09/02/2021 14h14

O rio Jacaré Pepira vai se tornar patrimônio histórico e cultural na cidade de Brotas, no estado de São Paulo, onde é um dos protagonistas do turismo. A proposta é um reconhecimento em meio a sua história, que por pouco teve seu curso modificado para um cenário muito diferente do atual, responsável pela movimentação do setor de serviços e da economia local.

Na década de 1990, quando houve a intenção de instalar um curtume na cidade, a sociedade se mobilizou em peso para proteger este recurso.

Entres os rios mais limpos do estado, o Jacaré Pepira é também parte da memória afetiva da comunidade. Muito antes de iniciada a atividade turística na estância, ainda na década de 1960, começava a prática da descida nas corredeiras por boias. Logo a ideia virou febre e hoje, o boia cross é um dos principais atrativos, que em 2020 foi feito por 3 mil pessoas, número reduzido — em 2019, foram mais de 4,3 mil eios — devido a suspensão da atividade por conta da pandemia.

Da nascente até o Rio Tietê, o Jacaré Pepira tem 174 quilômetros de extensão. É formado por nascentes, córregos e mais de 50 cachoeiras, mais de 20 delas localizadas em Brotas. É também provedor de um cinturão de mata que serve de habitat para uma variedade de espécies da fauna brasileira.

Atividades

Rio Jacaré Pepira, em Brotas, atrai milhares de turistas para as atividades radicais - Divulgação - Divulgação
Rio Jacaré Pepira, em Brotas, atrai milhares de turistas para as atividades radicais
Imagem: Divulgação

Também está na proposta da Secretaria de Turismo de Brotas e do Poder Legislativo incluir na lista de patrimônio cultural e histórico da cidade o boia cross e o rafting. Estas atividades no turismo de aventura do município em 2020 totalizaram cerca de 50 mil vouchers emitidos pelo setor.