У меня есть прикрепленный код, который работает для преобразования отдельного многоугольника в формат ASCII, однако у меня есть 27000 многоугольников, поэтому мне нужно иметь возможность проходить через них все. В настоящее время этот цикл принимает один и тот же многоугольник и записывает его 27084 раза, каждый раз перезаписывая вывод.
Какие изменения мне нужно внести, чтобы он взял каждый многоугольник в каталоге и записал в отдельный файл * .ascii для каждого?
P.S. Созданные файлы ascii включают «0.0000000» в качестве первого значения, есть идеи, как этого избежать?
код
library("rgdal")
library("sp")
library("raster")
library("stringr")
wd<- "path//to//directory"
setwd(wd)
PatchShapes <- list.files(wd, pattern = "\\.shp$")
asciiID<- paste0("", str_pad(1:27084, width = 2, side = "left", pad = 0),
".ascii") #List to save each ASCII as
## Raster to be used as extent templates
template<-raster("path//to//raster//file.txt")
for (i in 1:27084){
p <- readOGR(dsn= wd , layer = "1") #Need to turn this "1" into i
pr<-raster()
extent(pr)<-extent(template)
template raster
res(pr)<-1000
patch<-rasterize(x=p, y=pr ,field= p$Patch)
writeRaster(patch, filename = "place//to//save//ASCII//file",
format="ascii",overwrite=T, NAflag=0) }