<- vect("data/lot.gpkg", layer = "communes")
commune <- rast("data/elev.tif")
elev
<- rasterize(x = commune, y = elev , field = "NOM_COM")
raster_commune plot(raster_commune)
14 Conversions
14.1 Rasterisation
Transformer des polygones en format raster avec la fonction rasterize()
.
Transformer des points en format raster :
# Rasterisation des centroïdes des communes
<- rasterize(x = centroids(commune),
raster_com_centroide y = elev, fun = sum)
plot(raster_com_centroide)
Transformer des lignes format raster :
# Rasterisation des limites communales
<- rasterize(x = as.lines(commune), y = elev, fun=sum)
raster_com_line plot(raster_com_line)
14.2 Vectorisation
Transformer un raster en polygones ou en points avec les fonctions as.polygons()
et as.points()
. Les objets créés sont dans le format SpatVector
de terra
.
Il est ensuite possible de les transformer en objets sf
avec la fonction st_as_sf()
.
library(terra)
library(sf)
<- rast(x = "data/clc.tif")
clc
# Reclassifions le raster CLC
<- matrix(c(100, 199, 1,
reclassif 200, 299, 2,
300, 399, 3,
400, 499, 4,
500, 599, 5),
ncol = 3,
byrow = TRUE)
<- classify(clc, rcl = reclassif)
clc
# Changeons d'abord la résolution du raster CLC
<- clc
clc_lower_model res(clc_lower_model) <- 1000
<- resample(x = clc, y = clc_lower_model, method = "near")
clc_lower
# Transformation en polygones
<- as.polygons(clc_lower)
clc_poly <- st_as_sf(clc_poly)
clc_poly
# Affichage
$clc <- as.factor(clc_poly$clc)
clc_polyplot(clc_poly["clc"])
Transformer un raster en points vectoriels avec la fonction as.points()
:
<- as.points(clc_lower)
clc_point <- st_as_sf(clc_point)
clc_point $clc <- as.factor(clc_point$clc)
clc_pointplot(clc_point["clc"], pch = 20, cex = 2)