20. QGIS

[sec:qgis]

QGIS 能够直接读取GRASS数据库,但需要有合适的插件。GRASS栅格数据在QGIS中通过已经提到的GDAL来连接。此外,所有OGR支持的矢量和GDAL支持的栅格都可以在QGIS中读取。因此,当前GRASS区域中的所有数据都可以在QGIS中显示和编辑。为了将所有GRASS相关的变量传给QGIS,需要在正在运行的GRASS会话中启动QGIS。

[H]

image [abb:qgis:sub:screen]

20.1. 处理矢量和栅格数据

QGIS的优点是可以显示任何常用格式的数据,因此栅格和矢量数据都能同等程度的显示。

像前面描述的那样,所有栅格格式(包括GRASS栅格数据)都能够通过GDAL来加载。大的卫星影像也能够流畅地、快速地显示。连续透明度也是一个很好的功能,它可以应用于每个栅格图层。因此,它可以显示叠置的栅格图层,并使每个图层都可见。

图层视图的右键菜单中包含了创建透明的控制条。

[H]

image1 [abb:qgis:sub:alpha]

QGIS也支持栅格数据金字塔的创建,这样就可以在不同的缩放级别快速地显示地图。QGIS会创建低分辨率的影像,并根据选择的缩放级别自动调用。

QGIS ;当前版本也提供了矢量数据的编辑功能(见[sec:editqgis])。

它也可以”动态(on-the-fly)”地改变投影。这意味着不同投影的数据可以在同一个投影下显示。

[H]

image2 [abb:qgis:sub:proj]

在图[abb:qgisproj]中您可以看到对话框中列出了可用的投影。如果需要的投影没有预先定义,那么您也可以定义自己的投影(见图[abb:qgisprojcustom])。

[H]

image3 [abb:qgis:sub:projcustom]

如果数据不包含任何投影信息,那么QGIS自动将视图设置为经纬度投影,使用WGS84椭球。

20.2. 分类和可视化

矢量数据可以根据定义的属性给出不同的显示效果。在图层视图的右键菜单中有一项”properties”,它的设置涉及到标题的类型,字段的分类和标签的显示。此外,还可以查看已有的元数据。

[H]

image4 [abb:qgis:sub:eigenschaften]

线宽、线的样式、填充图案以及标签都可以在这里设置。

20.3. 编辑

[sec:editqgis]

除了显示地理数据,QGIS也提供了矢量数据的编辑功能。使用GRASS插件,它们能够直接处理GRASS数据。此外,它还能够处理和创建新的Shapefile。

[H]

image5 [abb:qgis:sub:dig]

20.3.1. GRASS矢量数据

我们可以用GRASS插件来数字化。如图[abb:qgisdig]所示,编辑插件提供了一个方便的GUI来数字化矢量数据。GRASS模块的所有功能都支持。可以为新的矢量添加属性,也可以为已有的矢量添加属性。

QGIS发布于2002年5月,并且在不断的发展,因此某些功能可能还不完善。

不过QGIS已经提供了一些有趣的功能,如简单读取GPS设备,栅格地图配准。QGIS在GRASS涉及GUI开发的方面扮演了重要的角色,因此我们应该记住它。

表[tab:grasstools]中的功能是GRASS插件目前具有的数字化功能:

[h] [tab:grass:sub:tools]

|l|p11.2cm|

工具 & 作用 新的点 & 数字化新的点 新的线 & 数字化新的线 新的边界 & 数字化新的边界 新的质心 & 数字化新的质心 (用来标注表面) 移动节点 & 选择线上的节点,并将其放置在新的位置 新的节点 & 为已有的线增加新的节点 删除节点 & 删除已有的线上的节点 (需要额外的点击来确认选择) 移动线 & 选择已有的线,并将其放置在新的位置 分割线 & 将一条线一分为二 删除线 & 删除已有的线(需要额外的点击来确认选择) 编辑属性 & 编辑已有元素的属性(请注意:一个元素可以代表多个要素) 红色按钮 & 退出数字化模块

20.3.2. Shapefile

与上述的GRASS插件编辑Shapefile不同,由于数据格式的原因,无论点对象、线对象或多边形对象都能够在一个Shapefile中编辑,同时我们也可以创建新的Shapefile。对象的类型必须定义为点、线或多边形。这个功能可以在菜单”layer” -> “New vector layer”中找到。在下面的对话框中必须定义矢量的类型。在输入文件名以后就可以编辑Shapefile了。相应图层的快捷菜单中提供了两个按钮用来开始编辑和结束编辑。 如果一个Shapefile处于编辑模式,那么会有一个小的、蓝色的笔来标示它。

[H]

image6 [abb:qgis:sub:digishp]

Shapefile的编辑功能仅限于添加数字化。GRASS插件的丰富功能(见表[tab:grasstools])还有很多没在Shapefile上实现。

20.4. GRASS工具箱

自QGIS 以来,GRASS插件”GRASS Tools”包含了GRASS的功能。如果QGIS从GRASS shell中启动,那么就能够从QGIS中运行GRASS模块。这些模块只对GRASS数据起作用。我们可以很容易地修改菜单,添加新模块。

[H]

image7 [abb:qgis:sub:toolbox]

为了更加容易地实现更多GRASS命令,工具箱提供了一个XML接口。现在这些模块已经实现,如矢量分析的和栅格分析的。我们可以包括更多的GRASS模块,如果它们有命令行接口,并可以通过参数来控制。

实现GRASS模块不需要编程经验,所以根据个人的需求来修改十分得容易。更多的信息请参阅QGIS Wiki 。

20.5. 处理GPS数据

QGIS的GPS插件能够导入/导出GPS交换文件。

[H]

image8 [abb:qgis:sub:gps]

因此,QGIS可以读取GPS设备创建的轨迹,并将其作为一个图层。如果需要,还能将它保存为GRASS数据集。

20.6. 地理空间书签

在QGIS 中您可以放置地理空间书签,这样您只要点击书签就可以直接跳到相应的区域。

[H]

image9 [abb:qgis:sub:bookmarks]

这使得在大项目中缩放到某一特定区域变得十分容易。

20.7. 用QGIS创建模拟地图

[sec:qgis:sub:karten]

在第[printen]章中已经举出了一些可以创建模拟地图的自由软件。自,QGIS也有了一个创建简单地图布局的模块。

[H]

image10 [abb:qgis:sub:print]

这个”地图编辑器”通过工具栏上的打印机符号来启动,也可以从菜单中选择”File” -> “Print”来启动。

接着,打开一个空白页面,里面可以放置地图、图例、标题、比例尺等。

纸张大小可以自由选择,但预设大小是A4的。硬拷贝将以300dpi输出,当然输出的分辨率也可以选择。当前支持的输出格式是postscript、PNG和SVG。

无论如何,我们都期待着QGIS的发展,因为这些专业的开发人员正致力于他们的工作!请关注我们的主页,以获得最新的信息。