Je travaille avec des fichiers de formes dans R que j'ai besoin de convertir de polygone en raster. Alors que les vecteurs semblent parfaits lorsqu'ils sont tracés, lorsqu'ils sont convertis en raster à l'aide de 'rasterize', ils produisent des lignes horizontales erronées. Voici un exemple du problème:Erreur de rasterisation: la conversion de polygone en raster produit des lignes horizontales
Voici un exemple générique du code que j'utilise (désolé que je ne peux pas télécharger les données lui-même comme il est propriétaire):
spdf.dat <- readOGR("directory here", "layer here")
# Plot polygon
plot(spdf.dat, col = 'dimgrey', border = 'black')
# Extract boundaries
ext <- extent(spdf.dat)
# Set resolution for rasterization
res <- 1
# determine no. of columns from extents and resolution
yrow <- round(([email protected] - [email protected])/res)
xcol <- round(([email protected] - [email protected])/res)
# Rasterize base
rast.base <- raster(ext, yrow, xcol, crs = projection(spdf.dat))
# Rasterize substrate polygons
rast <- rasterize(spdf.dat, rast.base, field = 1, fun = 'min', progress='text')
plot(rast, col = 'dimgrey')
Cela semble-t-il être un problème avec les données source ou la fonction de pixellisation? Quelqu'un at-il déjà vu ce genre d'erreur? Merci pour tout conseil que vous pouvez fournir.
J'ai essayé votre code avec mes données et il a le bon comportement. Votre code me va bien. peut-être un problème avec vos données? Essayez avec un autre de vos ensembles de données. – Bastien
Quand je regarde votre silhouette, il me semble que les lignes apparaissant problématiques dans le raster sont situées à la même latitude que certaines îles. Essayez de supprimer ces îles de votre jeu de données. Si le problème disparaît, vous saurez que vos données constituent le problème et que le problème réside dans vos données. – Bastien
Vous pouvez essayer le paquet gdalUtils qui a une fonction: 'gdal_rasterize' – Bastien