R.version.string
[1] "R version 4.5.0 (2025-04-11)"
Curso - Análise Espacial e Interpolação de Dados no R (9 a 13/06)
Análise Espacial e Interpolação com R
Sidney Schaberle Goveia
May 13, 2025
# Pacotes
library(gstat) # v2.1-3
library(sf) # v1.0-21
library(mapview) # v2.11.2.9001
library(leafem) # v0.2.3.9017
library(stars) # v0.6-9
library(automap) # v1.1-16
library(terra) # v1.8-43
library(sp) # v2.2-0
library(dplyr)
library(ggplot2)
# Base de dados
data(meuse, package = "sp")
data(meuse.grid)
# Converter data.frame para sf
data(meuse, package = "sp")
meuse_sf <- st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
meuse_grid <- st_as_sf(meuse.grid, coords = c("x", "y"), crs = 28992) # EPSG:28992 (RD New)
summary(meuse_sf$zinc)
Min. 1st Qu. Median Mean 3rd Qu. Max.
113.0 198.0 326.0 469.7 674.5 1839.0
[using ordinary kriging]
# Converter o sf data.frame para formato plottável
krig_plot <- krig_result |>
cbind(st_coordinates(krig_result)) |> # Extrair coordenadas X/Y
st_drop_geometry() |> # Remover coluna de geometria
rename(predicao = var1.pred) # Renomear coluna de predição
# Plotar com ggplot2
ggplot() +
# Camada raster da krigagem
geom_raster(
data = krig_plot,
aes(x = X, y = Y, fill = predicao),
interpolate = TRUE
) +
# Camada de pontos observados
geom_sf(
data = meuse_sf,
color = "red",
size = 1,
alpha = 0.5,
inherit.aes = FALSE
) +
# Escala de cores
scale_fill_viridis_c(
option = "viridis",
name = "log(Zinco) Predito",
guide = guide_colorbar(
barwidth = 15,
barheight = 1,
title.position = "top"
)
) +
# Sistema de coordenadas
coord_sf(datum = st_crs(meuse_sf)) +
# Rótulos e título
labs(
title = "Krigagem Ordinária - Concentração de Zinco",
x = "Coordenada X",
y = "Coordenada Y"
) +
# Tema e formatação
theme_minimal() +
theme(
legend.position = "bottom",
panel.grid = element_blank(),
axis.text = element_text(size = 8)
)
Principais tópicos abordados: