小编utt*_*t50的帖子

使用来自 exiftool 的 GPS 位置在 Bash 中进行反向地理编码

我正在编写一个 bash 脚本,它根据 EXIF 标签重命名 JPG 文件。我的原始文件是这样命名的:

IMG_2110.JPG
IMG_2112.JPG
IMG_2113.JPG
IMG_2114.JPG
Run Code Online (Sandbox Code Playgroud)

我需要像这样重命名它们:

2015-06-07_11-21-38_iPhone6Plus_USA-CA-Los_Angeles_IMG_2110.JPG
2015-06-07_11-22-41_iPhone6Plus_USA-CA-Los_Angeles_IMG_2112.JPG
2015-06-13_19-05-10_iPhone6Plus_Morocco-Fez_IMG_2113.JPG
2015-06-13_19-12-55_iPhone6Plus_Morocco-Fez_IMG_2114.JPG
Run Code Online (Sandbox Code Playgroud)

我的 bash 脚本使用 exiftool 解析 EXIF 标头并重命名文件。对于那些不包含 EXIF 创建日期的文件,我使用的是文件修改时间。

#!/bin/bash
IFS=$'\n'

for i in *.*; do
    MOD=`stat -f %Sm -t %Y-%m-%d_%H-%m-%S $i`
    model=$( exiftool -f -s3 -"Model" "${i}" )
    datetime=$( exiftool -f -s3 -"DateTimeOriginal" "${i}" )
    stamp=${datetime//:/-}"_"${model// /}
    echo ${stamp// /_}$i
done
Run Code Online (Sandbox Code Playgroud)

我被困在这个位置。我需要使用来自 EXIF 标签的 GPS 信息来确定国家和城市。exiftool 提供了一个名为“GPS 位置”的字段。在所有字段中,这似乎对确定位置最有用。

GPS Position : 40 deg 44' 49.36" N, 73 deg 56' 28.18" W
Run Code Online (Sandbox Code Playgroud)

Google 提供了用于地理定位的公共 …

bash awk gps google-maps reverse-geocoding

5
推荐指数
2
解决办法
2111
查看次数

标签 统计

awk ×1

bash ×1

google-maps ×1

gps ×1

reverse-geocoding ×1