Я пытаюсь преобразовать шейп-файл в растр в R. Мой подход заключается в следующем:
library(rgdal) # Loads SP package by default
demo <- readOGR('F:/data/', 'shapefile') # Creates a SpatialPolygonsDataFrame class (sp)
Это прекрасно работает, и я могу построить это. Однако это большой шейп-файл, и я хочу преобразовать его в растр. Я пробовал следующее:
r <- raster(ncol=180, nrow=180)
Demo_ras = rasterize(r, demo, 'pop') # pop is an integer here
Сообщение об ошибке:
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "rasterize", for signature "RasterLayer", "SpatialPolygonsDataFrame"
Я немного запутался, что является правильным порядком аргументов. Я также попробовал это:
Demo_ras = rasterize(demo, r, 'pop')
Что приводит к следующей ошибке:
Error in .polygonsToRaster(x, y, ...) :
polygon and raster have no overlapping areas
Хотя имеет смысл, что растр не может быть сгенерирован для области, которая не покрывает область SpatialPolygonsDataFrame
, я не уверен, какую информацию мне нужно указать, чтобы растр содержал эту SpatialPolygonsDataFrame
область.