Я все еще новичок в R и не знаю, как создать цикл для моего рабочего процесса, чтобы сделать его более эффективным.
У меня есть цифровая модель рельефа (растр Barrow_5m.tif
), шейп-файлдля озер и буфера с 10 идентификаторами в строке таблицы каждый.В приведенном ниже сценарии я создал новый растровый файл для всех значений озера и файл формы буфера с данными из растра DEM.Это прекрасно работает.
setwd("...")
Barrow_5m <- raster("Barrow_5m.tif")
Barrow_DTLB <- st_read("Barrow_DTLB.shp")
Barrow_DTLB_Buffer <- st_read("Barrow_DTLB_BufferOUT.shp")
Barrow_lake <- crop(Barrow_5m, extent(Barrow_DTLB))
raster_lake <- rasterize(Barrow_DTLB, Barrow_lake, mask = TRUE)
Barrow_buffer <- crop(Barrow_2m, extent(Barrow_DTLB_Buffer))
raster_buffer <- rasterize(Barrow_DTLB_Buffer, Barrow_buffer, mask = TRUE)
writeRaster(raster_lake, "raster_lake.tif")
writeRaster(raster_buffer, "raster_buffer.tif")
Но теперь я хочу иметь растровый файл для каждого идентификатора озера и буферный шейп-файл отдельно, поэтому файлы 2x10.Я думал, что лучше написать цикл для этого, но моих навыков пока недостаточно для этого.Также другие вопросы не принесли решения до сих пор.Я попытался помочь мне с this .
В качестве альтернативы я мог бы использовать свой конечный продукт TIF из приведенного выше сценария и отменить это в файлах для каждого идентификатора.
Я хочунаписать цикл и не делать это вручную для всех идентификаторов шейп-файлов, потому что после этого я собираюсь сделать то же самое с еще большим шейп-файлом с большим количеством значений.