R: Чтение данных EXIF ​​из нескольких каталогов изображений - PullRequest
0 голосов
/ 19 декабря 2018

Мне было интересно, есть ли у кого-нибудь идея, как читать данные EXIF ​​из нескольких каталогов изображений.Я собрал данные изображения, но для отдельных образцов они часто хранятся в нескольких подкаталогах.До сих пор я пробовал это:

multidirdata <- list.dirs("D:/F04", full.names = TRUE, recursive = TRUE)

for (i in 1 : length(multidirdata)){
  setwd("C:/exiftool/")
  multisubdirdata <- list.dirs(multidirdata[i])
  for (j in 1 : length(multisubdirdata)){
    filelist <- list.files(path = multisubdirdata, pattern = ".tif", full.names = TRUE)
    fulldata <- data.frame(system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -,
                              "D:\\F04\\0005SET\\000"', intern = TRUE))
    img.df <- read.delim2(textConnection(fulldata), stringsAsFactors = FALSE, header = FALSE,
                      col.names = c("File", "Lat", "Lon", "Time"))
    setwd(multisubdirdata[j])
    write.csv(fulldata, file = paste("multipts", "csv", sep = "."), row.names = TRUE, append = FALSE)
  }
 }

Как вы можете видеть, это запрашивает только данные EXIF ​​из "D: \ F04 \ 0005SET \ 000", а не из других каталогов, таких как "D:\ F04 \ 0005SET \ 001 ".

Желательно, чтобы я установил вектор всех необходимых каталогов изображений через векторы multidirdata и multisubdirdata и использовалте, что в команде EXIF.

1 Ответ

0 голосов
/ 08 марта 2019

Обращая внимание на распространенную ошибку, о которой упоминал StarGeek, теперь она работает для меня:

setwd("C:/exiftool/")
fulldata <- system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -ext tif -r. "D:\\GIS\\Congo\\F04"', intern = TRUE)
...