如何使用piexif包将python中的tif的度,分和秒gps化?

时间:2018-08-28 06:35:59

标签: python gps tiff exif geotagging

  

如何以度,分,秒为单位编写完整的gps坐标   使用Python将.tif图像格式设置为GPS exif标签?我可以写一个   gps协调部分使用   piexif软件包(例如   经度)(如果我仅将小数和分钟作为整数包含在内)。   但是,每当我加上秒数时,piexif都会引发 ValueError   几分之一秒。 piexif仅接受包含两个的元组   经度的整数,尽管标准要求为3   整数。

     

有关EXIF标记的信息可在[此处](http://www.cipa.jp/std/documents/e/DC-   008-2012_E.pdf)!

[['artist1', 'track1'], ['artist1', 'track2], ...]]

2 个答案:

答案 0 :(得分:2)

找到了这个解决方案, 这里有很棒的文档!

http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf

https://piexif.readthedocs.io/en/latest/functions.html

希望这很有用

import piexif 
#http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf
#https://piexif.readthedocs.io/en/latest/functions.html

exif_dict = piexif.load("test_exif.JPG")


gps_ifd = {piexif.GPSIFD.GPSLatitudeRef:"N",
           piexif.GPSIFD.GPSLatitude:(2,2),
           piexif.GPSIFD.GPSLongitudeRef:"W",
           piexif.GPSIFD.GPSLongitude:(1,1),
           piexif.GPSIFD.GPSAltitudeRef:(0),
           piexif.GPSIFD.GPSAltitude:(1700,1)
           }

exif_dict = {"0th":{}, "Exif":{}, "GPS":gps_ifd, "1st":{}, "thumbnail":None}
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes,"test_exif.JPG")
exif_dict = piexif.load("test_exif.JPG")
print(exif_dict)

答案 1 :(得分:0)

我还没有使用piexif,但是根据他们的文档,您需要以rational格式指定数据,例如(int, int)

exif_dict["GPS"][piexif.GPSIFD.GPSLongitude] = [(120, 1), (37,1), (429996, 10000)];

基本上使用(numerator, denominator)integers来描述您的值。