Próbuję przekonwertować plik kształtu do rastra w R. Moje podejście polega na tym, aby czytać w rastrze w następujący sposób:
library(rgdal) # Loads SP package by default
demo <- readOGR('F:/data/', 'shapefile') # Creates a SpatialPolygonsDataFrame class (sp)
To działa dobrze i mogę to wykreślić. Jest to jednak duży plik kształtów i chcę przekonwertować go na raster. Próbowałem następujące:
r <- raster(ncol=180, nrow=180)
Demo_ras = rasterize(r, demo, 'pop') # pop is an integer here
Komunikat o błędzie:
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "rasterize", for signature "RasterLayer", "SpatialPolygonsDataFrame"
Jestem nieco zdezorientowany co do prawidłowej kolejności argumentów. Próbowałem również tego:
Demo_ras = rasterize(demo, r, 'pop')
Co powoduje następujący błąd:
Error in .polygonsToRaster(x, y, ...) :
polygon and raster have no overlapping areas
Chociaż ma sens to, że rastra nie można wygenerować dla obszaru, który nie obejmuje SpatialPolygonsDataFrame
, nie jestem pewien, jakie informacje muszę podać, aby raster zawierał ten SpatialPolygonsDataFrame
obszar.