QGIS是目前风头最劲的GIS开源软件,即开即用的插件,又是它的一大亮点,本文将详细讲述,如何使用python,从0到1构建一个QGIS插件。
目标:
新建插件geocode_tool,实现将txt文本中地址数据(例如:北京市东城区王府井大街269号王府中环),通过调用腾讯地理编码服务,解析成经纬度,并写入到shp文件,加载到QGIS窗口中。
插件对话框:
插件实现效果:
本文最后附有全部代码。
一、环境配置
开发环境采用QGIS自带的Python解释器,插件构建使用QGIS的插件Plugin Builder和Plugin Reloader,开发工具使用PyCharm。
接下来详细介绍如何对开发环境进行配置。
1.安装QGIS
本步骤不赘述,去官网下载安装包安装即可。
https://qgis.org/en/site/
2.安装插件
打开QGIS,工具栏,插件——管理并安装插件。
搜索并安装Plugin Builder和Plugin Reloader。
Plugin Builder是用来生成QGIS插件Python工程模板的工具。
Plugin Reloader是用来在QGIS中重新加载插件,对插件进行调试的工具。
3.PyCharm配置QGIS Python
3-1.查看QGIS Python解释器路径
打开QGIS,点击Python 控制台图标,打开QGIS中的Python 控制台。
输入:
QStandardPaths.standardLocations(QStandardPaths.AppDataLocation)
输出是:
['C:/Users/../AppData/Roaming/QGIS/QGIS3', 'C:/ProgramData/QGIS/QGIS3', 'D:/Program Files/QGIS 3.4/bin', 'D:/Program Files/QGIS 3.4/bin/data', 'D:/Program Files/QGIS 3.4/bin/data/QGIS/QGIS3']
查看QGIS的系统路径,QGIS自带的Python解释器就在这里面。
我的Python解释器在:'D:/Program Files/QGIS 3.4/bin'路径下。
3-2.PyCharm配置QGIS Python解释器
打开PyCharm,File——Settings——Project:工程名——Python Interpreter——Add。
Add Python Interpreter中,选择Virtualenv Environment中的Existing environment,Interpreter选择QGIS 3.4\bin下的python-qgis-ltr.bat文件,这个批处理文件把QGIS的Python环境都配置好了,只要把它设置为解释器,就不需要再配置别的环境变量了。
点击ok即可。
可以看到,GDAL和shapely、PyQt5都是现成的。
如果是IOS或LINUX环境的电脑,没有.bat文件,可以将解释器设置为python3文件。
3-3.QGIS Python编辑器
QGIS的Python控制台也带有编辑器,只是代码补全能力没有那么强大。
不过有时候,IOS或linux系统的电脑,虽然PyCharm配置了QGIS的python解释器,但跑不起来代码,这时候就可以把代码复制到QGIS的编辑器中执行。
3-4.测试代码
用一段代码测试环境有没有配置好。
try:
from osgeo import gdal
from osgeo import ogr
from osgeo import osr
except ImportError:
import gdal
import ogr
import osr
运行不报错,就是配置好了。
4.Qt Creater安装
QGIS是界面交互软件,它的插件也是界面交互的,所以需要安装Qt Creater来进行过界面修改。
下载链接:https://www.qt.io/offline-installers,根据系统版本下载对应的安装包即可。
安装程序需要一个Qt账号,在注册页面,https://login.qt.io/login,用邮箱注册个账号,再登录邮箱,激活账号即可。
打开下载好的安装程序,Login中填写上刚才注册的账号密码即可,一直next,安装。
安装好的Qt Creater如下,适用于界面排版布局。