QGIS系列教程

 Q GIS系列教程
作者:广东省东莞市长安中学  文合平

一 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则缺省地
使用了项目投影,显示效果为:

    显然,这个投影方式不同于我们国家地图的常见投影方式,因此,其实际显示效果也就
不同于我们经常看到的中国地图了。
小比例尺中国地图在我们一般使用的是Albers等积投影。而投影的具体参数是:
    中央经线105
             标准纬线是27和45  
投影在QGIS中是采用proj4的投影参数定义方式的,就可以这样写:
    +proj=aea +lat_1=27n +lat_2=45n +lon_0=105e +x_0=0 +y_0=0 +ellps=clrk66

具体操作步骤是:点击QGIS的设置:自定义投影菜单,在弹出的对话框中自定义中:
名称可以随便写,比如China Albers,参数就采用上面的参数就可以了。再在菜单中选择
“设置”!“项目属性”!“投影”,勾选“启用动态投影”,就可以了,新的投影显示效
果如下图:

     
(七) 插件的使用
    QGIS通过插件的形式对软件的功能进行扩展,在QGIS的主菜单里面就有“插件”一项
,其子菜单的第一项是“插件管理器”,通过插件管理器用户可以自由加载和卸载软件的插
件。当前最新的0.8版本一共有九个核心插件,下图为通过插件管理器加载这九个核心插件
后的菜单显示。

    九个插件中,如“Add WFS Layer”的作用是增加WFS图层,也许以后就融入到软件本
身中去了;Grass插件是增加了对grass的支持---这是0.8版本的一个重要的新功能,我
们在后面的篇章专门介绍Grass,下面介绍其中三个插件。

7.1 “分割的文本”插件
    该插件的功能是将由特定的分割符号分割开的文本文件数据导入到QGIS的图层之中。
这个文本文件通常第一行说明文件的格式,之后就是相应的数据。
    比如有一个全国的所有省会的 经纬度数据的文本文件,该文件的前面几行是这样的:
          name,x,y
          北京,116.4,39.9
          上海,121.29,31.14  
          天津,117.12,39.02  
          重庆,106.33,29.35  
          哈尔滨,126.36,45.44  
          长春,125.19,43.54  
          沈阳,123.25,41.48  
    导入这些数据进入QGIS的时候,需要在先说明分割符号为“,”,然后标明该文件的名
称,以及在图层中的经纬度(即所谓的X字段和Y字段)。
    具体的如下图所示:
    设置好上述参数之后,点击“添加图层”,在QGIS的地图绘制区和图层区域就会相应
地增加一个矢量图层。

7.2 “spit”插件
    Spit插件是一个支持将Shape文件导入到PostGIS数据库的图形工具,其界面如下图
所示。使用spit插件主要要设置好两方面的参数,一是PostGIS的连接参数的设置,其具
体设置过程与前面的“增加PostGIS”图层是一致的;二是设置好需要转换的Shape文件名
称和路径位置。
  

     



7.3 “GPS”插件
    GPS目前的使用越来越普及和广泛,GPS 插件是使QGIS能够使用GPS数据的一个功能扩
展。当我们选择“GPS”菜单项的时候,会弹出如下的对话框。
该对话框上有四个标签,第一
个“加载GPX文件”是见GPS产生
的GPX文件读入到QGIS软件并产
生一个相应的图层。当前的GPS
种类繁多,产生的数据文件的格
式也很多,相互之间并不统一,
第二个标签“导入其他的文件”
就是使得QGIS能够读入其他格式
的GPS数据文件。使用的前提是
系统中必须安装了一个著名的GPS
文件格式转换软件GPSBabel,并
且QGIS能够调用该软件。第三个
标签和第四个标签使得QGIS软件
和GPS之间能够进行数据交换。

你可能感兴趣的:(postgresql,数据库,服务器,图形,扩展,工具)