对.gpx文件进行地图坐标系转换

引子

关于地图坐标系,可以参考这篇文章,下表列出了几种常用的坐标系:

坐标系解释使用地图
WGS84地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,最基础的坐标,谷歌地图在非中国地区使用的坐标系GPS/谷歌地图卫星
GCJ02火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。并要求在中国使用的地图产品使用的都必须是加密后的坐标,而这套WGS84加密后的坐标就是gcj02。腾讯(搜搜)地图,阿里云地图,高德地图,谷歌国内地图
BD09百度坐标系,百度在GCJ02的基础上进行了二次加密,官方解释是为了进一步保护用户隐私百度地图
小众坐标系类似于百度地图,在GCJ02基础上使用自己的加密算法进行二次加密的坐标系搜狗地图、图吧地图 等

国内地图产品导出的.gpx文件一般使用的是非WGS84坐标系,所以如果想要将该.gpx文件导入到只支持WGS84坐标系的设备使用时,坐标将发生偏移,因此需要对.gpx文件进行坐标系转换。
在Github和其它搜索引擎上并没有搜到将.gpx文件进行坐标转换的资料,但是将.csv文件或直接对坐标点进行转换的代码有很多。所以决定对代码进行修改使其支持直接对.gpx文件转换。

思路

.gpx文件其实可以看成是一种xml文件,其格式如下:
在这里插入图片描述可见,gpx文件其实就是将每一个坐标点的经纬度、高度和时间记录下来,以此来生成轨迹。
所以,我们需要做的就是将.gpx文件中的坐标点提取到,并对该坐标点进行坐标系转换,之后再将转换后的坐标写入新文件内,从而实现.gpx文件的坐标转换。

代码

有了思路,代码就比较好办了,我是根据这里的代码进行了修改,并已经提交给原作者,目前原作者还没有merge代码,可以先使用我仓库里的代码。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是使用ArcGIS导入并编辑GPX文件的步骤: 1. 在ArcGIS中创建一个新的空白地图文档。 2. 在“Catalog”窗口中导航到包含GPX文件文件夹,并在文件夹上单击右键。选择“New” > “Shapefile”来创建一个新的shapefile。 3. 在“Create New Shapefile”对话框中,选择“Polyline”作为“Feature Type”,并为shapefile设置名称和位置。单击“Edit”按钮来定义shapefile的空间参考。 4. 在“Spatial Reference Properties”对话框中,选择与GPX文件相同的坐标系。如果不确定坐标系,请使用WGS 1984坐标系。单击“OK”按钮来保存设置。 5. 在“Create New Shapefile”对话框中,单击“OK”按钮来创建空的shapefile。 6. 在ArcGIS的主界面中,选择“File” > “Add Data” > “Add Data From File”来导入GPX文件。选择GPX文件并单击“Add”按钮。 7. 在“Add XY Data”对话框中,选择GPX文件中的坐标字段,并设置正确的坐标系。单击“OK”按钮来将GPX文件导入到地图文档中。 8. 在地图文档中选择新创建的shapefile,并选择“Edit” > “Start Editing”来启动编辑模式。 9. 在编辑模式下,选择“Create Features”工具栏上的“Polyline”工具,并在地图上绘制轨迹线。 10. 完成后,选择“Editor” > “Save Edits”来保存更改。 这些步骤可以帮助您将GPX文件导入到ArcGIS中,并进行编辑。请注意,这只是基本的编辑过程,您可以根据需要进行更高级的编辑和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值