从照片中提取GPS信息并创建Shapefile(第三版)同时生成一个TXT文本​

文摘   2024-10-05 08:09   广西  

一、事情缘由

前两天写了一个工具,实现了从照片中提取GPS信息并创建Shapefile。

从照片中提取GPS信息并创建Shapefile(第一版)适用于无人机照片和手机照片

从照片中提取GPS信息并创建Shapefile(第二版)适用于无人机照片和手机照片

今天听取留言区的建议,增加一个功能:创建shp文件的同时生成一个TXT文本。

从编程的角度来说,这个功能实现是很简单的。

二、从编程的角度

因为我们已经获取了坐标点信息,只需要写几行代码,把这些坐标点信息写入到TXT中就好了。具体实现如下:

使用with语句,是常见的python创建TXT文本的做法。

三、测试

我在测试的过程中,使用了970张DJI的原图照片。

输出结果如下:

TXT文本打开如下:

每一行由经度、纬度组成,二者中间由空格隔开。

之前我都是用QGIS打开,本次测试将使用arcgis打开photos.shp

结果如下:

在arcgis打开会提示缺失空间参考

点击确定按钮后,是不影响坐标点的可视化。如下:


如果是在QGIS打开则不会提示。

四、解决办法

那如何消除arcgis打开我们的phots.shp的空间参考警告呢?

我们可以在同目录下创建一个叫做photos.prj文件,该文件本质上是一个文本文件。

我们的无人机或者手机照片,在一般情况下的坐标系为WGS84坐标系

我们只需要把WGS84所涉及的WKT文本写入到photos.prj中。

完成以上步骤即可消除arcgis的空间参考警告。

代码如下:

    with open('photos.prj', 'w') as f:        f.write("""GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]    """)

再次测试,顺利在arcgis打开了photos.shp文件,无报错。

最后

朋友们在使用这个工具的时候,无论是成功运行或者是运行失败,都可以在下方留言。这个对我来说很重要。。。因为收集到各种错误,才能更好地去改进这个工具。


本次已将打包后的rstool上传到云盘,有需要的朋友在后台回复rstool获取下载链接。


remote sensing
一个专注于测绘、地信、遥感的公众号
 最新文章