🚜Do Mapa de Colheita às Zonas de Manejo com Python
- Alexandre Rodrigues
- 2 de mar.
- 4 min de leitura
Atualizado: 6 de mar.
Você já tem o mapa de produtividade da soja. Mas… como transformar isso em decisão agronômica real?
Esse script faz exatamente isso 👇
Bibliotecas importadas (as “ferramentas”)

pandas (pd): lê Excel e organiza dados em tabela (DataFrame).
numpy (np): faz contas rápidas e matrizes (grid, máscara, etc.).
matplotlib (plt): desenha os mapas/gráficos.
geopandas (gpd): trabalha com dados geográficos (shapefile, CRS, etc.).
shapely Point: cria pontos (x,y) para virar geometria no mapa.
cKDTree: acelera a busca de vizinhos mais próximos (essencial no IDW).
KMeans: cria grupos (zonas) automaticamente.
1. Carregar dados de produtividade

Aqui abre o Excel do monitor de colheita (ou do processamento) que tem colunas como:
yield_kg_ha (produtividade)
moisture (umidade)
longitude, latitude (coordenadas)
speed (velocidade da colhedora)
Correção para 13% de umidade

Produtividade medida com umidade diferente “engana” na comparação.
A fórmula ajusta para 13%, padrão comum para comparar rendimento.
Depois converte kg/ha → sc/ha, assumindo 1 saca = 60 kg.
Remover outliers e pontos ruins

Isso é “higienização”:
Remove produtividades absurdas (muito baixa/alta) que geralmente são erro de sensor, manobra, falha de GPS etc.
Remove pontos com velocidade baixa (manobra/parada), que costumam distorcer a produtividade.
Por que isso importa?
Porque dados ruins viram “manchas” falsas no mapa e podem criar zonas erradas.
2. Criar GeoDataFrame e reprojetar para UTM (metros)
2.1. Transformar lat/long em pontos e cria GeoDataFrame com CRS WGS84

EPSG:4326 = lat/long (graus), padrão GPS.
2.2. Reprojetar para UTM 22S (SIRGAS 2000)

Agora as coordenadas ficam em metros, o que é essencial para:
calcular distâncias corretamente
interpolar (IDW depende de distância)
2.3. Ler o talhão (shapefile) e garantir mesmo CRS

Abre o polígono do talhão e coloca no mesmo sistema UTM.
3. Cálculo da variabilidade (estatística descritiva)

Média: produtividade média do talhão
Desvio padrão: quanto os pontos variam em torno da média
CV (coeficiente de variação): variabilidade relativa (%)
Por que isso importa?
O CV te ajuda a decidir se vale a pena criar zonas de manejo. Alta variabilidade = grande chance de retorno com manejo localizado.
4. Interpolação IDW (Inverso do Quadrado da Distância)
Separar x, y e produtividade (z)

x, y: coordenadas em metros (UTM)
z: produtividade em sc/ha
Criar uma grade (grid) cobrindo o talhão

total_bounds pega o retângulo mínimo que envolve o talhão.
300j cria uma malha de 300 x 300 pontos (quanto maior, mais detalhado e mais pesado).
Encontrar os 8 vizinhos mais próximos

cKDTree é um jeito rápido de achar vizinhos próximos.
k=8 usa 8 pontos para estimar cada célula do grid.
Distância zero pode acontecer se cair exatamente em cima de um ponto, então evita divisão por zero.
Calcular IDW (peso maior para quem está mais perto)

Peso = 1 / d² → mais perto = influencia mais.
Resultado: um “tapete” contínuo de produtividade.
Por que isso importa?
Colheita é ponto a ponto. Interpolação transforma isso num mapa contínuo que dá leitura visual e base para manejo.
5. Máscara do talhão (recortar só dentro do polígono)

Aqui o script pergunta, para cada célula do grid:
“Esse ponto está dentro do polígono do talhão?"
Depois aplica a máscara:

Dentro do talhão: mantém valor
Fora: vira NaN (não desenha)
6. Mapa contínuo interpolado (visualização)

contourf cria um mapa em “manchas” contínuas.
levels=20 define quantas faixas de cor (mais faixas = transição mais suave).
RdYlGn é uma paleta típica: vermelho (baixo) → verde (alto).
Borda do talhão e barra de cores:

7. Classificação em zonas (K-Means)

O K-Means cria 3 grupos (zonas) com base somente na produtividade.
Cada ponto recebe um rótulo de zona (0, 1, 2).
Ordenar as zonas por produtividade média

Isso é um detalhe muito bom:
K-Means pode chamar “zona 0” a mais alta ou a mais baixa, aleatoriamente.
Aqui reorganiza para que:
zona 0 = menor média
zona 1 = média intermediária
zona 2 = maior média
8. Mapa de zonas de manejo

Define cores fixas para cada zona.
Depois plota os pontos por zona:

Cada ponto vira uma bolinha colorida.
s=8 controla o tamanho do ponto.
Borda do talhão e legenda:

Por que isso importa?
Zonas transformam “mapa bonito” em decisão prática:
zonas de baixa produtividade → investigar compactação, fertilidade, drenagem, pragas…
zonas altas → manter estratégia, ajustar insumos para estabilidade.
9. Média por zona

Mostra a produtividade média de cada zona (ótimo para comparar potencial e planejar manejo).
10. Estatística detalhada por zona

Aqui vê:
média e desvio (consistência)
mínimo e máximo (extremos)
quantos pontos caíram em cada zona (representatividade)
11. Amplitude produtiva do talhão

A amplitude diz o “tamanho” da diferença entre o pior e o melhor ponto do talhão.
Por que isso importa?
Amplitude grande geralmente indica:
alto potencial de ganho com manejo localizado
forte heterogeneidade (solo, relevo, água, fertilidade, etc.)
Este script transforma dados brutos do monitor de colheita em informação de decisão: ele corrige a produtividade para 13% de umidade, remove pontos errados, converte as coordenadas para UTM (metros), gera um mapa contínuo por interpolação IDW recortado ao talhão e, por fim, divide o campo em 3 zonas de manejo com K-Means, além de imprimir estatísticas gerais e por zona. O resultado é uma base prática para investigar causas de baixa produtividade e planejar intervenções localizadas (adubação, corretivo, drenagem, compactação, população de plantas etc.).



Comentários