Um dos trabalhos mais comuns no departamento de águas da CIVILE é a realização de simulações hidráulicas utilizando modelos matemáticos como o IBER ou o HEC-RAS. A principal informação de entrada para estes modelos são os hidrogramas de caudal: valores de caudal em função do tempo. E por vezes acontece que a única informação que podemos obter destes hidrogramas é uma imagem.

Então, o que é que fazemos agora? Como é que extraímos os valores numéricos deste gráfico?
Na publicação de hoje do blogue, vamos descobrir uma das ferramentas mais úteis e poderosas que encontrámos à procura da resposta a estas perguntas e vamos mostrar-te como utilizá-la. O seu nome é WebPlotDigitizer.
O que é o “WebPlotDigitizer”?
Em 2011, Ankit Rohatgi, o autor desta ferramenta, deparou-se com o mesmo problema. Enquanto estudava engenharia química na Universidade de Notre Dame de Chicago, apercebia-se frequentemente de que a informação de que necessitava só estava disponível em formato gráfico e que a tarefa de extrair os valores numéricos dessas representações era complicada e entediante e, por vezes, os resultados que obtinha eram demasiado imprecisos .
A sua solução foi criar o WebPlotDigitizer, uma ferramenta capaz de automatizar a extração de informação numérica de representações gráficas.
Como é que funciona?
A ferramenta está disponível como uma aplicação web e o seu funcionamento é muito simples. Para explicar o seu funcionamento, vamos utilizar a imagem acima para extrair uma das curvas.
Ao entrar na aplicação, somos recebidos pela página inicial, que já mostra uma imagem de exemplo carregada. No menu superior, carrega a imagem dos nossos hidrogramas.

Depois de seleccionarmos a nossa imagem, a primeira coisa que a ferramenta nos pergunta é otipo de gráfico que estamos a introduzir. No nosso caso, é um gráfico 2D de eixo X-Y.

Pede-nos então para identificar os eixos da imagem selecionando 4 pontos, dois pertencentes a cada um dos eixos.

Finalmente, uma vez selecionados os pontos do eixo, é-nos pedido que indiquemos os valores do eixo que correspondem a esses pontos. Neste caso, para os pontos X1 e X2 tomámos os valores de 40 e 160 e para os pontos Y1 e Y2 os valores de 5000 e 25000. Adicionalmente, selecionámos a opção de omitir a correção de rotação, uma vez que na nossa imagem os eixos estão perfeitamente orientados.

Após estes passos, a nossa imagem estaria corretamente carregada e calibrada, pronta para extrair os valores.
Neste exemplo, vamos extrair a informação do hidrograma da linha vermelha.

No lado direito da ferramenta temos as opções para extrair os valores, divididas em modo manual e modo automático. No modo automático, temos a opção de indicar a cor da linha que pretendemos obter em formato numérico, bem como o método de interpolação entre os pontos detectados e a distância entre os pontos que pretendemos.
Numa primeira tentativa, vamos selecionar a cor vermelha e deixar o resto das opções na sua forma predefinida. Com estas opções, carregamos no botão “Executar” e o resultado que a ferramenta nos dá é o seguinte:

Como podemos ver, a ponta do hidrograma está a ficar acima dos pontos criados pela ferramenta, o que pode ser resolvido diminuindo a distância entre os pontos. Passando de uma distância de 10 pixéis para uma distância de 5 pixéis, podemos melhorar consideravelmente a precisão.

O passo seguinte seria adicionar manualmente os pontos de início e fim do hidrograma que a ferramenta não conseguiu detetar por estarem escondidos atrás de uma linha de cor diferente. Isto pode ser feito com o botão “Adicionar ponto” na secção de extração manual de pontos.
Não te preocupes, estamos quase a acabar
Acrescentaremos vários pontos no eixo horizontal antes e depois dos pontos identificados automaticamente, incluindo um na origem do eixo e outro no seu ponto final para obter toda a extensão da curva.

Quando estivermos satisfeitos com os pontos, no menu da esquerda, se premirmos o botão “Ver dados”, obteremos os valores numéricos de cada um dos pontos identificados. A partir daqui, temos a opção de formatar os nossos dados com o menu da direita e várias opções para exportar a nossa informação: podemos copiá-la para a área de transferência ou descarregá-la como um ficheiro de dados separados por vírgulas (csv) que podemos importar para uma folha de cálculo.

Se descarregarmos os valores extraídos e fizermos uma representação gráfica dos mesmos, podemos observar a grande precisão dos dados obtidos.

Que mais queres?
O processo que acabámos de realizar é apenas a ponta do iceberg do WebPlotDigitizer. As suas capacidades vão desde a extração de múltiplas linhas em simultâneo até à análise de múltiplos tipos de gráficos, como gráficos de barras, gráficos de tartes ou diagramas triangulares, sem esquecer que o seu autor está continuamente a melhorar a ferramenta, atualmente na versão 4.5.
Se quiseres saber mais sobre o WebPlotDigitizer, podes encontrar um manual extenso no seu site onde estão detalhadas todas as funções disponíveis e como as utilizar. Espero que este artigo te tenha sido útil e que tenhas acrescentado uma nova ferramenta ao teu arsenal de trabalho.
Escrito por:
Agustín Hormigo Gutiérrez
Engenheiro civil
Área de Engenharia Civil – Secção de Engenharia de Águas na Civile