;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

IBGE: Cidade do ES teve o maior PIB per capita nacional em 2019; veja lista

Vista de praia em Presidente Kennedy (ES); alto PIB per capita da cidade é puxado pela extração de petróleo - Divulgação/Prefeitura de Presidente Kennedy
Vista de praia em Presidente Kennedy (ES); alto PIB per capita da cidade é puxado pela extração de petróleo Imagem: Divulgação/Prefeitura de Presidente Kennedy

Daniela Amorim

No Rio de Janeiro

17/12/2021 11h30Atualizada em 17/12/2021 19h10

Em 2019, o município de Presidente Kennedy, no estado do Espírito Santo, registrou o maior PIB (Produto Interno Bruto) per capita do país: R$ 464.883,49, puxado pela extração de petróleo.

No mesmo ano, o PIB per capita brasileiro foi de R$ 35.161,70. Os dados são da pesquisa Produto Interno Bruto dos Municípios 2019, divulgada hoje pelo IBGE (Instituto Brasileiro de Geografia e Estatística).

No segundo lugar do ranking de maior PIB per capita ficou Ilhabela, em São Paulo, com R$ 428.020,22, com destaque também para a atividade de extração de petróleo.

Em terceiro, Selvíria, em Mato Grosso do Sul, com R$ 353.522,30, devido à geração de energia elétrica.

Os demais destaques foram:

  • Paulínia (SP), com R$ 341.552,82;
  • Louveira (SP), com R$ 328.612,49;
  • São Gonçalo do Rio Abaixo (MG), com R$ 313.035,00;
  • Sales Oliveira (SP), R$ 308.567,36;
  • Canaã dos Carajás (PA), R$ 288.812,06;
  • Iracemápolis (SP), R$ 286.384,27;
  • e Triunfo (RS), R$ 283.449,62.

"A maioria desses municípios tem uma grande indústria que concentra grande valor, mas não necessariamente isso se distribui entre a população. É só uma média per capita", explicou Luiz Antonio de Sá, analista do IBGE. "Não ha distribuição de renda", completou.

Em 2019, os dez municípios com os maiores PIB per capita somavam 1,5% do PIB nacional e 0,2% da população brasileira.