Сохранение нескольких шейп-файлов из среды R - PullRequest
1 голос
/ 22 октября 2019

У меня есть один файл 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 файлов по отдельности.

...