QGIS二次开发 qgis3二次开发



文章插图
QGIS二次开发 qgis3二次开发

文章插图
大家看到这个标题,应该会疑惑吧,QGIS是什么呢? 对,它是一个GIS系统 。
那什么是GIS系统
地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为“地学信息系统” 。它是一种特定的十分重要的空间信息系统 。它是在计算机硬、软件系统支持下,对整个或部分地球表层、空中和地下空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统 。
地理信息系统(GIS,Geographic Information System)是一门综合性学科,结合地理学与地图学以及遥感和计算机科学,已经广泛地应用在不同的领域,是用于输入、存储、查询、分析和显示地理数据的计算机系统,随着GIS的发展,也有称GIS为“地理信息科学”(Geographic Information Science),近年来,也有称GIS为”地理信息服务”(Geographic Information service) 。
简单地说,GIS是把空间图形化,数据化,从而直观地进行空间计算、运算、分析、呈现等的系统,比如我们现在在线地图(高德、百度)、比较专业的有国外Mapino、Arcgis、国内的MapGIS、 Super MapGIS、GISVRMap等都算是GIS系统,应用相当地广泛 。
【QGIS二次开发 qgis3二次开发】那为什么要使用QGIS
以上介绍了 GIS系统的概念,简单分类,那为什么要使用 QGIS?
笔者是在通信行业内,通信行业移动网规划,早期用的比较多的是Mapinfo,这是国外的一款非常优秀的软件,支持二次插件开发,做网络优化的人,都在这个系统的基础上,开发了很多使用方便插件,可以说,做移动网优化的人,基本上离不开这个系统,但是,有个问题,这个软件太贵,基本上个人是买不起的,如果不买势必会有问题,所以,急需要找一个替代品 。
Google Earth
后来,大家用Google Earth,这是一个卫星三维的地理信息系统,不但可以看到地形地貌以及高程的相关数据,而且还支持在上面直接标记,生成KML脚本加载,极大地方便了网络优化人员的规划优化,当时就有流行一句话,Google Earth在手,可以走遍全世界 。虽然Google Eeath有很好的呈现效果,但是还是有些问题,就是这个软件只是可以呈现,辅助规划,但是对于更专业的事,比如空间分析等,就没有这个功能了 。
所以呢,对于平时移动优化过程中,要分析很多空间信息要素的关系,功能就不足了,仍然离不开Mapinfo,那就找不到一个可以替代吗?不,QGIS就可以基本满足我们的需求 。
QGIS
看看QGIS的介绍
QGIS(原称Quantum GIS)是一个用户界面友好的开源桌面端软件,支持数据的可视化、管理、编辑、分析以及印刷地图的制作,并支持多种矢量、栅格与数据库格式及功能 。
QGIS可运行在Linux、Unix、Mac OSX和Windows等平台之上 。QGIS是基于跨平台的图形工具Qt软件包、使用C++开发的跨平台开源版桌面地理信息系统 。
QGIS的目标是成为一个使用简单的GIS,提供了常见的功能 。QGIS是开源GIS的集大成者,整合了GRASS、SAGA GIS等多个开源桌面软件工具 。
QGIS使用GNU(General Public License)授权,属于Open Source geospatial Foundation(OSGeo)的官方计划 。在GNU这个授权下,开发者可以自行检阅与调整程序代码,并保障让所有使用者可以免费且自由地修改程序 。
QGIS是一群志愿者所开发的项目,欢迎全球使用者或开发者将程序代码的缺陷、修复、报告以及提供文件等进行提交贡献 。它是由热心的使用者和开发社群所维护的 。它提供了交互式的邮件列表,以及通过网络管道传达给其他用户与开发人员帮忙与建议 。
QGIS的功能特点支持多种GIS数据文件格式,通过GDAL/OGR(以后介绍)扩展可以支持多达几十种数据格式 。支持PostGIS数据库 。支持从WMS、WFS服务器中获取数据 。集成了GRASS的部分功能 。支持对GIS数据的基本操作,如属性的编辑、修改等 。支持创建地图 。通过插件的形式支持功能的扩展
通过如上的介绍,我们可以知道,一是QGIS是开源的,没有版权的问题,二是QGIS集成了很多开源空间分析库,应对日常的空间关系分析,完全是够用了,三是支持插件扩展,而且这个插件可以用Python开发,是不是很惊喜 。
使用一段时间后,QGIS功能很强大,如果熟练操作后,对我们的工作很有帮助,可以提高我们的效率,但国内这个软件学习资料不多,后期,我将总结一下使用技巧,分享给大家 。