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

Na África do Sul, turistas fazem safári em "florestas" submersas no mar

As "kelp forests" são um cenário submarino surreal nos arredores da Cidade do Cabo - Divulgação/Cape Town Dive Centre
As "kelp forests" são um cenário submarino surreal nos arredores da Cidade do Cabo Imagem: Divulgação/Cape Town Dive Centre

Marcel Vincenti

Colaboração para o UOL

22/10/2019 04h00

Turistas realizam sessões de mergulho no mar para ver de perto corais coloridos, peixes exóticos, navios naufragados e, às vezes, até tubarões assustadores.

Mas você sabia que, em alguns países do mundo, é possível entrar no oceano para atravessar paisagens que parecem florestas submersas, em cenários que poderiam pertencer a um filme de ficção científica?

Mergulhador atravessa as paisagens das "kelp forests" na África do Sul - Divulgação/Cape Town Dive Centre - Divulgação/Cape Town Dive Centre
Mergulhador atravessa as paisagens das "kelp forests" na África do Sul
Imagem: Divulgação/Cape Town Dive Centre

Conhecidos internacionalmente como "kelp forests", estes locais são marcados por uma grande quantidade de algas com ramificações verticais, que se projetam para o fundo do mar e, em muitos casos, lembram troncos de árvores.

A África do Sul é dos melhores lugares do mundo para curtir este tipo de atividade.

Lá, em um ponto de mergulho conhecido como Pyramid Rock (relativamente perto da Cidade do Cabo), turistas submergem no oceano equipados com cilindros de ar comprimido e nadam por uma área que se assemelha a um bosque, só que a mais de 10 metros de profundidade.

Mergulhadores entram em contato com um fascinante ecossistema nas "kelp forests" - Divulgação/Cape Town Dive Centre - Divulgação/Cape Town Dive Centre
Mergulhadores entram em contato com um fascinante ecossistema nas "kelp forests"
Imagem: Divulgação/Cape Town Dive Centre

No trajeto, se deparam com animais como peixes coloridos, polvos, ouriços-do-mar e até focas (todos aparecendo, de maneira fotogênica, no meio da "floresta" e envolvendo o público em uma atmosfera de safári).

A Cape Town Dive Centre é uma das empresas que realizam este tipo de mergulho: muitas de suas excursões começam em Glencairn (um subúrbio da Cidade do Cabo) e levam os turistas, de barco, até a zona da Pyramid Rock, que fica em uma região marítima conhecida como False Bay.

Paisagem de uma "kelp forest" da África do Sul - Divulgação/Cape Town Dive Centre - Divulgação/Cape Town Dive Centre
Paisagem de uma "kelp forest" da África do Sul
Imagem: Divulgação/Cape Town Dive Centre

As sessões de mergulho duram, geralmente, entre 30 minutos e uma hora, dependendo das condições do oceano. E a visibilidade na água costuma ser muito boa, permitindo que as pessoas irem os detalhes do cenário surreal criado por todo o ecossistema das "kelp forests".

A companhia Into The Blue também realiza esta atividade nos arredores da Cidade do Cabo: um dos locais submarinos explorados por eles se chama Sandy Cove, com "florestas" submersas a apenas 6 metros de profundidade, ideal para mergulhadores iniciantes.

Estados Unidos e Nova Zelândia

A costa da Califórnia, nos Estados Unidos, também abriga "florestas" submersas que podem ser exploradas por turistas.

Este tipo de atrativo é encontrado, por exemplo, na região conhecida como Ventura County Coast, ao norte de Los Angeles.

As sessões de mergulho são realizadas em uma área de preservação ambiental chamada Channel Islands National Marine Sanctuary, que abriga uma altíssima densidade de algas com ramificações verticais.

Mergulhador explora "kelp forest" da região de Ventura County Coast, na Califórnia - Isaac Tozer/Ventura County Coast - Isaac Tozer/Ventura County Coast
Mergulhador explora "kelp forest" na costa da Califórnia, nos Estados Unidos
Imagem: Isaac Tozer/Ventura County Coast

E, do outro lado do mundo, a Nova Zelândia possui, na região das Poor Knights Islands, o que os nativos chamam de "kelp gardens", que são espécies de jardins de algas no fundo do oceano, em um lindo cenário para um mergulho.

A Dive! Tutukaka é uma das empresas que organizam a atividade no país da Oceania.