QGIS系列教程
作者:广东省东莞市长安中学 文合平
一 QGIS简介
QGIS是一个用户界面友好的桌面地理信息系统,可运行在Linux、Unix、Mac OSX和
Windows等平台之上。它的官方主页是:http://www.qgis.org/。
QGIS项目开始于2002年 5月,是基于跨平台的图形工具Qt软件包,采用C++ 语言开
发的一个GIS软件。目前的开发非常活跃,当前的最新版本是0.8版,版本名称为Titan。
QGIS软件的主要特点有:
1 支持多种GIS数据文件格式。目前支持的数据格式有:
栅格数据文件格式:
ArcInfo的ASCII Grid 和Binary Grid文件;
Grass的栅格文件(通过插件支持);
TIFF/GeoTIFF文件;
Erdas Image文件;
JPEG文件;
USGS SDTS DEM文件;
USGS Ascii DEM文件;
矢量数据文件格式:
ArcInfo的Coverage文件;
ESRI的shp文件;
Mapinfo的mid文件;
SDTS文件;
2 支持PostGIS数据库。
3 集成了Grass的部分功能。
4 支持对GIS数据的基本操作,如属性的编辑修改等。
5 支持创建地图。
6 通过插件的形式支持功能的扩展
QGIS适合的用户:
QGIS是一个还处于开发阶段的不成熟的GIS软件,也许还不适合于大规模、高标准的
生产环境,但是它具有的一些独特的特点和优势使QGIS适合于以下情况:
1 适合于对GIS初学者进行GIS基本原理教学。QGIS虽然还不是一个功能强大的GIS
软件系统,但是它已经具有一个GIS系统的基本功能,而且体积较小,运行速度较快,对机
器的配置要求不高,这些特点决定了QGIS适合面向初学者的GIS教学。
2 有志于自己编写GIS软件系统。
开源软件的特点决定这是开始自己练习编写GIS软件的最佳开始。
二 QGIS的安装
1 在windows系统下安装QGIS
安装非常简单,以下是安装之后的运行界面(图1)。
图1
2 在linux系统下安装QGIS
在ubuntu的当前版本0610(Edgy)中的官方安装源里面的QGIS是0.74版本,如果要使
用QGIS的最新的0.8版本,请使用http://download.qgis.org中列举的非官方安装源进行
安装。
在Ubuntu中,先修改/etc/apt/sources.list 源配置文件,然后使用:
$ sudo apt-get install qgis
就可以安装好最新版本的QGIS。
3 直接使用源码安装QGIS
熟悉Linux的好手都喜欢自己直接下载源码、自己编译安装,但作者不推荐一般用户自
己编译安装QGIS,因为QGIS的编译安装相当麻烦,最主要的麻烦在于自己编译安装QGIS
的源码之前,还需要编译安装多个QGIS的依赖软件和依赖库,包括:Proj4、GEOS、
PostgreSQL、PostGIS、SQLite3、GDAL/OGR、GRASS、gdal-GRASS-plugins和QT4,每个软
件都需要下载、编译和安装,比较麻烦而且容易出错,所以不推荐一般用户采用。
三 QGIS的使用
(一) QGIS 对文件的读取
图层是QGIS的一个基本概念,是指在同类型的地理对象集合,是QGIS软件对GIS数据
局进行操作的基本单位。图层数据来源广泛,既可以是GIS矢量数据文件,也可以是CAD图层
,甚至影像数据图层。
从图2可以看出,QGIS软件支持四种类型的GIS图层,分别是矢量数据图层、栅格数
据图层、PostGIS数据图层和WMS数据图层。
图2
1.1 建立矢量数据文件图层
选择QGIS软件的“图层”菜单(如上图2),我们可以看到QGIS可以支持四种类型的
图层,点击第一项“添加一个矢量图层”就可以在文件系统中选择打开矢量GIS文件了。
图三
通过随后展现的子菜单我们可以看到当前的QGIS 0.8版本支持打开五种类型的矢量数
据文件类型(如图3)。包括最常见的ESRI 的shape文件格式和Coverage文件、MapInfo
的mif文件格式和当前逐渐流行的GML文件格式等。
我们需要的矢量数据文件可以到网络上去查找,比如说国家基础地理信息中心制作的国
家基础地理数据网站(http://nfgis.nsdi.gov.cn/)就可以下载到许多官方正式的地理GIS
文件,一般都有Shp等通用的格式。
1.2 建立栅格数据文件图层。
同样,我们看选择“增加一个栅格图层”子菜单:
从图中可以看出,QGIS可以支持建立七种类型的栅格数据文件图层。
1.3 打开PostGIS图层
PostGIS是对象-关系
型数据库系统PostgreSQL
的一个扩展,允许数据库
存储GIS(地理信息系统)
对象,是目前最出名的开
源GIS数据库系统,关于
其使用,参阅我写的
< 当在QGIS菜单中选择 “添加PostGIS图层”的时 候,软件会弹出如右图4的 对话框,对话框上部的下拉 菜单中列举了你已经建立好 的PostGIS数据库连接。 图4 当点击“连接”按钮之后,QGIS会与相应的PostGIS服务器相连接---当然前提是相关 的所有配置,包括IP地址、用户名字、登陆密码、数据库名字以及相关的安全策略配置等 都正确,然后返回可用的数据表的名字。每个数据表可以作为一个矢量图层进行操作。 如果还没有建立好相关的PostGIS连接,那么我们就要自己建立新的PostGIS连接。点 击“新建”按钮之后,会弹出一个建立新的PostGIS连接的对话框如下图5。设置好相关的 PostGIS数据库的信息就可以连接了。 一个PostGIS图层相当于一个矢量图层,可以进行同样的操作。 图5 1.4 建立WMS数据文件图层 图6 QGIS还支持从WMS服务器中获取数据,增加数据图层。WMS和WFS是由开源GIS组织 OGC提出的两个关于网络GIS数据提供的协议。其中WMS协议提供了WMS的三个基 础性操作 协议(GetCapabilities, GetMap和GetFeatureInfo)的详细规范说明,这些协议共同构 成了利用WMS创建和叠加显示不同来源的远程异构地图服务的基础。WFS的全称是网络要素 服务接口规范,其提出目的是为了规范对OpenGIS简单要素的数据编辑操作,从而使得服务 器端和客户端能够在要素层面进行“通讯”。 WMS和WFS目前越来越多的得到应用,在Google可以通过查找WMS服务器列表来获得 相应的WMS服务器地址。 选择“增加一个WMS图层”后的对话框如上图6,同增加一个PostGIS图层比较相似, 图中是连接了一个位于加拿大的WMS服务器的状况,用户可以自己选择需要使用的数据表, 这些GIS数据有矢量的数据也有栅格数据。 如果没有已经建立的WMS连接,则需要点击“新建”按钮以建立一个新的WMS服务 连 接,随后弹出的对话框如图7所示。 这个WMS的连接的建立比较简单,一般只要输入一个自己取的名称和WMS服务器的URL 地址就可以了。 (二) 图层文件的属性 在QGIS中打开一个图层之后,我们对QGIS的缺省绘制的地图可能有不满意的地方,如 地图的图例符号的样式、颜色不满意,或者需要显示一些文字注记---这里叫做标签的,等 等,这就需要改变图层的属性了。 要改变图层的属性只需要在QGIS的左边的图层管理面版里面找到你想修改的图层,然 后用鼠标右键单击该图层,再选择“属性”就可以了。 如果要修改的是矢量图层的属性,那么这时会弹出如下图8的“图层属性”对话框来, 在这个对话框内有五个标签,分别是“符号化”、“常规”、“元数据”、“标签”和“命 令”。 图8显示的“符号化”标签的内容,这是对图层的图例进行设置的地方,你可以选择修 改图例的样式、大小、颜色等,使绘制出来的地图符合自己的审美观点。不过似乎当前版本 的QGIS还不支持用户定制图例样式。 “常规”标签主要是显示一些图层的常规定义,如图层名字、空间坐标系名字等,你也 可以在这里改变空间投影方式、创建空间索引等。 “元数据”标签会给出关于图层的一些基本性质的数据,比如说:图层文件的格式名 称、图层的要素类型能够和数量、图层的空间范围大小、图层的各个字段的数据类型等。 图8 图9 “标签”这里主要用于显示地图的文字注记---这里叫做标签,如上图9。为了在QGIS 绘制的地图中显示文字标记,首先需要勾选上方的“显示标签”,然后在后面的列表框中选 择需要显示的数据文件中的字段,最后再设置一下显示标签的文字格式就可以了。上面图 10就是选择显示省会标签后的效果。 “命令”标签主要用于在程序中调用一些其他应用程序。 如果是打开栅格图形文件的图层的属性的话,那么弹出的对话框如下图: 栅格图层的属性对话框和矢量图层的属性对话框有三个相同的标签,为“符号化”、 “普通”和“元数据”,当然里面饿具体内容有所区别。 (三)图层文件的基本操作 3.1 基本图形操作:放大、缩小等 作为地图的基本操作,也是几乎每个GIS 软件必备的操作,参阅QGIS的工具栏,几个 图标依次代表的操作为: A 移动地图 B 放大地图 C 缩小地图 D 将地图尽量放大到当前窗口 E F 显示当前的图层 G 回到上次的视图 H 刷新地图 (四) 地图的编辑 QGIS的地图编辑能力目前还不完善,在1.0版本发布之前,使用QGIS的图层编辑的时 候,要注意做好图层的备份工作。 QGIS的地图编辑功能包括两方面的编辑,一是编辑已经有的图层;一是创建新的图层 。 1 编辑已经有的图层 缺省的情况下,为数据安全起见,QGIS的图层是写保护的,或者说是只读的。要对图 层进行编辑,首先要保证GIS数据源是可写的---比如说,PostGIS的登陆用户具有数据库 的读写权限,并且相应的数据文件具有写操作的权限。在QGIS目前支持的数据图层中,能 够进行编辑的是矢量数据文件和PostGIS数据源。 与图层编辑相关的图标如下图: 所列图标的功能依次是: 开启图层编辑功能; 关闭图层编辑功能(同时保存所做的修改); 创建点; 创建线; 创建多边形; 增加节点; 删除节点; 移动节点; 删除所选择的图层元素; 编辑图层一般先点击“ ”图标, 或者在图层的属性列表上选择“允许编 辑”,图层中的节点就会出现标记符号, 然后开始进行相应的编辑了。 2 创建一个新的图层 目前只能创建shape文件,经过 如右图的简单设置之后,就可以开始 创建新的图层了,注意要开启编辑功 能。 (五) 查询操作 如果打开的是矢量图层的话,就可以进行空间查询与分析操作了。空间查询(spatial query) 是GIS最基本的功能之一,主要有两种 5.1 图形与属性的关联查询 在地图窗口中,选择任意一个区域或地物,都可以在属性列表窗口中显示该区域或地物 相应的属性信息;同样,在属性列表窗口中选择任意一行属性数据,在地图窗口中就会突出 显示对应的区域或地物图形。 上图是关联查询的例子。在QGIS软件中,打开中国行政区划文件,当在地图上选择青 海省时,GIS软件就显示出青海省的各种地理属性数据,如左图;当在地理属性数据表中选 择吉林省时,地图上的吉林省就会以突出的形式显示,如右图。 复合条件查询,也称SQL(structured query language,结构查询语言)查询,是GIS利 用属性信息查询满足多个特定条件的空间目标的查询方法。例如,可以在中国铁路GIS数据 文件中查询名字以“京”开头且长度超过500 千米的铁路线。 上图是复合条件查询的例子,上面的是中国铁路的GIS数据表;下面图是GIS软件中的 高级SQL查询工具界面。 5.2 空间分析是基于地理对象的位置和形态的空间数据分析技术,是GIS的核心功能, 也是GIS与其他信息管理系统的本质区别。QGIS目前只能通过扩展的Grass功能进行空间 分析的功能。以下是QGIS有两种重要的空间分析技术的例子。更多的例子请参阅Grass的 中文教程。 A 叠置分析(overlay analysis)是GIS中非常重要的一项空间分析功能,是在两个数据 集(图层)之间进行的一系列集合运算,可综合原来两种要素所具有的属性。例如,将某地区 的土地类型与某种作物的土壤适宜性叠置,可以得出该种作物在该地区的最佳种植区域。 上图的叠置分析是把中国的行政区划GIS数据文件和全球地震历史数据文件进行叠置, 可以得到我国历史时期上的大地震的地理分布地图。图中是选择放大我国北方地区的结果显 示。 B 缓冲区分析(buffering analysis)是根据指定的距离,在点、线或多边形实体周围自 动建立一定宽度的区域范围的分析方法。例如,考察一条供水线路为中心,设定缓冲半径为 500米,GIS即会创建一个距供水线路两侧各500米宽的缓冲区。再用新生成的缓冲边界与 城区图叠置,就可知道供水线路沿线500米内的房屋数量。 上图的缓冲区分析是对某湖泊做宽度为1千米的缓冲分析。图中蓝色部分为湖泊,绿色 部分为缓冲区 (六) 投影的操作 4.1 QGIS的投影功能概述 QGIS中目前已经集成了大约2700种投影定义,用户可以在载入GIS数据图层之后修改 投影方式。 4.2 使用不同的投影方式显示地图 这个很简单,只需要在菜单中选择“设置”“项目属性”“投影”,先勾选“启用 动态投影”,然后在下面的投影定义中选择需要的投影方式就可以了。 4.3 创建自己的投影方式 下图为使用缺省方式打开的中国地图,由于没有标明地图的投影方式,QGIS则缺省地 使用了项目投影,显示效果为: 显然,这个投影方式不同于我们国家地图的常见投影方式,因此,其实际显示效果也就 不同ÿ__UÿªøÐÿ{于 因篇幅问题不能全部显示,请点此查看更多更全内容