为什么ExifTool 12.57将图像元数据中GPS信息的位置值存储为“复合”?
例如:
image=/path/to/photo.jpg
exiftool -G0 '-gps.*' "${image}"
[EXIF] GPS Latitude Ref : North
[EXIF] GPS Longitude Ref : East
[EXIF] GPS Altitude Ref : Above Sea Level
[EXIF] GPS Speed Ref : km/h
[EXIF] GPS Speed : 0
[EXIF] GPS Img Direction Ref : True North
[EXIF] GPS Img Direction : 152.5745659
[EXIF] GPS Dest Bearing Ref : True North
[EXIF] GPS Dest Bearing : 104.1544711
[EXIF] GPS Date Stamp : 2021:10:10
[EXIF] GPS Horizontal Positioning Error: 44 m
[Composite] GPS Altitude : 102 m Above Sea Level
[Composite] GPS Latitude : 40 deg 41' 5.29" N
[Composite] GPS Longitude : 16 deg 41' 23.70" E
[Composite] GPS Position : 40 deg 41' 5.29" N, 16 deg 41' 23.70" E
我这么问是因为它们实际上完全是 EXIF 2.32 规范的一部分:
首先,确保您查看的是正确的信息。使用 ExifTool 使用这样的命令从文件中提取所有信息 文件及其写入位置:
exiftool -a -G1 -s c:\images est.jpg
在此命令中,-a 允许提取重复的标签,...
当存在重复标签时,除非使用 -a 选项,否则仅提取一个。请注意,-EXIF:all 等选项会从提取的标签中选择所有 EXIF 标签,因此被其他位置的重复标签隐藏的 EXIF 标签将不会出现在 -EXIF:all 的输出中。
-a
(-duplicates
) 选项时,显示的标签将是最后读取的标签。复合标签是在读取所有其他标签后最后创建的,因此当不使用 -a
时,它们将始终是列出的标签。
您可以使用选项
-e
或 --composite
禁用复合标签的生成。这样做将向您显示原始 EXIF(或其他类别)GPS 值。
复合标签
GPSLatitude
和 GPSLongitude
是基于多种可能的 GPSLatitude
+ GPSLatitudeRef
和 GPSLongitude
+ GPSLongitudeRef
标签(EXIF、XMP、Sony...)之一生成的,并标准化以使用东北参考,南或西参考坐标可能为负值。
GPSPosition
标签是基于标准化的GPSLatitude
和GPSLongitude
生成的复合标签,不作为EXIF标签存在。