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

Saiba como devem ser os preparativos e o que é necessário para fazer trilhas

MARISTELA DO VALLE<br><br>Colaboração para o UOL Viagem

08/07/2009 07h00

  • Divulgação

    Além das trilhas, o turista que for à Chapada Diamantina (BA) também pode conhecer grutas, cachoeiras, montanhas e chapadas dispersas em uma área de 38 mil quilômetros quadrados

Uma das atividades mais comuns nas viagens ecológicas é a caminhada por trilhas abertas em meio à natureza. Existem vários níveis de dificuldade desses caminhos, determinados, por exemplo, de acordo com o tamanho (e consequente tempo de percurso) e o relevo. Informe-se com antecedência se você realmente tem condições de encarar o desafio. O mesmo vale para os seus companheiros de jornada. Crianças com menos de sete anos, por exemplo, dificilmente têm resistência para desafios mais longos e acabam se tornando um estorvo para as suas costas.

Também é importante tomar algumas providências antes colocar o pé na estrada. Mesmo que não prentenda percorrer trechos muito longos, faça um bom alongamento e avise alguém que não vai acompanhá-lo das suas intenções. Se demorar mais do que o previsto para voltar, certamente essa pessoa tomará as devidas providências. Caso pretenda desbravar uma trilha longa, faça isso sempre com um guia especializado que conheça muito bem a região. Por fim, vista-se com roupas adequadas e leve uma mochila prática de carregar nas costas para manter as mãos livres. E abasteça-a com os seguintes itens:

ITENS ESSENCIAIS NA BAGAGEM

Boné ou chapéu para se proteger do sol
Protetor solar, principalmente nas regiões mais altas, onde é mais fácil se queimar
Protetor labial, especialmente em locais de vento gelado, como é comum nas altas altitudes
Camisetas de algodão, que absorvem o suor e têm secagem rápida em caso de chuva (o corpo molhado por muito tempo pode causar dores ou hipotermia)
Camisetas de manga longa e calças compridas para evitar picadas de insetos (mais comuns em áreas que têm o nível do mar), arranhões, alergias provocadas por plantas (especialmente em trilhas fechadas) e machucados resultantes do contato com rochas ásperas
Uma muda de roupa extra e toalha se quiser entrar na cachoeira ou para ser trocada caso surja uma chuva inesperada
Tênis antiderrapantes ou botas de cano alto (que evitam torcer o tornozelo), que devem ser bem amaciadas antes do trekking (os calçados novos muitas vezes podem provocar bolhas nos pés)
Agasalho do tipo anorak, que corta o vento e protege da chuva
Lanterna, pois a noite pode pegá-lo desprevinido, e pilhas extras, principalmente se estiver muito frio, condição em que o consumo de baterias é muito mais rápido
Estojo de primeiros-socorros com água oxigenada, faixa, repelente, pomada para picadas de insetos, antialérgico, atadura, gaze, esparadrapo, Band-Aid e analgésicos
Cantil ou squeeze com bastante água para se manter hidratado
Canivete tipo suíço para casos de emergência
Bússola ou GPS
Celular com uma bateria extra para avisar as pessoas que estão na civilização se precisar de um atendimento emergencial ou se você se perder
Comidas energéticas como barras de cereais, chocolates e frutas para não correr risco de ar fome (o que certamente vai prejudicar a sua performance)