忘记打开相机地理位置功能怎么办,ExifTool来搞定

2025-09-19 17:16:24 2点赞 5收藏 1评论

这几天没事逛地图相册时,突然发现好像少了一些照片,回到原始相册一看,果然是有些照片因为各种原因没有记录到地理信息,于是网上翻了很久,各种在线或本地小工具,要么支持的格式有限,要么要收费,没有一个能打的,直到我发现了ExifTool。

这是一个命令行工具,官网地址ExifTool by Phil Harvey,这是目前我找到唯一支持heic格式的免费工具。支持多个平台,下面的介绍以win为主,其他平台也是通用的。

不要一行行英文被吓到,使用起来很简单忘记打开相机地理位置功能怎么办,ExifTool来搞定

位置信息是个什么东东

地理位置信息是相机应用通过手机或其他硬件获取到gps坐标信息后写进照片和视频文件里的一组数据。

照片一般都是写进Exif下的各种GPS标签里,视频一般都写入UserData:GPSCoordinates标签里。

实际还有很多写入标准,平时基本遇不到,这里就不提了,如果遇到了,写入方法其实是一样的,ExifTool都能支持。

照片的位置信息一般有如下几个参数,不同的查看软件可能长相略有区别:

GPSLatitudeRef(北纬还是南纬)

GPSLatitude(维度数值)

GPSLongitudeRef(东经还是西经)

GPSLongitude(经度数值)

GPSAltitudeRef(海平面高度还是别的)

GPSAltitude(高度数值)

GPSTimeStamp(时间)

GPSDateStamp(日期)

视频一般是:

UserData:GPSCoordinates(经纬度)

必须要有的关键参数标红了,有这些大部分相册就能正确展示位置了,其他的可有可无。

其他标准的话大家自己网上搜一下,我就不多说了,尤其是视频,目前比较混乱,我这就以苹果常用的UserData为主了,实际大家也可以用和照片一样的方式写到Exif信息里,几乎所有相册都能正确识别。

经纬度如何表示

ExifTool中的东西经,南北纬直接用英文的首字母即可,东经N,西经W,南纬S,北纬N,例如北纬和东经的组合就是:

-GPSLatitudeRef=N

-GPSLongitudeRef=E

GPSCoordinates里则是正负号表示,+为东经或北纬,-为西经或南纬,如东经和南纬就是:

-UserData:GPSCoordinates="+xxx+yyy"

经纬度的数值一般有两种表示法,十进制的坐标,和度秒分,例如:

12.123456 == 12°7'24.4416"

123.123456 == 123°7'24.4416"

大部分查询软件看到的都是度秒分,方便大家阅读,实际exif里存储的数据是十进制的。ExifTool两种格式都支持,而且可以自动转换,我们为了不造成混乱,后面统一使用十进制表示法,例如:

照片:

-GPSLatitude=12.123456

-GPSLongitude=123.123456

视频:

-UserData:GPSCoordinates="+12.123456+123.123456"

如何得到照片的GPS信息

坐标(必须有)

有很多方法,也有很多专业工具,我这里只介绍一种最基础的方法,在浏览器里搜一个可以显示GPS坐标的地图的网站就可以了。根据照片的内容和你自己的回忆,在地图上找到地方,点一下,就会得到经纬度数据。

高度(非必须)

有些地图可以获取所在位置的高度,但基本都会有次数限制,超过次数要付费。

时间(非必须)

GPS时间是GMT格林尼治时间,所以写入时要用照片的拍摄时间减去拍摄地所在国家的法律规定的那个时区数才是正确的时间,这里就有点麻烦了,有些国家还要考虑夏令时。

下面以东八区,也就是我国及东南亚大部分国家所规定使用的时区为例,注意虽然我国横跨好几个时区,但规定只使用东八区:

照片拍摄时间2025-09-19 18:30:00,那么参数就是:

-GPSTimeStamp=08:30:00

-GPSDateStamp=2025:09:19

照片拍摄时间2025-09-19 07:30:00,那么注意,Time不够减的话Data也要回退一天:

-GPSTimeStamp=23:30:00

-GPSDateStamp=2025:09:18

涉及到夏令时的国家或地区,再把夏令时的数据减掉即可,就不举例了。

万事俱备,开始写入

照片

例如北纬12.1233456,东经123.123456,距离海平面12.123米,2025年9月19日16点30分拍摄的照片,前面说的没有标红的参数可以不写:

exiftool -P -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSAltitudeRef=Above -GPSLatitude=12.123456 -GPSLongitude=123.123456 -GPSAltitude=12.123 -GPSTimeStamp=08:30:00 -GPSDateStamp=2025:09:19 C:相册照片1.jpg

简化一下只写必要信息就是:

exiftool -P -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSLatitude=12.123456 -GPSLongitude=123.123456 C:相册照片1.jpg

视频

视频如果是GPSCoordinates标签的话只有坐标信息:

exiftool -UserData:GPSCoordinates="+12.123456+123.123456" C:相册视频1.MP4

如果批量改一批相同坐标的文件,路径可以用通配符:

C:相册*

另外命令中最好不要出现中文,文件路径最好不要出现空格,文件名不要出现win系统不允许的字符,以免不必要的麻烦。

最后可以检查一下修改结果,下面随便哪个命令都可以:

exiftool -GPSPosition C:相册照片1.jpg

exiftool -GPS:all C:相册照片1.jpg

这个命令则可以看到照片的或视频的全部元数据:

exiftool -a -v C:相册照片1.jpg

其实直接在资源浏览器里把照片或视频拖拽到exiftool(-k).exe这个执行文件上,直接就能看元数据了。

exiftool功能很强大,还提供了清理不需要的元数据等一大堆功能,官网提供了详细的命令说明,大家感兴趣可以自己去研究,但是注意不要去干某些可能存在法律风险的事情,比如修改别人作品的元数据忘记打开相机地理位置功能怎么办,ExifTool来搞定

这样就完了吗

并没有,还有一个需要注意的地方,如果大家用国产相册,会发现某些敏感位置,地图上获取的坐标到了相册里位置就不对了,是有偏移的,原因就不多说了,大家懂的都懂。

所以还要把敏感地区的偏移量算出来,故意给照片或视频写入一个错误的坐标,才能在国产相册里正确显示出位置来,不过换成其他相册可能又会偏移。

至于算法也很简单,如果你就在这个地区,那就拍一张带坐标的照片,然后在地图上找到这个位置点一下,这时就有两套坐标了,两边减一下的差就是偏移值,整个地区的偏移量一般都是这个值不会相差太多,然后将差值合进地图上的坐标点,就是要写入照片的位置数据了。

同样的国外相册应用也可能会对某些敏感地区人为制造偏移,大家自行尝试吧。

另外还有个ExifToolGUI的工具,在ExifTool的基础上提供了一部分界面操作,但也是由于某些大家都懂的原因,在国内不好用,还不如直接用命令行。

实在懒得上图,大家凑合看。

忘记打开相机地理位置功能怎么办,ExifTool来搞定

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
1评论

  • 精彩
  • 最新
  • 不知道为啥张大妈特别喜欢删斜杠,文章里的路径部分的斜杠都没了,打两层也不行,神奇的是还不是全都没有 [锁眉]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
5
扫一下,分享更方便,购买更轻松