
QGIS
文章平均质量分 92
二次开发QGIS的经验之谈
程序员班长
武汉计算机硕士在读,热爱计算机也不想秃头
展开
-
qgis启动提示Could not load qgis_app.dll
当遇到类似问题时,首先应该回忆发生问题之前有没有卸载什么程序,对系统做过什么改动,然后再使用进行分析,通过搜索关键字 “Error” 来定位问题,将缺少的dll全部安装即可(dll不会自己消失,一般都是因为程序的卸载导致的,可以先将卸载的程序安装回去试一下)。原创 2024-02-27 12:52:46 · 2927 阅读 · 0 评论 -
Ubuntu系统编译调试QGIS源码保姆级教程
在之前的文章中,我详细介绍了怎么在Windows下编译QGIS源码,也得到了不错的反馈。但是不足的是Windows下只能编译QGIS的Release模式和RelWithDebInfo模式,想要分析源码,Debug模式下的“断点调试”肯定是少不了的,虽然这两种模式虽然也能做到调试程序,但是总有种种不足,例如,因为代码是优化过的,某些调试操作可能会有所不同或略显困难。另外由于某些变量可能被优化掉,它们在调试过程中可能不可见等等。所以,为了调试程序更方便,决定在Unbuntu下编译一个Debug模式的QGIS。原创 2023-10-29 23:02:46 · 2242 阅读 · 4 评论 -
基于QGIS进行二次开发的正确姿势
最近一直在琢磨QGIS的二次开发,也踩过不少坑,好在最后的结果是好的。这里介绍一下我最喜欢的二次开发姿势。原创 2023-09-28 11:32:28 · 4229 阅读 · 2 评论 -
QGIS3.18编译教程
在之前,我编译了一个3.28版本的,但是Python模块出现了问题,导致用不了Python插件。真是无语,就当给开发者当实验小白鼠了。在这之后,我又编译了3.32版本,还是出现了一样的问题。于是,我直接选择了最多人编译的3.16,妈呀,真香,直接成功!但是我编译出来的版本,在加载分隔文本图层后,选择渐进颜色带时,它内置的几条色带全部是一个颜色。。。然后换了3.18版本,一切正常!应粉丝的请求,写一下3.18版本的编译过程。原创 2023-09-24 12:50:34 · 1484 阅读 · 1 评论 -
QGIS3.28的二次开发九:添加矢量要素
对矢量要素的编辑是 GIS 软件很重要的功能点之一,也是最难实现的功能点之一。编辑矢量要素涉及到很多方面的考虑,包括且不限于矢量要素的几何类型,拓扑关系,构成要素的节点的增删改,编辑会话 (session) 的启动、回溯和提交,要素属性的增删改等。本文不会也不可能涉及到属性编辑的方方面面,仅仅实现了一个添加面要素的地图工具,作抛砖引玉的作用。原创 2023-08-15 10:19:16 · 1333 阅读 · 1 评论 -
QGIS3.28的二次开发八:显示shp的属性表
这里实现两个基本的 GIS 软件需求:矢量图层的属性表显示,以及根据属性筛选要素。QGIS 提供了若干类用于实现图层属性表。属性表基于 Qt 的QTableView实现,利用了机制。QGIS 用于实现属性表所涉及到类比较多,彼此关系也不太直观,比较复杂, 这里仅做简单的总结。原创 2023-08-13 14:07:27 · 1132 阅读 · 0 评论 -
QGIS3.28的二次开发七:创建地图工具
地图工具是输入设备(一般指鼠标与键盘)与画布(QgsMapCanvas)的交互接口。它负责处理所有用户通过输入设备(鼠标和键盘)和画布互动的操作,例如镜头控制、要素绘制、标识工具等。我们这里写段代码测试一下QGIS的三个地图工具。原创 2023-08-12 18:47:47 · 1700 阅读 · 0 评论 -
QGIS3.28的二次开发六:VS不借助QT插件创建UI界面
上一篇博客我们说了在VS中如何使用QT插件来创建UI界面,但是我们二次开发QGIS的第一篇博客就说了,最好使用OSGeo4W中自动下载的QT进行QGIS二次开发,这样兼容性是最好的,那么该如何在VS中不使用外部安装的QT以及QT的VS插件情况下进行UI界面的创建和使用呢?如果你仔细看完了我前面的博客,那么配置起来也很简单~原创 2023-08-11 14:09:37 · 1914 阅读 · 0 评论 -
QGIS3.28的二次开发五:VS使用QT插件创建UI界面
前面我们说了在创建项目时创建的是一个空项目,即不使用 Qt 提供的综合开发套件 Qt Creator,也不使用 Qt Visual Studio Tools 这类工具。但是后面发现,如果我想要有更加满意的界面布局,还是要自己写一个UI文件,如果不使用QT插件,在VS中导入自己的UI文件编译起来不是那么容易,因此介绍一下如何使用QT插件来二次开发QGIS。那么既然使用了Qt VS Tools插件,那么环境配置就要改改了!(不使用QT插件也可以,参见我下一篇博客~)原创 2023-08-10 22:25:16 · 1444 阅读 · 0 评论 -
QGIS3.28的二次开发四:实现图层列表
在实际开发中我们通常会遇到同时显示多个图层,并且还要实时显示和隐藏各图层的需求,如同 ArcGIS 的图层列表那样,界面左侧显示图层列表,列出当前已加载的所有图层,同时每个图层前面有复选框可以控制图层的显示/隐藏;界面右侧为画布,按图层列表的适当顺序显示所有未隐藏的图层。具体该怎么实现呢?原创 2023-08-09 15:58:32 · 1421 阅读 · 0 评论 -
QGIS3.28的二次开发三:显示Shapefile
Shapefile 为 OGR 所支持的最重要的数据格式之一,自然可以被 QGIS 加载。那么该如何显示Shapefile呢?原创 2023-08-08 17:45:55 · 918 阅读 · 3 评论 -
QGIS3.28的二次开发二:不重新编译QGIS进行二次开发
由于重新编译QGIS对于初学者来说还是有一定难度,因此这里介绍另外一种不编译QGIS也能够二次开发的方法,不需要下载QGIS的整套源码。原创 2023-08-08 12:36:11 · 1824 阅读 · 1 评论 -
QGIS3.28的二次开发一:编译工程
搭建QGIS的二次开发环境的第一步,编译QGIS的源码包,这里选择的版本是3.28.9.环境:VS2019+OSGeo4W+CMake_3.26+Cygwin64+QGIS_3.28注意:一定要按照步骤顺序来!原创 2023-07-30 21:57:44 · 3576 阅读 · 17 评论