GeoEstimaLib: nossa biblioteca Python para Geoestatística
Nos últimos anos, na GeoEstima, incorporamos o Python como uma ferramenta fundamental em nossos fluxos de trabalho. Python é uma linguagem de programação de alto nível, interpretada e de propósito geral. Além disso, é open source (código aberto), o que significa que qualquer pessoa pode utilizá-lo, modificá-lo e melhorá-lo livremente. Sua popularidade na análise de dados se deve à sua sintaxe clara e à grande quantidade de bibliotecas disponíveis que permitem trabalhar de forma eficiente com grandes volumes de informação.
Graças ao Python, conseguimos lidar de maneira eficiente com os arquivos de grande porte que manipulamos diariamente, como os modelos de blocos gerados nos processos de estimativa de recursos. Essa ferramenta tem sido fundamental tanto na análise exploratória dos bancos de dados quanto na validação dos modelos, facilitando a geração de gráficos personalizados que permitem uma melhor interpretação dos resultados.
👉 Você pode saber mais sobre esse processo em nosso blog: Aspectos relevantes a considerar durante um modelo de Recursos Minerais.
Além da análise de dados, o Python nos permite automatizar diversos processos internos, como o controle de horas por projeto e a marcação de polígonos diretamente sobre o modelo de blocos, melhorando a eficiência operacional e reduzindo erros manuais.
Desenvolvimento de uma biblioteca interna
À medida que desenvolvíamos diferentes scripts, surgiu a necessidade de distribuir esse conhecimento de maneira estruturada entre os profissionais da equipe. Isso nos levou a implementar uma solução mais robusta: o desenvolvimento de uma biblioteca interna em Python.
Uma biblioteca Python é um conjunto de módulos que contêm funções, classes e objetos reutilizáveis, projetados para resolver tarefas específicas e expandir as capacidades da linguagem. Ao organizar nosso código em uma biblioteca, conseguimos:
- Manter controle de versões
- Facilitar a colaboração e a manutenção
- Garantir o funcionamento correto do código
- Assegurar a rastreabilidade das alterações
Atualmente, nossa biblioteca está na versão 2.3.3 e está hospedada em um repositório privado do GitHub.
Principais módulos da biblioteca
A biblioteca conta com diferentes módulos especializados que cobrem as principais etapas de análise e validação na estimativa de recursos:
• Módulo QAQC
Inclui gráficos específicos para controle de qualidade das amostras, como análise de duplicatas, brancos e padrões.

• Módulo EDA (Análise Exploratória de Dados)
Permite analisar a distribuição e variabilidade espacial das variáveis. Foram implementados gráficos como box plots, histogramas, probabilidade acumulada, scatter plots, swath plots, análise de contatos, entre outros.

• Módulo de Validação
Contém os gráficos necessários para validar os resultados do modelo, como tonelagem-teor, swath plots e scatter plot do superbloco.

• Módulo Geotools
Oferece ferramentas para validar simulações, gerar gráficos tipo Sankey (para visualizar mudanças na classificação dos recursos) e marcar polígonos diretamente no modelo de blocos.

Boas práticas: testes e documentação
Para garantir a qualidade do código, cada módulo inclui testes automatizados que validam os cálculos matemáticos associados a cada gráfico. Além disso, contamos com uma documentação interna acessível a todos os membros da equipe, que descreve em detalhe o uso de cada função, seus parâmetros e exemplos práticos.

A seguir, mostramos um exemplo de como utilizar o gráfico de swath plot do módulo de Validação. Primeiro, importa-se a biblioteca; em seguida, cria-se uma instância do objeto Validation; e, por fim, chama-se o método correspondente com os parâmetros definidos:

Esse tipo de interface busca simplificar o uso das ferramentas desenvolvidas, permitindo que qualquer membro da equipe possa integrá-las facilmente em suas análises.
Trabalhos futuros
Atualmente, estamos desenvolvendo a versão 2.4.0, que incluirá novos gráficos e funcionalidades voltadas a continuar otimizando nossos processos. Cada nova versão incorpora melhorias a partir do feedback da equipe, em um processo de melhoria contínua que busca entregar ferramentas mais completas, intuitivas e alinhadas com as necessidades dos nossos clientes.