Date: 2014-12-18 21:09
Summary: 本文记录了使用Python进行QGIS二次开发的过程,以及过程中遇到的问题。由于内容较多,将文章分成2个部分。这是第一部分。
使用Python进行QGIS二次开发2
3. 自定义地图工具
在做GPX文件编辑工具的时候,主要存在几个难点:
gpx文件是不能直接编辑的,必须先转成shp格式才可以编辑。
gpx中存储的只是经纬度、高度、时间戳信息,没有投影信息。
解决方法:
之前本人曾做过GPS轨迹可视化的小系统,其中有一个地方就是gpx转shp格式。当时使用了一个gpx2shp的工具(主页在这里),但是试了一下发现,这个工具把GPX点转成了线类型,我们需要的是点类型,所以不能使用了。干脆直接解析gpx文件提取点,然后转成shp,难度也不大。github上找到了gpxpy这个库,试了一下还是很好用的。用这个库解析gpx里面的轨迹点之后,用pyshp(https://github.com/GeospatialPython/pyshp)把点写成shp文件。
用Proj4(http://trac.osgeo.org/proj/)这个库把经纬度点转换成需要的投影点,然后才能和栅格图匹配上。可以使用pip安装pyproj,当前是1.9.3的版本。具体的用法很简单,可以参考这篇帖子,具体步骤就是:
先定义一个需要的投影
# 从proj4字符串创建投影
isn2004=pyproj.Proj("+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0