-
在上一期笔记分享①:坐标定义及转换中成功解决将CGCS2000坐标系数据转为WGS1984坐标,可加载至Google Earth或者其他通用地图软件。
-
本期笔记总结:通过Python批量获取照片经纬度,导入ArcGIS后将坐标转换为CGCS2000,并将照片做成超链接方便访问(总结前置,根据需求观赏阅读,避免浪费宝贵时间)。
因为工作涉及到实地考察、拍照,后期整理照片就成了一大难题,努力回想这张照片是在哪里拍的,很痛苦,费时又费力。于是萌生了批量获取照片经纬度信息的想法,在先进工具OpenAI的帮助下,实现了基于Python的照片经纬度信息提取,前提是拍照时已打开获取位置设置,或使用水印相机等,查看照片详细信息有经纬度信息,如下图所示:
-
材料准备
-
照片(存放至同一个文件夹下,文件夹最好固定一个位置,避免后续数据库链接照片时找不到文件,也可以不使用链接,按照时间排序后对照文件名来找照片也很方便);
-
电脑安装Python;
-
下载编辑器Jupyter、Visual Studio Code、Pycharm等均可;
*我个人使用的是VScode,软件小插件多易安装。
-
操作步骤
1、获取经纬度信息
VScode运行代码界面示意图如下(文末获取),因为获取经纬度数据为度分秒格式,需要在excel换算为十进制格式,也尝试过让openAI修改完善,奈何频频报错,就此了之,毕竟excel转换也很方便,在处理经纬度的同时,将照片存储路径也一并进行处理了,方便后期在ArcGIS中通过链接的方式直接打开,处理之后的excel如下图:
2、添加经纬度数据至ArcGIS
需要注意的是ArcGIS只支持03版excel数据,添加数据,显示X、Y数据,xField选择经度,yField选择纬度。坐标系选择WGS1984,可以在搜索框搜索4326,如图所示:
3.数据处理
数据导出到数据库中,可以看到各点位数据,打开属性表即可看到链接字段,图层右键属性设置显示链接数据,属性设置为存储路径字段名,使用时利用识别工具,即可看到闪电标识的符号,标识超链接成功,点击即可预览照片。
4.数据坐标转换
(1)先查看原始坐标是否正确,正常情况下数据添加完成后,将数据进行导出,选择数据框导出,仍存放于数据库中。
(2)新建空白ArcGIS工作文档,添加刚刚导出的点数据,设置图层属性坐标系统(Project Coordinate Systems->Gauss Kruger->CGCS2000->选择自己需要的坐标系),至此点位数据已经可以和正常使用的CGCS2000坐标数据完美叠合在一起。
(3)数据导出。导出数据时依然选择导出数据框选项,如4.1,重新导出的目的在于以后直接使用这些数据,避免坐标再次出现问题。
Python代码留言:经纬度Python
Python安装及基础使用也可私信我哦,祝各位工作愉快~~~