用exiftool为照片添加经纬度并生成照片经纬度列表

exiftool是为数码照片管理exif信息的软件,虽然只有命令行,但使用起来十分方便。下面就介绍如何用exiftool和GPS航迹文件,为数码照片添加经纬度和海拔,同时介绍如何从照片中批量导出经纬度。

操作系统 Windows 10, 64bit
Exiftool: version 11.25, 2019-01-15

  1. 在野外, 将GPS和相机设定为相同时间,野外工作完成后保存航迹。野外工作结束,尽快从GPS导出航迹, 格式为gpx格式,例如 track20150131.gpx 。

  2. 从相机导出照片,到某文件夹下,注意路径中不能有中文(但文件名可以有中文), 例如D:/plantphotos/20150101, 命名为 IMG_0001.jpg, IMG_0002.jpg

  3. 下载 exiftool( http://www.sno.phy.queensu.ca/~phil/exiftool/ )的Windows可执行文件, 解压缩, 将 exiftool(-k).exe 重命名为 exiftool.exe , 拷贝到照片所在的路径。注意照片的完整路径不能有中文。

  4. 创建一个纯文本文件, 命名为 csv.mft,内容为:

$filename,$gpslongitude#,$gpslatitude#,$gpsaltitude#

该文件为csv文件的模板, 用于之后从每张照片的exif文件中导出经纬度。

  1. 创建一个纯文本文件, 命名为 run_exiftool_geotaging.bat,内容为:

    1
    2
    exiftool -geotag=track20150131.gpx ./
    pause
  2. 创建一个纯文本文件, 命名为 run_exiftool_creat_csv.bat,内容为

    1
    2
    exiftool -p csv.mft ./>test.csv
    pause
  3. 双击run_exiftool_geotaging.bat文件, exiftool从航迹提取信息, 并为该文件夹下对应时间的照片添加经纬度和海拔。

  4. 双击 run_exiftool_creat_csv.bat 文件, exiftool读取每张照片的经纬度和海拔, 并保存到相应.csv文件中。

  5. 该csv文件默认为UTF-8编码,用Excel打开时中文会出现乱码,为了能在Excel中能正常处理,可以用Notepad++打开,并将文件转换为UTF-8-BOM编码,再用Excel打开即可。

更多信息请参见: https://www.sno.phy.queensu.ca/~phil/exiftool/geotag.html