Создание растра из шейп-файла в R

#r #r-raster

#r #r-растр

Вопрос:

У меня есть шейп-файл моей области исследования, и я хотел создать растр, в котором каждая ячейка, принадлежащая этому шейп-файлу, имеет значение = 1, а остальные ячейки имеют значение = NA.

Я хотел создать этот новый растр с тем же происхождением и размером ячейки, что и растры среды, которые я буду использовать в своем анализе.

Это код, который я использую, но я всегда получаю эту ошибку: «Ошибка в rep (значение, длина.out = 2): попытка реплицировать объект типа’S4′»

 #Create raster from shapefile

library(raster)
library(rgdal)

x <- readOGR(dsn="D:/Mestrado/Tese/AreaEstudo/final", layer="areaestudofinaluniforme")
pad <- raster("D:/Mestrado/Tese/Dados modelação/Mais recente/Variáveis maxent/bio_11.asc")

ext <- extent(pad)
reso <- res(pad)
ori <- origin(pad)

newraster <- raster(x, ext, reso, ori)
 

(Я до сих пор не понял, как присвоить значения растру)

У кого-нибудь есть какие-либо предложения о том, почему я получаю эту ошибку? И о том, как я мог бы присвоить нужные мне значения?

Комментарии:

1. Видишь gis.stackexchange.com/questions/332619/r-raster-to-shapefile

Ответ №1:

Вы можете сделать

 r <- rasterize(x, r, field=1)
 

Чтобы создать новый растр, который здесь не нужен, вы можете сделать

 y <- raster(x)