QGIS

来自Wiki.Citydatum
Reiziuh讨论 | 贡献2018年7月14日 (六) 20:01的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
TODO
提示:该页面尚需进一步完善,欢迎加入我们


QGIS标识

QGIS(原称Quantum GIS)是一款跨平台、免费、开源的地理信息系统软件,可查看、编辑和分析地理数据,可在Windows、Mac OS X、Linux、Andriod系统平台上运行。

概述

发展历程

开发语言

QGIS基于跨平台的Qt图形工具软件包,采用C++语言开发。除此Qt外,QGIS还需要GEOS与SQLite软件包。GDALGRASS GISPostGISPostgreSQL软件包为建议安装,可使QGIS支持更多的数据格式。目前QGIS的开发较为活跃,当前(2017年)最新版本为2.18 版。QGIS源码采用 GNU General Public License协议对外发布。

应用

年份 案例 目标与成果 QGIS应用范畴
2017 克里米亚的历史地名索引名录[1] OpenOttoman是一个数字化学术合作平台,目标是推进奥斯曼历史研究,并使研究素材的获取更为公开、便捷。阶段成果包括Text、KML、Shape格式的数据库文件,QGIS项目文件等。[2] 导入SRTMGeoNames数据,制作地形底图;以Google Maps为底图,用QGIS绘制河流;整合多个数据源,创建HGC数据库等。
2017 乌干达社会发展部的入户调查[3] 目标是构建覆盖全部目标家庭的地理索引数据库, 以促进社会政策的实施推进;为构建更好的网络地图应用打下了良好的基础,可在常规人口数据之外,提供更多的社会数据(SIG MIDES,基于OpenLayers)。 为开展入户调查而使用QGIS确定非正式居民点的房屋分布;利用qgis2web创建交互地图,为此类调查结果提供交流提供平台。
2017 欧洲数字化议程实施中的千兆与入户光纤网络规划[4] 欧洲数字化议程(EDA)的目标之一是至2020年全部居民接入带宽达到30Mbps,且半数以上不低于100Mbps;为申请专项基金,波兰政府提交了详尽的申请资料,其中包括用QGIS创建的入户光纤规划概念地图。 GIS数据的读取与自动处理、网络优化算法的应用、千兆网络工程规则的应用;除QGIS基本功能模块外,还用到GRASS,QGIS 插件(包括OpenLayersQuickOSMScipy Point Clustering,及专门开发的WorkContextTracer),QGIS建模器,SpatialLite

上手

基本使用

分类 功能 概述 相关教程
基本操作 插件管理器 QGIS插件可实现更多实用功能,插件管理器列出了可用的内建插件和外部附加插件,并可实现开启/关闭插件,下载安装/卸载附加插件等功能。 使用附加元件
数据管理 QGIS浏览器 (QGIS Browser) 是QGIS标准安装包自带的独立应用程序,用于管理空间数据文档,其功能与 ArcGISArcCatalog 相似。 使用 QGIS 瀏覽器
坐标转换 可通过导出图层数据的时候指定新的坐标系来实现。 空間查詢
空间分析 近邻分析 提取距离某一地理要素最近的其他地理要素,QGIS距离矩阵(Distance Matrix)工具可完成这一任务,其结果可利用MMQGIS插件进行可视化。 近鄰分析
地图制作 热力图 通过QGIS内建的图层样式可快速生成热力图;也可以通过“热力图”插件进行更为精确的分析与制图。 製作熱區圖
地形可视化 QGIS具有许多处理地形(高程)资料的工具,可生成多种类型的专题图,如等高线图、阴影图(hillshade map)等。 地形資料的操作
地图发布 网络地图 qgis2web插件可将QGIS项目导出为支持 OpenLayersLeaflet 的网络地图,可支持图层、样式(包括分类和渐变样式规则)、扩展等QGIS项目设定,生成的网络地图不需要服务器端的软件支持。 使用 QGIS2Web 線上製圖最终效果
瓦片地图 QTiles插件可将QGIS项目导出栅格瓦片地图,可指定缩放级别、文件命名规则,也可将瓦片地图打包为不同的格式,满足各种应用要求。 用 QTiles 製作基底地圖

二次开发

基于SIP和PyQT4,QGIS支持多种形式的Python二次开发:

  • QGIS桌面软件或客户端启动脚本:编辑指定的.py文件,用于在QGIS启动时执行某些语句,可进行诸如清理系统变量(如sys.path)等准备工作;
  • QGIS桌面软件内嵌的Python控制台:QGIS已经为用户做好了导入PyQGIS模块等初始化工作,可在控制台里直接中执行Python语句,来操作画布、菜单、工具栏等;
  • 插件开发
  • 应用程序开发:通过导入PyQGIS的模块,如「qgis.core」和「qgis.gui」,可在其他Python程序中进行GIS数据处理;
  • QGIS服务器端开发:用PyQGIS可进行插件和独立程序的开发,通过插件开发,可实现修改现有服务(WMS、WFS等)、根据请求进行额外处理(如身份验证)甚至修改请求参数、修改响应结果(如给图片增加水印)、新建自定义服务、设置访问权限等灵活的功能;

学习材料

参考

参考资料

外部链接