python实时经纬度_python之读取照片的时间和经纬度

本帖最后由 15195775117 于 2019-5-24 19:37 编辑

二、代码&运行

----------------

附件whl文件就是读取照片exif信息的模块文件,

whl即wheel,怪不得网上用python的都说找“轮子”---轮子就是别人写好的工具块,找到了工具块就不用自己重新写了,“轮子”还跟“重新发明轮子”的俗语相通。

值得注意的是,我把运行环境改为python2后,其汉语支持比python3差,估计跟IDL一个水平了,经我试验,python2对汉语文件夹名出现问题,所以,最好别用汉语。

对照片的读取代码参考一下帖子:

https://www.cnblogs.com/kearney908/p/9187307.html

代码如下:

def exifread_infos(photo):

import exifread

#加载 ExifRead 第三方库  https://pypi.org/project/ExifRead/

#获取照片时间、经纬度信息

#photo参数:照片文件路径

# Open image file for reading (binary mode)

f = open(photo, 'rb')

# Return Exif tags

tags = exifread.process_file(f)

try:

#拍摄时间

EXIF_Date=tags["EXIF DateTimeOriginal"].printable

#纬度

LatRef=tags["GPS GPSLatitudeRef"].printable

Lat=tags["GPS GPSLatitude"].printable[1:-1].replace(" ","").replace("/",",").split(",")

Lat=float(Lat[0])+float(Lat[1])/60+float(Lat[2])/float(Lat[3])/3600

if LatRef != "N":

Lat=Lat*(-1)

#经度

LonRef=tags["GPS GPSLongitudeRef"].printable

Lon=tags["GPS GPSLongitude"].printable[1:-1].replace(" ","").replace("/",",").split(",")

Lon=float(Lon[0])+float(Lon[1])/60+float(Lon[2])/float(Lon[3])/3600

if LonRef!="E":

Lon=Lon*(-1)

f.close()

except :

return "ERROR:请确保照片包含经纬度等EXIF信息。"

else:

return EXIF_Date,Lat,Lon

photo=r'C:\Users\Administrator\Desktop\wy\35369511.jpg'

ex=exifread_infos(photo)

print(type(ex))

print(ex)

print(ex[-1])

输出结果:

('2019:05:23 18:51:01', 31.873989583333334, 117.24054513888889)

117.240545139成功输出,撒花!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值