qgis二次开发(c++篇)
之前的文章中提到用python+pyqgis做qgis二次开发,经过多方面探索,最终还是放弃了这个方案,我要做的并不是一个插件,而是一个偏重地图预览的application。放弃python的主要原因还是因为资料不多,pyqgis的掌握难度比较大。c++方式就不一样了,有qgis工程的源码可以参考,说白了还是学习成本。
程序要求的基本功能是:采用ribbon界面风格,实现栅格 和 矢量图层的 加载 管理,图层样式的 简单配置 ,图层坐标系的设置 等。最重要的功能是,要能利用 配置的样式坐标系 标注 透明色 等, 把图层数据 输出到spatialite4中,对栅格图进行瓦片(tiles)处理。虽然在qgis中也集成了spatialite,但是由于对spatialite4的稳定性要求比较高(通过一段时间的使用,还是很庆幸当初 选择了 下载spatialite4源码,并对其编译,目前spatialite4 存在一个非常重要的问题,从spatialite4中dump的shpfile数据,无法再次import到spatialite4中,主要问题是对中文的支持不太友好),使用起来还是要慎重考虑。
一个月的时间,当初规划的功能已经完成, c++的 效率是公认的高,在次,我还是要把c++赞美一番。地图显示速度确实很高,之前用过arcgis9.3,能和arcgis媲美,至于AE二次开发的东东,这个就不用多做比较了。
碰到的主要问题是,如何设置 图层 样式,并且对图层样式进行获取。程序的打包也花费了不小的功夫。