Contribuições para o seminário de 23/09/2013

Script para GMT magnitude/profundidade -> Cor/Tamanho

Este script demonstra como utilizar o comando psxy junto com o AWK para graficar símbolos com cores e tamanhos definidos pelas colunas 3 e 4 de um arquivo de entrada.

Neste caso o arquivo são apenas 3 linhas onde nas colunas 1 e 2 estão as longitudes e latitudes. Na coluna 3 e 4 a profundidade e a magnitude.

Aqui os símbolos são plotados utilizando uma relação linear com a magnitude e o tamanho do símbolo, e na coluna ao lado, uma relação logarítmica entre a magnitude e o tamanho dos símbolos.

#!/bin/bash ## Obtem uma tabela de cores para as profundidades ## Voce pode usar qualquer tabela de cores para isso makecpt -T0/800/150 -Cseis > color.cpt ## Colunas sao: Longitude Latitude Profundidade de Magnitude ## O comando AWK aplica uma formula para calcular o tamanho do ## simbolo em referencia a magnitude ## ## A cor do simbolo vai ser dada pela tabela de cores color.cpt ## preparada anteriormente, ## Usando uma escala magnitude x tamanho linear: cat << EOF |\ awk '{print $1, $2, $3, $4*0.2}' |\ psxy -R-5/5/-5/5 -JX14/14 -Sc -Ccolor.cpt -Xc -Yc -K > la.ps 0 0 0 1.2 0 1 150 4.5 0 2 400 6.5 EOF ## Usando uma escala magnitude x tamanho log: # Aqui neste caso é importante corrigir para que todas as bolinhas # tenham um tamanho positivo. Lembre-se que o log é negativo sempre # que o valor for menor que 1.0 por isso calculamos sempre: # log(1+magnitude)*scale # cat << EOF |\ awk '{print $1, $2, $3, 0.5*(log(1.0+$4))}' |\ psxy -R-5/5/-5/5 -JX14/14 -Sc -Ccolor.cpt -O >> la.ps 1 0 0 1.2 1 1 150 4.5 1 2 400 6.5 EOF # Apaga a tabela de cores rm color.cpt # Preview gv la.ps