论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
企业信息化/数字化
›
ERP
›
SAP
›
PyQGIS二次开发指南
PyQGIS二次开发指南
宁睿
论坛元老
|
2024-5-18 11:55:45
|
显示全部楼层
|
阅读模式
楼主
主题
1038
|
帖子
1038
|
积分
3124
当你的数据处理使用的是Python语言,而你的导师又让你开发界面,那么PyQGIS二次开发指南是你必读的圣经。QGIS支持Python语言进行二次开发,你将学会如何使用Qt Designer进行界面设计、加载栅格数据、加载矢量数据、软件打包、安装包制作等。
写在前面
随着GIS应用在国内的逐渐增多,越来越多的行业会必要使用GIS软件进行处理。目前国内的GIS软件根本为ArcGIS,ESRI作为GIS行业的龙头老大,依靠着ArcGIS根本占据着GIS软件的全部江山,其功能丰富强大,且社区最为活跃,但随着近期的俄乌战争,ESRI制裁俄罗斯的变乱,还是可以感受到闭源软件的不可控性。
QGIS是一个开源、免费、轻量级的GIS软件,虽然在国内的遍及程度不高,但不妨碍其软件的优秀程度。QGIS的软件功能及其丰富,并且还有海量的插件库供不同方向的GIS人员选择,是一个充满活力的开源社区。QGIS是一个使用C++语言开发的软件,其二次开发难度较大,且必要经历复杂的编译、源码理解,必要较高的门槛。
值得光荣的是,QGIS支持python语言进行二次开发, python作为一个较易上手的胶水语言,在GIS社区较为活跃,比方:GDAL、Shapely、Fiona、RTree、pyproj、GeoPandas、rasterio、GeoDjango等开源框架都可以在python上使用,python语言是一个特别适合GIS领域的语言,更不用说现在火热的机器学习、深度学习都与python密切相干。QGIS的提供的PYQGIS的接口与C++ QGIS的接口根本保持同等,学习PyQGIS也能根本熟悉c++的QGIS,方便后续继续进行深入研究,作为想要入门QGIS二次开发的人员来说再为合适不外了。
本系列的教程将会从二次开发情况设置、pycharm设置、pyqgis语法、qtDesigner使用教程、插件设计等方面,联合笔者在项目中的实践逐一展开叙述,希望最后,能在全部的系列教程结束后,让跟着系列做的读者都可以开发出一个属于自己的GIS界面。
界面预览
开发情况准备
安装PyQGIS
下载PyQGIS
大家可以在
Index of /downloads (qgis.org)
中找到自己的开发情况,笔者选择了 windows 下的 QGIS 3.30.0,点击msi进行安装。目录结构如下:
.
├── apps
├── bin
├── doc
├── etc
├── lib
├── share
├── var
├── main.spec
├── OSGeo4W.bat
├── OSGeo4W.ico
└── start_up.bat
复制代码
验证安装
在 Win 中搜索 QGIS,或者找到bin目录下的qgis-bin.exe打开 QGIS 桌面软件,输入Ctrl + Alt + P,打开Python控制台,我们尝试输入一下代码:
from qgis.core import QgsRasterLayer
复制代码
若没有提示报错,说明我们的安装乐成了。
PyCharm情况设置
新建项目pyqgis-se,在System Interpreter中选择 QGIS 安装目录下的bin\python-qgis.bat
结果如下:
情况选择好之后,创建项目
Hello QGIS
在根目录创建入口文件main.py,写入如下代码:
if __name__ == '__main__':
# 第二个参数为是否启用 GUI
qgs = QgsApplication([], False)
# 初始化 QGIS
qgs.initQgis()
print(QgsApplication.prefixPath())
print('Hello Qgis!')
复制代码
运行后,控制台输出如下:
D:/PROGRA~2/QGIS33~1.0/apps/qgis
Hello Qgis!
复制代码
正式开发
这部分内容过多,请移步:
swcode - PyQGIS二次开发指南
参考文章
yoyi - PyQGIS二次开发教程(一):准备工作
yoyi - PyQGIS二次开发教程(二):加载影像与矢量:准备工作
yoyi - PyQGIS二次开发教程(六):状态栏与属性表实现
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宁睿
论坛元老
这个人很懒什么都没写!
楼主热帖
java前置学习
【RocketMQ】消息的存储
iOS Widget
简单的用Python对手机号进行加密 ...
【PostgreSQL】PostgreSQL重建与主库不 ...
k8s v-1.20版本部署详细过程[实测可用 ...
基于单片机的压力测控仿真设计(#0024) ...
❤️肝下25万字的《决战Linux到精通》 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
离线数仓建设,企业大数据的业务驱动与 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
运维.售后
快速回复
返回顶部
返回列表