我想删除照片的所有GPS信息,只要它与特定的GPS坐标相匹配。
我已经阅读了手册页,但我不确定是否可能。
答案 0 :(得分:2)
要匹配一个精确的坐标,像这样(windows版本):
exiftool -if "$GPSLongitude eq '74 deg 2\' 40.20\" W' and $GPSLatitude eq '40 deg 41\' 21.28\" N'" -gps*= FileOrDir
或者如果您使用的是数字坐标
exiftool -if "$GPSLongitude# == -74.0445 and $GPSLatitude# == 40.6892444444444" -gps*= FileOrDir
我使用-gps*=
清除所有以gps
开头的标记,因为可能会有更多标记以及XMP gps标记。如果您想在保留GPS方向/速度/时间戳/目的地/等数据的同时清除位置数据,那么您可以使用-GPSLatitude= -GPSLongitude= -GPSLatitudeRef= -GPSLongitudeRef=
代替(也可能-GPSAltitude= -GPSAltitudeRef=
)。
对于Windows中的第一个命令,您必须使用反斜杠转义等式的单引号部分内的单引号和双引号。我不确定如何在Mac / Linux上完成。
一个主要问题是准确度。如果您的数字接近,但不完全等于存储在文件中的本地gps,则不会得到匹配。此时,您可能需要查看-c
选项,您可以在其中指定精度
exiftool -if "$GPSLongitude == -74.0445 and $GPSLatitude == 40.689244" -c "%+.6f" -gps*= FileOrDir
最后,如果你想变得更复杂,你可以将任何perl表达式作为-if
选项的参数。例如,您可以从$GPSLatitude
中减去数字,并获取绝对值以获得要比较的范围。来自Exiftool论坛的Example:
exiftool -if 'abs($gpslatitude# - 52.3728268506806) < 1e-3 and abs($gpslongitude# - 4.89373108651944) < 1e-3'