我想知道是否有人知道如何从多个图像目录中读取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)
}
}
如您所见,这仅从“ D:\ F04 \ 0005SET \ 000”而不是从“ D:\ F04 \ 0005SET \ 001”之类的其他目录询问EXIF数据。
最好,我想通过向量 multidirdata 和 multisubdirdata 设置所有所需图像目录的向量,并在EXIF命令中使用它们。
答案 0 :(得分:0)
关注StarGeek提到的常见错误使它现在对我有用:
setwd("C:/exiftool/")
fulldata <- system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -ext tif -r. "D:\\GIS\\Congo\\F04"', intern = TRUE)