<?xml version='1.0' encoding='utf-8'?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns0="http://www.w3.org/2005/Atom" xmlns:ns1="http://purl.org/rss/1.0/modules/syndication/" xmlns:ns2="com-wordpress:feed-additions:1" xmlns:ns4="http://purl.org/rss/1.0/modules/content/" version="2.0">

<channel>
	<title>cities Archives - geojournalism.org</title>
	<ns0:link href="https://geojournalism.org/pt/tag/cities/feed/" rel="self" type="application/rss+xml" />
	<link />
	<description>As melhores ferramentas para reportagem multimídia</description>
	<lastBuildDate>Fri, 31 Oct 2014 18:40:17 +0000</lastBuildDate>
	<language>pt-BR</language>
	<ns1:updatePeriod>
	hourly	</ns1:updatePeriod>
	<ns1:updateFrequency>
	1	</ns1:updateFrequency>
	

<image>
	<url>https://s0.wp.com/i/webclip.png</url>
	<title>cities Archives - geojournalism.org</title>
	<link />
	<width>32</width>
	<height>32</height>
</image> 
<ns2:site>239681374</ns2:site>	<item>
		<title>Visualizando dados com Processing</title>
		<link>https://geojournalism.org/pt/2013/08/portugues-as-cidades-mais-populosas-do-mundo/</link>
		
		<dc:creator>Gabriel Gianordoli</dc:creator>
		<pubDate>Tue, 27 Aug 2013 21:33:46 +0000</pubDate>
				<category>Design</category>
		<category>Visualization</category>
		<category>charts</category>
		<category>cities</category>
		<category>graphs</category>
		<guid isPermaLink="false">https://geojournalism.oeco.org.br/?p=351</guid>

					<description>&lt;p&gt;Nesse tutorial, vamos ver como carregar dados de um arquivo externo e criar um gr&amp;#225;fico de popula&amp;#231;&amp;#227;o x &amp;#225;rea para as 10 cidades mais populosas do mundo. Introdu&amp;#231;&amp;#227;o Originalmente criada como uma ferramenta pra ensinar programa&amp;#231;&amp;#227;o a artistas visuais, a linguagem&amp;#160;Processing&amp;#160;hoje tem aplica&amp;#231;&amp;#227;o em &amp;#225;reas bem diversas, entre elas a visualiza&amp;#231;&amp;#227;o de dados. Sua sintaxe [&amp;#8230;]&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://geojournalism.org/pt/2013/08/portugues-as-cidades-mais-populosas-do-mundo/"&gt;Visualizando dados com Processing&lt;/a&gt; appeared first on &lt;a href="https://geojournalism.org/pt"&gt;geojournalism.org&lt;/a&gt;.&lt;/p&gt;
</description>
										<ns4:encoded>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Nesse tutorial, vamos ver como carregar dados de um arquivo externo e criar um gráfico de população x área para as 10 cidades mais populosas do mundo.&lt;span id="more-351"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class="summary-item" id="introducao"&gt;&lt;a href="#introducao"&gt;Introdução&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Originalmente criada como uma ferramenta pra ensinar programação a artistas visuais, a linguagem &lt;a href="https://processing.org/" target="_blank"&gt;Processing&lt;/a&gt; hoje tem aplicação em áreas bem diversas, entre elas a visualização de dados. Sua sintaxe simplificada é uma boa alternativa para iniciantes no mundo do código, e sua plataforma de desenvolvimento pode ser &lt;a href="https://processing.org/download/" target="_blank"&gt;baixada gratuitamente&lt;/a&gt; no site.&lt;/p&gt;
&lt;p&gt;Nesse tutorial, vamos ver como carregar dados de um arquivo externo e criar um gráfico de população x área para as 10 cidades mais populosas do mundo.&lt;/p&gt;
&lt;h2 class="summary-item" id="o-ambiente-processing"&gt;&lt;a href="#o-ambiente-processing"&gt;O ambiente Processing&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ao abrir o programa, você vai encontrar algo como um editor de texto. É lá que vamos digitar os comandos para fazer a visualização — não, não existe uma “barra de ferramentas” aqui, já que o objetivo original do Processing é ensinar fundamentos de programação.&lt;/p&gt;
&lt;p&gt;Pra executar o script que vamos escrever, é só apertar o botão de play no topo esquerdo da janela. Uma nova janela vai se abrir, por enquanto vazia, já que não criamos nenhum comando ainda. Feche ela (ou pressione o botão stop) e salve seu arquivo — por default o nome dele é a data de criação, mas você pode escolher qualquer outro nome— antes de começarmos a programar.&lt;/p&gt;
&lt;div&gt;&lt;img alt="Processing" class="aligncenter wp-image-352" decoding="async" fetchpriority="high" height="551" sizes="(max-width: 717px) 100vw, 717px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing01-1024x787.jpeg" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing01-1024x787.jpeg 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing01-300x230.jpeg 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing01.jpeg 1326w" width="717"/&gt;&lt;/div&gt;
&lt;h2 class="summary-item" id="comandos-basicos"&gt;&lt;a href="#comandos-basicos"&gt;Comandos básicos&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Para começar a entender como funciona a sintaxe do Processing, digite o código abaixo e execute o programa:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;size(1200, 200);&lt;br/&gt; ellipse(600, 100, 100, 100);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Você vai ver uma janela como essa:&lt;/p&gt;
&lt;div&gt;&lt;img alt="Processing" class="aligncenter wp-image-353" decoding="async" height="226" sizes="(max-width: 614px) 100vw, 614px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing02-1024x376.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing02-1024x376.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing02-300x110.png 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing02.png 1828w" width="614"/&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;O que isso significa?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Esses comandos são chamados de &lt;i&gt;funções&lt;/i&gt;. Usamos duas delas: &lt;i&gt;size&lt;/i&gt; e &lt;i&gt;ellipse.&lt;/i&gt; A primeira define o tamanho (em pixels) do documento em que vamos trabalhar. A segunda desenha uma elipse. Ao lado de cada uma delas, dentro dos parênteses, temos os &lt;i&gt;parâmetros&lt;/i&gt;: informações de que o programa precisa pra saber como vai executar cada uma das funções. No nosso caso:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;size(largura do documento, altura do documento);&lt;br/&gt; ellipse(coordenada horizontal da elipse, coordenada vertical da elipse, largura da elipse, altura da elipse);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ou seja, dá pra traduzir a segunda linha como “desenhe uma elipse a 400 pixels da margem esquerda e 100 pixels do topo, com 100 pixels de altura e 100 pixels de largura”. Experimente mudar esses números para entender melhor como eles funcionam.&lt;/p&gt;
&lt;p&gt;Por fim, alguns detalhes aos quais temos que ficar atentos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;os parâmetros têm que ser sempre separados por vírgula (os espaços em branco não fazem diferença);&lt;/li&gt;
&lt;li&gt;sempre precisamos de um &lt;b&gt;;&lt;/b&gt; ao fim de cada comando.&lt;/li&gt;
&lt;li&gt;não importa se você der espaço ou parágrafo entre esses símbolos, mas eles têm que estar lá!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se você estiver curioso para experimentar outras formas antes de seguir adiante, dê uma olhada nos comandos abaixo:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;line()&lt;br/&gt; point()&lt;br/&gt; rect()&lt;br/&gt; triangle()&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Você vai encontrar instruções para cada um deles na &lt;a href="https://processing.org/reference/" target="_blank"&gt;página de referência&lt;/a&gt; do Processing.&lt;/p&gt;
&lt;h2 class="summary-item" id="visualizando-precisao-vs-sintese"&gt;&lt;a href="#visualizando-precisao-vs-sintese"&gt;Visualizando: precisão vs síntese&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Para enxergar a densidade demográfica de cada cidade aqui, vamos usar uma técnica bem direta: representar o número total de habitantes como pontos dentro da área da cidade. Esse recurso acaba tendo uma leitura menos precisa que um gráfico de barras, por exemplo — você não consegue dizer a área ou a população das cidades apenas olhando as figuras abaixo:&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img alt="Processing" class="aligncenter wp-image-354" decoding="async" height="216" sizes="(max-width: 318px) 100vw, 318px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing03.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing03.png 398w, https://geojournalism.org/wp-content/uploads/2013/08/processing03-300x203.png 300w" width="318"/&gt;&lt;/p&gt;
&lt;p&gt;Nossa intenção, porém, é simplesmente apresentar uma comparação visual direta e intuitiva do tema: mais pontos, mais gente; quadrado maior, maior área. Ao escolher uma forma ou outra de visualização, pense sempre no balanço entre essas duas variáveis e analise como elas podem funcionar melhor de acordo com o objetivo do seu gráfico.&lt;/p&gt;
&lt;h2 class="summary-item" id="formatando-os-dados"&gt;&lt;a href="#formatando-os-dados"&gt;Formatando os dados&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vamos utilizar os dados de 2013 do &lt;a href="https://www.demographia.com/db-worldua.pdf" target="_blank"&gt;Demographia World Urban Areas&lt;/a&gt; para desenhar um gráfico com o ranking das 10 cidades mais populosas do mundo (tabela 1).&lt;/p&gt;
&lt;p&gt;Um formato de dados bem simples e prático que pode ser lido no Processing é o &lt;a href="https://en.wikipedia.org/wiki/Tab-separated_values" target="_blank"&gt;tsv&lt;/a&gt; (tab-separated values). Basicamente, é um formato de texto que funciona como uma tabela, com os valores separados por &lt;i&gt;tabs&lt;/i&gt; ao invés de células.&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img alt="Processing" class="aligncenter wp-image-355" decoding="async" height="194" loading="lazy" sizes="auto, (max-width: 717px) 100vw, 717px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing04-1024x277.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing04-1024x277.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing04-300x81.png 300w" width="717"/&gt;&lt;/p&gt;
&lt;p&gt;Transportar dados de um pdf para uma tabela nem sempre é uma tarefa fácil, uma vez que as quebras dificilmente seguem o formato de células de que precisamos.&lt;/p&gt;
&lt;p&gt;Na imagem acima, só vamos precisar das colunas &lt;i&gt;Urban Area&lt;/i&gt;, &lt;i&gt;Population Estimate&lt;/i&gt; e &lt;i&gt;Land Area km2&lt;/i&gt;. Você pode baixar o arquivo já formatado &lt;a href="https://#"&gt;aqui&lt;/a&gt; ou tentar criar o seu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;no Windows: use o &lt;i&gt;Bloco de Notas&lt;/i&gt; e salve o arquivo como “cidades.tsv”&lt;/li&gt;
&lt;li&gt;no Mac: use o &lt;i&gt;Text Edit&lt;/i&gt;. Pressione &lt;i&gt;command + shift + T&lt;/i&gt; para transformar o arquivo em texto não formatado. E, quando salvar, selecione &lt;i&gt;Unicode (UTF-8)&lt;/i&gt; na opção &lt;i&gt;encoding&lt;/i&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class="summary-item" id="carregando-os-dados"&gt;&lt;a href="#carregando-os-dados"&gt;Carregando os dados&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Arraste o arquivo para a janela do Processing e você verá a mensagem &lt;i&gt;One file added to the sketch&lt;/i&gt;. Isso apenas criou uma cópia de cidades.tsv na pasta que o Processing criou para seu arquivo. Para você ler ele dentro do script, adicione o código abaixo e execute:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;size(1200, 200);&lt;br/&gt; Table tabela = loadTable("cidades.tsv", "header");&lt;br/&gt; for(int i = 0;&lt;br/&gt; i &amp;lt; tabela.getRowCount();&lt;br/&gt; i = i + 1){&lt;br/&gt; TableRow linha = tabela.getRow(i);&lt;br/&gt; rect(120*i, 50,&lt;br/&gt; linha.getInt("área"), linha.getInt("área"));&lt;br/&gt; }&lt;/code&gt;&lt;/p&gt;
&lt;h2 class="summary-item" id="visualizando-a-area"&gt;&lt;a href="#visualizando-a-area"&gt;Visualizando a área&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ok, o que esse código está fazendo? Vamos entender linha a linha:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// Definindo o tamanho do documento&lt;br/&gt; size(1200, 200);&lt;br/&gt; // Carregando o arquivo dentro de uma tabela. "header" significa que a primeira linha do arquivo deve ser entendida como um cabeçalho.&lt;br/&gt; Table tabela = loadTable("cidades.tsv", "header");&lt;br/&gt; // Criando uma ação que vai ser repetida várias vezes,...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;for(int i = 0;                    // …a partir de um contador que começa em zero,…&lt;/p&gt;
&lt;p&gt;i &amp;lt; tabela.getRowCount();     // …termina no tamanho da tabela…&lt;br/&gt; i = i + 1){                   // …e cresce de um em um.&lt;br/&gt; // Em resumo, é como se o programa começasse a contar “0, 1, 2, 3…” até “10”, que é o número de linhas da nossa tabela. Para cada vez que ele conta, executa a ação abaixo:&lt;/p&gt;
&lt;p&gt;// Seleciona a linha correspondente à contagem (i)&lt;br/&gt; TableRow linha = tabela.getRow(i);&lt;br/&gt; // Desenha um retângulo na posição y 50 e x segundo a fórmula “120 vezes contagem”.&lt;/p&gt;
&lt;p&gt;// Quer dizer que, na sequência, a coordenada x vai ser: 0 , 120, 240, 360… até 1080.&lt;br/&gt; // Como nossa contagem de 10 elementos começa em 0, ela vai até 9!&lt;br/&gt; rect(120*i, 50,&lt;br/&gt; Define como largura e altura de cada retângulo&lt;/p&gt;
&lt;p&gt;o valor que for lido na coluna “área”&lt;br/&gt; linha.getInt(“área”), linha.getInt(“área”));&lt;br/&gt; }&lt;/p&gt;
&lt;p&gt;Na imagem resultante, não vemos os retângulos inteiros, porque os valores de área que temos para cada cidade são muito grandes:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Processing" class="aligncenter wp-image-356" decoding="async" height="157" loading="lazy" sizes="auto, (max-width: 614px) 100vw, 614px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing05-1024x261.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing05-1024x261.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing05-300x76.png 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing05-1160x296.png 1160w" width="614"/&gt;&lt;/p&gt;
&lt;p&gt;Uma boa solução pra resolver isso é trocar o comando do retângulo para:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rect(120*i, 50,&lt;br/&gt; sqrt(linha.getInt("área")), sqrt(linha.getInt("área")));&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;A função &lt;i&gt;sqrt&lt;/i&gt; calcula a raiz quadrada de um valor. Pra nós, é um jeito rápido e útil de diminuir os tamanhos:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Processing" class="aligncenter wp-image-357" decoding="async" height="157" loading="lazy" sizes="auto, (max-width: 614px) 100vw, 614px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing06-1024x261.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing06-1024x261.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing06-300x76.png 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing06-1160x296.png 1160w" width="614"/&gt;&lt;/p&gt;
&lt;p&gt;Além disso, essa correção faz com que as &lt;i&gt;áreas &lt;/i&gt;dos retângulos, não sua &lt;i&gt;altura&lt;/i&gt; e &lt;i&gt;largura&lt;/i&gt;, sejam proporcionais aos valores que estamos representando. Isso é indispensável para evitarmos distorções sempre que usarmos uma figura como um círculo ou um retângulo. Se só tivéssemos divido o valor da área por 100, por exemplo, teríamos uma imagem desproporcional:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rect(120*i, 50,&lt;br/&gt; linha.getInt("área")/100, linha.getInt("área")/100);&lt;/code&gt;&lt;img alt="Processing" class="aligncenter wp-image-358" decoding="async" height="157" loading="lazy" sizes="auto, (max-width: 614px) 100vw, 614px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing07-1024x261.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing07-1024x261.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing07-300x76.png 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing07-1160x296.png 1160w" width="614"/&gt;&lt;/p&gt;
&lt;p&gt;A imagem acima faz as cidades parecerem muito mais diferentes em área do que realmente são, uma distorção causada pela confusão entre &lt;i&gt;dimensão linear&lt;/i&gt; (altura e largura) e &lt;i&gt;dimensão quadrada&lt;/i&gt; (área).&lt;/p&gt;
&lt;h2 class="summary-item" id="simplicando-o-codigo"&gt;&lt;a href="#simplicando-o-codigo"&gt;Simplicando o código&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Antes de partir para o segundo dado da nossa visualização, a população de cada cidade, vamos tentar simplificar algumas coisas para deixar nosso algoritmo mais inteligível:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;size(1200, 200);&lt;br/&gt; Table tabela = loadTable("cidades.tsv", "header");&lt;br/&gt; for(int i = 0;&lt;br/&gt; i &amp;lt; tabela.getRowCount();&lt;br/&gt; i = i + 1){&lt;br/&gt; TableRow linha = tabela.getRow(i);&lt;br/&gt; int posX = 120*i;&lt;br/&gt; int posY = 50;&lt;br/&gt; float lado = sqrt(linha.getInt("área"));&lt;br/&gt; rect(posX, posY, lado, lado);&lt;br/&gt; }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Se você executar o código acima, vai ver que o resultado visual não se altera em nada. O que fizemos foi apenas escrever de uma forma diferente os mesmos comandos: ao invés de calcular tudo dentro da função &lt;i&gt;rect()&lt;/i&gt;, definimos 3 &lt;i&gt;variáveis&lt;/i&gt; com os valores e depois usamos elas no desenho do retângulo:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;int      // Especifica a criação de uma variável de valor inteiro&lt;br/&gt; posX     // Nome da variável, inventado, a fim de que eu lembre ao que ela se refere&lt;br/&gt; = 120*i; // atribui o valor "120 vezes i" à minha variável&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;No caso do lado do retângulo, &lt;i&gt;float&lt;/i&gt; quer dizer que essa variável pode armazenar um número fracionário, já que não sabemos se o resultado da fórmula “raiz da área” vai ser um número inteiro.&lt;/p&gt;
&lt;h2 class="summary-item" id="visualizando-a-populacao"&gt;&lt;a href="#visualizando-a-populacao"&gt;Visualizando a população&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Como falamos anteriormente, a ideia aqui vai ser representar o número total de habitantes de cada cidade como pontos dentro das áreas que já desenhamos. Abaixo da linha com o comando &lt;i&gt;rect()&lt;/i&gt;, adicione o seguinte código:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;for(int j = 0;&lt;br/&gt; j &amp;lt; linha.getInt("população");&lt;br/&gt; j = j + 1){&lt;br/&gt; point(posX,posY);&lt;br/&gt; }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Fique atento pra escrever esse comando antes da última chave &lt;i&gt;}&lt;/i&gt; que você já tinha no documento. Estando dentro dessa chave, o Processing vai entender que esse comando deve ser repetido a cada vez que ele estiver lendo uma linha da tabela — é o que queremos, já que vamos desenhar a população para cada cidade. A estrutura aqui é parecida com a anterior:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// A partir de um contador "j"...&lt;br/&gt; for(int j = 0;                     //...que começa em zero...&lt;br/&gt; j &amp;lt; linha.getInt("população");  //..vai até o número lido&lt;br/&gt; //   na coluna "população", de cada linha...&lt;br/&gt; j = j + 1){                    //...e cresce de um em um...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;//…desenhe um ponto.&lt;br/&gt; point(posX,posY);&lt;br/&gt; }&lt;/p&gt;
&lt;p&gt;Se você tentar executar esse código, é provável que seu computador demore bastante — se não travar. Isso porque o número de repetições que estamos usando é muito grande: 37.239.000 pontos só para a cidade de Tóquio! Para resolver isso, troque a segunda linha desse trecho para:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;j &amp;lt; linha.getInt("população")/5000;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Com isso, vamos desenhar 1 ponto para cada 5000 habitantes (não mais 1 para 1).&lt;/p&gt;
&lt;p&gt;Ainda falta corrigir um detalhe: se você estudar com atenção o comando &lt;i&gt;point()&lt;/i&gt;, vai perceber que todos os pontos de cada cidade estão desenhados no mesmo local, uns sobre os outros: na coordenada x e y que corresponde ao canto superior esquerdo dos quadrados. Troque essa linha para:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;point( random(posX, posX + lado),&lt;br/&gt; random(posY, posY + lado));&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;O comando &lt;i&gt;random()&lt;/i&gt; resulta em um número aleatório, sorteado entre um valor mínimo e outro máximo. No nosso caso, o resultado é:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;point( número aleatório entre (a coordenada x do retângulo e a mesma coordenada + o lado,&lt;br/&gt; número aleatório entre (a coordenada y do retângulo e a mesma coordenada + o lado);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Execute o programa e teremos nosso resultado final:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Processing" class="aligncenter wp-image-359" decoding="async" height="157" loading="lazy" sizes="auto, (max-width: 614px) 100vw, 614px" src="https://geojournalism.org/wp-content/uploads/2013/08/processing08-1024x261.png" srcset="https://geojournalism.org/wp-content/uploads/2013/08/processing08-1024x261.png 1024w, https://geojournalism.org/wp-content/uploads/2013/08/processing08-300x76.png 300w, https://geojournalism.org/wp-content/uploads/2013/08/processing08-1160x296.png 1160w" width="614"/&gt;&lt;/p&gt;
&lt;p&gt;No fim, as comparações ficam evidentes: Tóquio e Nova York são as cidades com maior área, mas densidade demográfica é bem menor que a de cidades como Manila e Karachi.&lt;/p&gt;
&lt;p&gt;Se você quiser salvar o arquivo gerado como uma imagem para usar em outro programa, simplesmente acrescente uma última linha:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;save("cidades.jpg");&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Para salvar em outro formato, como &lt;i&gt;tif&lt;/i&gt; ou &lt;i&gt;png&lt;/i&gt;, simplesmente altere a extensão do arquivo no código acima.&lt;/p&gt;
&lt;h2 class="summary-item" id="conclusao"&gt;&lt;a href="#conclusao"&gt;Conclusão&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Programar pela primeira vez pode parecer uma tarefa pouco amigável. Porém, à medida que você vai entendendo a lógica por trás dos comandos, entender várias linguagens é apenas uma questão de aprender diferentes sintaxes, umas mais parecidas, outras menos. Algo como falar vários idiomas.&lt;/p&gt;
&lt;p&gt;Mesmo que o trabalho seja árduo no começo, você vai ver que as vantagens compensam: no caso do arquivo que usamos, por exemplo, basta alterar os dados do &lt;i&gt;.tsv&lt;/i&gt; para gerar uma versão diferente da visualização, sem ter que fazer ajustes manuais na imagem. Além disso, programar deve ser entendido mais como uma linguagem que uma ferramenta: ao invés de recursos pré-definidos, você pode contruir o gráfico que quiser e julgar mais adequado pros seus dados. As possibilidades são infinitas.&lt;/p&gt;
&lt;p&gt;Dê uma olhada no arquivo desse exemplo e tente alterar aos poucos os parâmetros para personalizá-lo: cor de fundo, tamanho, espaço entre as áreas etc. A partir disso, explore a página de referência do Processing e tente refazer esse exemplo usando outro tipo de visualização, como barras ou linhas.&lt;/p&gt;

		&lt;div class="author-shortcodes"&gt;
			&lt;div class="author-inner"&gt;
				&lt;div class="author-image"&gt;
			&lt;img alt="" src="https://si0.twimg.com/profile_images/1298845056/gabriel_2011.jpg"/&gt;
			&lt;div class="author-overlay"&gt;&lt;/div&gt;
		&lt;/div&gt; &lt;!-- .author-image --&gt; 
		&lt;div class="author-info"&gt;
			Sou um designer gráfico apaixonado por números. Atualmente, sou aluno do programa de Mestrado em Belas Artes – Design &amp;amp; Technology no Parsons The New School for Design. Meu trabalho mais recente foi como designer sênior no time de Inovação em Tecnologia e Experiência do Usuário do Itaú, o maior banco privado do Brasil. Durante os últimos seis anos, tenho trabalhado com informação e design gráfico, principalmente para revistas, e conquistei alguns prêmios. Participei como palestrantes de alguns eventos, como o Campus Party, o World Information Architecture Day e o Pixel Show, a maior conferência no Brasil sobre arte e criatividade. Também organizei workshops sobre visualização de dados utilizando a linguagem de programação Processing.
		&lt;/div&gt; &lt;!-- .author-info --&gt;
			&lt;/div&gt; &lt;!-- .author-inner --&gt;
		&lt;/div&gt;  .author-shortcodes 
&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"/&gt;
&lt;p&gt;The post &lt;a href="https://geojournalism.org/pt/2013/08/portugues-as-cidades-mais-populosas-do-mundo/"&gt;Visualizando dados com Processing&lt;/a&gt; appeared first on &lt;a href="https://geojournalism.org/pt"&gt;geojournalism.org&lt;/a&gt;.&lt;/p&gt;
</ns4:encoded>
					
		
		
		<ns2:post-id>351</ns2:post-id>	</item>
	</channel>
</rss>