Desculpe pela demora na resposta. Mas não houve nenhum desdobramento na discussão.
Acabei optando por utilizar outra estratégia para resolver o problema. Utilizando a função krige, independente do sistema operacional utilizado, os resultados das saidas foram os mesmo. Anexei o código abaixo, caso queira dar uma olhada.
#-----Gera uma malha de pontos raster-----#
gerar_grade_de_pontos_dentro_do_talhao = function(tamanho_pixel_em_m,
shapefile_contorno_do_talhao,
distancia){
print('gerar_grade_de_pontos_dentro_do_talhao')
extensao_do_talhao = data.frame(bbox(shapefile_contorno_do_talhao_original))
datum_utm = proj4string(shapefile_contorno_do_talhao)
grade = expand.grid(x = seq(from = extensao_do_talhao[1, 1],
to = extensao_do_talhao[1, 2],
by = tamanho_pixel_em_m),
y = seq(from = extensao_do_talhao[2, 1],
to = extensao_do_talhao[2, 2],
by = tamanho_pixel_em_m))
coordinates(grade) = ~x + y
proj4string(grade) = CRS(datum_utm)
buffer_do_talhao = ativar_buffer(shapefile_contorno_do_talhao, #'ativar_buffer' eh uma funcao
TRUE,
datum_utm,
distancia)
grade_dentro_do_talhao = crop(grade, buffer_do_talhao)
gridded(grade_dentro_do_talhao) = TRUE
fullgrid(grade_dentro_do_talhao) = TRUE
return(grade_dentro_do_talhao)
}
#-----Gera o grid para receber os valores interpolados-----#
grid_talhao = gerar_grade_de_pontos_dentro_do_talhao(20,
shapefile_contorno_do_talhao_original,
0)
#-----Krigagem-----#
variograma = variogram( layer ~ 1, shapefile_pontos_ndvi, cutoff = 50000, width = 30 )
plot(variograma)
maxima_semivariancia = max(variograma$gamma)
maximo_alcance = variograma[which(variograma$gamma==maxima_semivariancia),2]
modelo = vgm( maxima_semivariancia, "Sph", maximo_alcance, nug = 0)
krigagem_ordinaria = krige(layer ~ 1, shapefile_pontos_ndvi, grid_talhao, model = modelo, nmax=9);
#-----descomentar a linha abaixo caso queira ver o plot-----#
#print( sp::spplot(OK["var1.pred"], xlab="(NDVI)"), split=c( 1, 1, 2, 1 ), more=T )
coordenadas_raster = raster(grid_talhao, 20)
coordenadas = rasterToPoints(coordenadas_raster, spatial = FALSE)
fim = data.frame(coordenadas[,1], coordenadas[,2], krigagem_ordinaria$var1.pred)
coordenadas = data.frame(coordenadas[,1], coordenadas[,2])
coordenadas = coordinates(coordenadas)
dados = data.frame(fim$krigagem_ordinaria.var1.pred)
#-----Descomentar linha abaixo para salvar o dataframe em .txt das interpolacoes e suas coordenadas-----#
#write.table(fim, paste0(raiz, i, '_', 'teste_grid.txt'), sep = ',', row.names = F)
shp_final = SpatialPointsDataFrame(coords = coordenadas, data = dados)
shp_final = intersect(shp_final, shapefile_contorno_do_talhao_original)