2017-01-13 13 views
0

У меня есть приложение Shiny, которое обращается к данным из учетной записи Dropbox. Я использовал инструкции в https://github.com/karthik/rdrop2/blob/master/README.md, чтобы читать данные csv без проблем, то есть с помощью команды drop_read_csv из пакета rdrop2 после выполнения этапа аутентификации. , например. .Чтение gpx-файла в Shiny из учетной записи Dropbox

my_data<-drop_read_csv("ProjectFolder/DataSI.csv") 

Моя следующая проблема, однако, в том, что там будет много файлов треки GPX загруженных в раздаточную, что я хочу приложение, чтобы иметь возможность читать я попытался с помощью:

gpx.files<-drop_search('gpx', path="ProjectFolder/gpx_files") 
trk.tmp<-vector("list",dim(gpx.files)[1]) 
for(i in 1: dim(gpx.files)[1]){ 
    trk.tmp[[i]]<-readOGR(gpx.files$path[i], layer="tracks") 
} 

Но не повезло. На readOGR этапе, я получаю:

Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv, : 
    Cannot open data source 

Надеюсь кто-то может помочь.

ответ

0

Моя проблема: я не указал путь Dropbox правильно. Я использовал drop_read_csv код и сделал версию drop_readOGR:

drop_readOGR<-function(my.file, dest=tempdir()){ 
    localfile = paste0(dest, "/", basename(my.file)) 
    drop_get(my.file, local_file = localfile, overwrite = TRUE) 
    readOGR(localfile, layer="tracks") 
} 

Так что теперь я могу просто использовать то, что я делал раньше, за исключением я изменил линию в цикле, чтобы вызвать новую функцию.

gpx.files<-drop_search('gpx', path="ProjectFolder/gpx_files") 
trk.tmp<-vector("list",dim(gpx.files)[1]) 
for(i in 1: dim(gpx.files)[1]){ 
    trk.tmp[[i]]<-drop_readOGR(gpx.files$path[i]) 
}