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

Hidrografia - As principais bacias hidrográficas do Brasil

A Amazônia tem 4.196.943 milhões de quilômetros quadrados e é a maior bacia hidrográfica do mundo, que cobre 6 milhões de quilômetros quadrados com seus 1.100 afluentes - Miguel von Behr/Arpa
A Amazônia tem 4.196.943 milhões de quilômetros quadrados e é a maior bacia hidrográfica do mundo, que cobre 6 milhões de quilômetros quadrados com seus 1.100 afluentes Imagem: Miguel von Behr/Arpa

Claudio Mendonça

(Atualizado em 20/06/2014 às 16h42)

Num mundo em que a escassez de água será problema cada vez mais grave, o Brasil é um país privilegiado, por concentrar cerca de 12% das águas do planeta. Apesar disso, o Brasil acumula vários problemas pelo mal aproveitamento e pela execução de grandes usinas hidrelétricas, pela ocupação dos mananciais e pela poluição. Os rios de grandes cidades e os que atravessam importantes áreas agrícolas recebem os dejetos orgânicos e químicos (agrotóxicos) sem tratamento prévio. Poluição e morte têm sido o destino de importantes rios e poucas ações foram colocadas em prática para reverter este processo.

O Brasil possui, também, um dos mais elevados potenciais (capacidade) de geração de energia elétrica a partir da água. No entanto, metade deste potencial está situada na Amazônia distante dos grandes centros de consumo. As águas estão distribuídas irregularmente no território brasileiro e, próximo aos grandes centros econômicos e aglomerados populacionais, esse potencial está aproveitado praticamente em seu limite. Observe o quadro:

REGIÕESDISPONIBILIDADE DE RECURSOS HÍDRICOS (%)POPULAÇÃO (%)
Norte70%7,6%
Centro-Oeste15%6,8%
Sudeste6%42,7%
Sul6%14,8%
Nordeste3%28,1%
  • Fonte: IBGE (censo 2000) ANA (Agência Nacional das Águas - 2004)

Quatro bacias hidrográficas principais cobrem mais de 80% da superfície do território brasileiro: Amazônica, Tocantins, Platina (Paraná, Paraguai e Uruguai) e São Francisco.

Clique no mapa abaixo para ter mais informações sobre cada uma dessas bacias

bacia amazonica bacia do Tocantins bacia do são francisco Bacia Platina