Как записать данные широты и долготы в R с помощью exiftoolr - PullRequest
0 голосов
/ 25 марта 2020

Я сделал несколько графиков в R 3.5.2 и сохранил их в виде файлов JPEG. Теперь я пытаюсь назначить широту и долготу координат, которые они представляют, метаданным каждого JPEG в R, чтобы они отображались на карте в коллекции других файлов изображений с геотегами. Я видел несколько решений, которые используют отдельно загруженные инструменты, но я хотел бы сохранить это в пределах R, если это возможно. Я использую Windows 7 и пакет exiftoolr:

install.packages("exiftoolr")
library(exiftoolr)

###coordinates table
LocationNo = c(1,2,3,4)
Latitude = c(39.6, 38.2, 37.2, 36.2)
Longitude = c(-121.8, -121.4, -120.7, -119.8)
coordstable = cbind.data.frame(LocationNo, Latitude, Longitude)

###set coordinates for jpg
outgraph <- list.files(pattern = "Graph2.jpg")
Lat.arg = paste0("-GPSLatitude=",coordstable$Latitude[2])
Long.arg = paste0("-GPSLongitude=",coordstable$Longitude[2])
exif_call(args = Lat.arg, path = outgraph) #set latitude
exif_call(args = Long.arg, path = outgraph) #set longitude

Я получаю следующее сообщение об ошибке после попытки установить широту:

Trying perl command: "" --version
Trying perl command: "perl" --version
Trying perl command: "C:\Perl64\bin\perl" --version
Trying perl command: "C:\Perl\bin\perl" --version
Trying perl command: "C:\Strawberry\perl\bin\perl" --version
Trying exiftool command:  -ver
Trying exiftool command: exiftool -ver
Error in configure_exiftoolr(quiet = quiet) : 
  No functioning version of Exiftool has been found. To
download and install a local version into the exiftoolr
package, try doing install_exiftool().

Я пытался использовать install_exiftool() или exiftoolr::configure_exiftoolr() но они оба возвращают меня в одно и то же место. Установка кажется успешной, но я по-прежнему получаю те же сообщения об ошибках при попытке использовать команды из пакета:

> exiftoolr::configure_exiftoolr()
Trying perl command: "" --version
Trying perl command: "perl" --version
Trying perl command: "C:\Perl64\bin\perl" --version
Trying perl command: "C:\Perl\bin\perl" --version
Trying perl command: "C:\Strawberry\perl\bin\perl" --version
Trying exiftool command:  -ver
Trying exiftool command: exiftool -ver
Error in exiftoolr::configure_exiftoolr() : 
  No functioning version of Exiftool has been found. To
download and install a local version into the exiftoolr
package, try doing install_exiftool().

> install_exiftool() #says it's installing but also says downloaded 0 bytes
    Attempting to download ExifTool from https://sno.phy.queensu.ca/~phil/exiftool/exiftool-11.92.zip
     [0%] Downloaded 0 bytes...
     [-2147483648%] Downloaded 0 bytes...
    Installing ExifTool in C:/Program Files/R/R-3.5.2/library/exiftoolr/exiftool

> exif_call(args = Lat.arg, path = outgraph) #try assigning latitude again
Trying perl command: "" --version
Trying perl command: "perl" --version
Trying perl command: "C:\Perl64\bin\perl" --version
Trying perl command: "C:\Perl\bin\perl" --version
Trying perl command: "C:\Strawberry\perl\bin\perl" --version
Trying exiftool command:  -ver
Trying exiftool command: C:/Program Files/R/R-3.5.2/library/exiftoolr/exiftool/win_exe/exiftool(-k).exe -ver
Trying exiftool command: exiftool -ver
Error in configure_exiftoolr(quiet = quiet) : 
  No functioning version of Exiftool has been found. To
download and install a local version into the exiftoolr
package, try doing install_exiftool().

> library(exiftoolr) #returns no messages or warnings

> exif_call(args = Lat.arg, path = outgraph)
Trying perl command: "" --version
Trying perl command: "perl" --version
Trying perl command: "C:\Perl64\bin\perl" --version
Trying perl command: "C:\Perl\bin\perl" --version
Trying perl command: "C:\Strawberry\perl\bin\perl" --version
Trying exiftool command:  -ver
Trying exiftool command: C:/Program Files/R/R-3.5.2/library/exiftoolr/exiftool/win_exe/exiftool(-k).exe -ver
Trying exiftool command: exiftool -ver
Error in configure_exiftoolr(quiet = quiet) : 
  No functioning version of Exiftool has been found. To
download and install a local version into the exiftoolr
package, try doing install_exiftool().
...