



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Python实现获取照片的地理定位信息lon=exif_data['GPSInfo']['GPSLongitude']
lon_ref=exif_data['GPSInfo']['GPSLongitudeRef']
#lon_degrees=lon[0][0]/float(lon[0][1])
lon_degrees=lon[0].numerator/float(lon[0].denominator)
#lon_minutes=lon[1][0]/float(lon[1][1])
lon_minutes=lon[1].numerator/float(lon[1].denominator)
#lon_seconds=lon[2][0]/float(lon[2][1])
lon_seconds=lon[2].numerator/float(lon[2].denominator)
lon_direction=lon_ref
gps_info['longitude']=(lon_degrees+(lon_minutes/60.0)+(lon_seconds/3600.0))*(-1iflon_direction=='W'else1)
returngps_info
#测试代码
if__name__=='__main__':
image_path=r'D:\spiderdocs\FtpServer\IMG_20250302_134126.jpg'
#修改为你自己的JPEG图像路径
exif_data=get_exif_data(image_path)
gps_info=get_gps_info(exif_data)
print('经度:',gps_info['longitude'])
print('纬度:',gps_info['latitude'])
三、代码说明
在上述代码中,我们使用了ifhasattr(img,_getexif):来检查图片是否包含EXIF数据。如果包含,就将获取到的EXIF数据保存在exif_data变量中。然后再使用ifexif_dataisNone:来检查exif_data是否为None。如果是,就说明图片没有EXIF数据,打印一条消息并返回一个空字典。否则,将EXIF数据转换为字典格式并返回。
四、报错1
Traceback(mostrecentcalllast):
Filed:\spiderdocs\jpegexifgps.py,line53,inmodule
exif_data=get_exif_data(image_path)
Filed:\spiderdocs\jpegexifgps.py,line12,inget_exif_data
fortag,valueinimg._getexif().items():
AttributeError:NoneTypeobjecthasnoattributeitems
五、解决方法1
出现这种情况的原因可能是文件中没有EXIF数据或者图片格式不支持EXIF数据。为了避免出现这种错误,您可以在调用_getexif()方法之前,先检查一下是否存在_getexif()方法和返回的EXIF数据是否为None。如果是None,则说明该图片没有EXIF数据,需要相应地处理。
1.打开手机的相机应用,进入相机设置。
2.找到地理标记或者位置信息这个选项,打开它。
3.确保允许相机应用访问位置信息。在有些手机上,您需要在设置中打开相机应用的位置权限。
4.如果您希望在每次拍照时都保存经纬度信息,可以选择始终使用或启用选项。如果您只想在需要时保存位置信息,可以选择询问每次选项。
5.拍摄照片时,手机会自动获取当前位置的经纬度信息,并将其保存在照片的EXIF数据中。您可以使用一些工具或软件来读取照片的EXIF数据,并提取经纬度信息。
请注意,启用位置信息会对手机的电池寿命产生一定影响。如果您不需要在拍照时保存经纬度信息,建议关闭位置信息功能,以延长手机的电池寿命。
六、报错2
Traceback(mostrecentcalllast):
Filed:\spiderdocs\jpegexifgps.py,line57,inmodule
gps_info=get_gps_info(exif_data)
Filed:\spiderdocs\jpegexifgps.py,line34,inget_gps_info
lat_degrees=lat[0][0]/float(lat[0][1])
TypeError:IFDRationalobjectisnotsubscriptable
七、解决方法2
这个错误是因为在读取经纬度信息时,使用了IFDRational类型的对象来进行下标操作,而IFDRational类型并不支持下标操作。
建议检查代码中读取经纬度信息的部分,并确保使用正确的数据类型进行操作。您可以尝试使用numerator和denominator属性来获取IFDRational类型对象的值,例如:
类似地,您也可以使用longitude[0].numerator和longitude[0].denominator来获取经度的度数。
lat_degrees=lat[0].numerator/float(lat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度二手农用三轮车跨区域交易合同
- 二零二五年度科技部生物制药研发生产合同
- 工业污染场地修复技术成本效益与环保产业政策解读报告
- 2025年数字货币在货币政策传导中的应用与创新报告
- 体检中心2025年服务质量评估与智慧增值服务融合发展报告
- 2025年医药电商平台大数据应用与合规监管挑战报告
- 基于大数据的2025年建筑施工安全管理信息化应用案例分析报告
- 北京中铁广阳项目全案营销计划调整报告
- 17-唐树源《《民法典》对财富传承与资产管理的影响解读和应对策略》1-2课时
- 2025年城市智慧消防系统可行性研究评估报告
- 中央空调项目可行性报告
- DB32/ 3559-2019铅蓄电池工业大气污染物排放限值
- 国家标准化代谢性疾病管理中心(MMC)-三高-患者全程管理规范
- 初级意大利语教程课件
- 标准检验指导书(SIP)-钣金
- 大语言模型中偏见问题的识别、评估与应对策略研究
- GB 5009.303-2025食品安全国家标准食品中酵母β-葡聚糖的测定
- 炼焦车间工艺培训
- 基于数据的胜任力模型构建与优化-全面剖析
- 如何成为合格的财务主管
- 上海市2022年中考英语卷试题真题及答案详解
评论
0/150
提交评论