У меня есть один файл SpatialLine, который я загрузил в R и который содержит 134 объекта, и благодаря помощи сообщества выяснили, как разбить один файл на 134 отдельных файла SpatialLine. Однако я не нашел эффективного способа сохранить каждый из этих файлов из R с помощью функции writeOGR. Я могу сделать это индивидуально, но это требует времени, также некоторые функции имеют либо номера в начале своих имен, либо пробелы в своих именах, что создает еще одну головную боль в процессе.
Вот мой код для разделенияфайл:
boulder_trails2 %>%
group_split(TRAILNAME) %>%
walk2(boulder_trails2$TRAILNAME, ~assign(as.character(.y), .x, envir = globalenv()))
Вот что я пробовал, используя другой файл:
OSMPTrails <- readOGR(dsn="~/Desktop/boulder_map/raw_data/OSMP_Trails_DIS", layer =
"OSMP_Trails_DIS")
location <- "~/Desktop/boulder_map/subset_trails"
for(i in 1:nrow(OSMPTrails)){
# name of file
name <- as.character(OSMPTrails$TrailName[[i]])
# change shap to your 'SpatialPointsDataFrame'
writeOGR(subset(OSMPTrails, TrailName == OSMPTrails$TrailName[[i]]),
location, name, driver="ESRI Shapefile")
}
И я получаю эту ошибку:
Ошибка записи OGR (подмножество(OSMPTrails, TrailName == OSMPTrails $ TrailName [[i]]),: не удалось создать слой
Если у кого-то есть какие-либо другие предложения, я открыт для них, поскольку, очевидно, это не работает, и я не очень заинтересован всохранение 134 файлов по отдельности.