Skip to content

Automated Python pipeline for geostatistical analysis and soybean yield mapping using kriging and machine learning for precision agriculture.

License

Notifications You must be signed in to change notification settings

CarlosRigoAgro/PROJETO_GEOESTATISTICA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipeline Geoestatístico Automatizado para Mapeamento de Produtividade de Soja

DOI

Citação: RIGO JUNIOR, C. A.; ROSSO, D. L.; AMARAL, L. P. Fluxo Geoestatístico Automatizado para Mapeamento de Produtividade de Soja: Validação K-Fold e Análise de Sensibilidade de Modelos Variográficos. In: Congresso Sul Americano de Agricultura de Precisão e Máquinas Precisas (APSul AMERICA), 2025.

Sobre o Projeto

Este repositório contém o código-fonte completo utilizado no artigo apresentado no APSul AMERICA 2025. O trabalho implementa um pipeline geoestatístico automatizado para análise de produtividade de soja, incluindo pré-processamento, krigagem ordinária e validação k-fold.

Principais Características

  • Pré-processamento automatizado de dados de monitor de colheita
  • Ajuste e comparação de modelos variográficos (esférico, exponencial, gaussiano)
  • Krigagem ordinária com validação cruzada k-fold (k=5)
  • Geração automática de mapas, relatórios e documentação
  • Pipeline reprodutível e parametrizável

Estrutura do Projeto

├── 1_dados/               # Dados brutos e processados
├── 2_scripts/             # Scripts principais
├── 3_resultados/         # Saídas do processamento
├── 4_relatorios/         # Relatórios técnicos
└── 4_sensibilidade/      # Análise comparativa de modelos

Scripts Principais

inspetor_final.py

Script de inspeção inicial dos dados brutos do monitor de colheita.

  • Função: Gera uma ficha técnica detalhada em PDF com estatísticas descritivas
  • Parâmetros principais:
    • LIMITE_PRODUTIVIDADE_ALERTA: 15.0 ton/ha
    • LIMITE_FALTANTES_ALERTA_PCT: 5.0%
  • Uso: Executar primeiro para avaliar a qualidade dos dados brutos
  • Saída: Ficha técnica em 4_relatorios/[talhao]_[ano]/ficha_tecnica_FINAL_[talhao]_[ano].pdf

processador_2025.py

Script de pré-processamento e filtragem dos dados.

  • Função: Limpa e padroniza os dados do monitor de colheita
  • Parâmetros principais:
    • UMIDADE_PADRAO: 14.0%
    • VELOCIDADE_MIN: 3.0 km/h
    • VELOCIDADE_MAX: 6.0 km/h
    • FATOR_IQR: 1.5 (para remoção de outliers)
  • Uso: Executar após a inspeção inicial
  • Saída: Dados filtrados em CSV em 2_dados_processados/[talhao]_[ano]/

pipeline_geoestatistico_2025.py

Pipeline principal de análise geoestatística.

  • Função: Realiza a análise variográfica e krigagem
  • Principais etapas:
    1. Ajuste de semivariogramas
    2. Validação cruzada k-fold
    3. Interpolação por krigagem
    4. Geração de mapas e relatórios
  • Uso: Executar após o pré-processamento
  • Saída: Mapas, relatórios e dados intermediários em 3_resultados/[talhao]_[ano]/

analise_sensibilidade_geoestatistica.py

Script de comparação e validação de modelos.

  • Função: Compara diferentes modelos variográficos
  • Análises realizadas:
    • Comparação de RMSE e R²
    • Gráficos comparativos
    • Radar de desempenho
    • Relatórios detalhados
  • Uso: Executar após o pipeline principal
  • Parâmetros: Use --comparativo-only para pular o pipeline ou --check para diagnóstico
  • Saída: Resultados comparativos em 4_sensibilidade/resultados/

Requisitos

  • Python 3.13.5
  • Dependências principais:
    • NumPy ≥ 1.26
    • Pandas ≥ 2.2
    • GeoPandas ≥ 0.14
    • Matplotlib ≥ 3.8
    • scikit-gstat ≥ 0.6.9
    • PyKrige ≥ 1.7
    • Rasterio ≥ 1.3
    • Shapely ≥ 2.0
    • scikit-learn ≥ 1.4

Para instalar todas as dependências:

pip install -r requirements.txt

Resultados Principais

O modelo variográfico exponencial apresentou o melhor desempenho preditivo:

  • RMSE: 0,6 t ha⁻¹
  • R²: 0,241
  • Parâmetros: pepita = 0,028 t² ha⁻², patamar = 0,565 t² ha⁻², alcance = 868,7 m

Reprodutibilidade

Ordem de Execução dos Scripts

  1. Execute inspetor_final.py primeiro para gerar a ficha técnica e avaliar a qualidade dos dados brutos
  2. Execute processador_2025.py para realizar o pré-processamento e filtragem dos dados
  3. Execute pipeline_geoestatistico_2025.py para realizar a análise geoestatística principal
  4. Execute analise_sensibilidade_geoestatistica.py para comparar os modelos e validar os resultados

Exemplo de Execução

No Windows, execute os scripts na seguinte ordem:

# 1. Inspeção inicial
py 2_scripts/inspetor_final.py

# 2. Pré-processamento
py 2_scripts/processador_2025.py

# 3. Pipeline geoestatístico
py 2_scripts/pipeline_geoestatistico_2025.py

# 4. Análise de sensibilidade
py 2_scripts/analise_sensibilidade_geoestatistica.py

Nota: Os comandos acima usam py que é o launcher do Python no Windows. Em sistemas Linux/Mac, use python no lugar de py.

O fluxo completo pode ser reproduzido a partir dos arquivos brutos do monitor de colheita e do polígono do talhão. Todos os parâmetros e configurações estão documentados em:

  • Arquivos JSON de execução
  • Logs detalhados
  • Relatórios técnicos em PDF

Local de Estudo

  • Fazenda Irmãos Rigo, talhão Silo
  • André da Rocha, Rio Grande do Sul, Brasil
  • Área: 56,18 ha
  • Coordenadas (EPSG:4326): [-51,51, −28,54] a [-51,50, −28,53]
  • Altitude média: ~800 m
  • Solo: Latossolo Vermelho
  • Clima: Cfb (Köppen)

Autores

  • Carlos Alberto Rigo Junior - Colégio Politécnico da UFSM
  • Daiane Luisa Rosso - Colégio Politécnico da UFSM
  • Lúcio de Paula Amaral - Colégio Politécnico da UFSM

Licença

Este projeto é disponibilizado sob um modelo de Dupla Licença:

1. Uso Acadêmico e de Código Aberto (GPLv3)

Para fins de pesquisa, estudo, e para uso em outros projetos de código aberto, este projeto está licenciado sob a GPLv3. Isso significa que você pode usá-lo e modificá-lo livremente, desde que qualquer trabalho derivado também seja distribuído sob a mesma licença. Veja o arquivo LICENSE para o texto completo.

2. Uso Comercial

Para a utilização deste código em software proprietário, aplicações comerciais, ou qualquer cenário onde as restrições da GPLv3 não são desejáveis, é necessária uma licença comercial.

Para adquirir uma licença comercial ou discutir parcerias, por favor, entre em contato:

  • Carlos Alberto Rigo Junior
  • E-mail: carlos.rigo@acad.ufsm.br

Agradecimentos

Agradecemos ao Programa de Pós-Graduação em Agricultura de Precisão do Colégio Politécnico da UFSM pelo suporte institucional.

About

Automated Python pipeline for geostatistical analysis and soybean yield mapping using kriging and machine learning for precision agriculture.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages