You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用脚本结合exiftool从文件读取数据为4000张图片添加经纬度

批量用ExifTool给图片添加GPS经纬度的脚本方案

这事儿很容易解决,用ExifTool配合简单的脚本就能搞定4000张图片的批量操作,我给你分平台详细说明:

准备工作

  1. 确保你已经安装了ExifTool,直接搜索下载对应平台的版本即可
  2. 确认坐标文本文件(比如命名为coords.txt)格式正确:每行对应一张图片,三列内容用空格(或逗号,后续会说明调整方法)分隔,示例如下:
    1.jpg 39.9042 116.4074
    2.jpg 31.2304 121.4737
    ...
    4000.jpg 23.1291 113.2644
    

Linux/macOS 用Bash脚本

创建一个名为add_gps.sh的脚本,内容如下:

#!/bin/bash

# 读取坐标文件的每一行,拆分出文件名、纬度、经度
while IFS=' ' read -r filename lat lon; do
    # 先检查文件是否存在,避免无意义报错
    if [ -f "$filename" ]; then
        echo "正在处理:$filename"
        # 写入GPS信息,这里默认是北纬(N)和东经(E),南纬/西经请改成S/W
        exiftool \
            -GPSLatitude="$lat" \
            -GPSLongitude="$lon" \
            -GPSLatitudeRef="N" \
            -GPSLongitudeRef="E" \
            # 可选:如果不想保留原文件备份,取消下面这行注释
            # -overwrite_original \
            "$filename"
    else
        echo "⚠️ 警告:文件 $filename 不存在,已跳过"
    fi
done < coords.txt

使用步骤:

  1. 给脚本添加执行权限:chmod +x add_gps.sh
  2. 进入图片和坐标文件所在的目录,运行脚本:./add_gps.sh

Windows 用批处理脚本

创建一个名为add_gps.bat的脚本,内容如下:

@echo off
setlocal enabledelayedexpansion

# 按空格拆分每行的三列内容,如果你的坐标文件是逗号分隔,把delims= 改成 delims=,
for /f "tokens=1,2,3 delims= " %%a in (coords.txt) do (
    if exist "%%a" (
        echo 正在处理:%%a
        exiftool ^
            -GPSLatitude="%%b" ^
            -GPSLongitude="%%c" ^
            -GPSLatitudeRef="N" ^
            -GPSLongitudeRef="E" ^
            :: 可选:取消下面这行注释以跳过生成备份文件
            :: -overwrite_original ^
            "%%a"
    ) else (
        echo ⚠️ 警告:文件 %%a 不存在,已跳过
    )
)

使用步骤:

  1. 确保ExifTool的exiftool.exe在系统PATH中,或者直接放到脚本和图片所在的目录
  2. 双击运行add_gps.bat即可开始批量处理

关键注意事项

  • 坐标方向调整:如果你的纬度是南纬,把GPSLatitudeRef改成S;经度是西经的话,把GPSLongitudeRef改成W。如果坐标已经带正负号(比如南纬用-30.xxxx),可以直接去掉GPSLatitudeRef和GPSLongitudeRef参数,ExifTool会自动识别方向。
  • 分隔符适配:如果坐标文件用逗号分隔(比如1.jpg,39.9042,116.4074),Bash脚本里把IFS=' '改成IFS=',';批处理里把delims= 改成delims=,。
  • 测试先行:建议先拿1-2张图片测试脚本,确认经纬度写入正确后再批量处理4000张,避免操作失误。
  • 备份文件:ExifTool默认会给原文件生成带_original后缀的备份,不需要的话就加上-overwrite_original参数。

内容的提问来源于stack exchange,提问作者rehman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:57:51