qgis 二次开发,重写满足自己功能的程序

本文详细阐述了使用C++进行GIS二次开发的经验,包括实现地图预览、地图层管理、样式配置等功能,并重点讨论了与Spatialite4的交互及性能优势。文章深入分析了C++在地图显示速度方面的表现,以及在解决图层样式设置问题上的挑战。同时,还分享了程序打包过程中的经验教训。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                             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二次开发的东东,这个就不用多做比较了。

    碰到的主要问题是,如何设置 图层 样式,并且对图层样式进行获取。程序的打包也花费了不小的功夫。

 

   

   

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值