GIS 数据制图
我已经看过一些 Linux 上可用的 GIS 应用程序。像 GRASS 和 qgis 这样的程序提供了一整套 GIS 工具。但有时,这确实有点杀鸡用牛刀了。您可能只是想在地理上显示一些数据并创建地图。对于这些情况,可以使用 Thuban,一个交互式地理数据查看器。
大多数发行版应该在其软件包管理系统中都有可用的软件包。如果没有,您可以随时下载源代码并从头开始构建它。它确实依赖于 Python 以及其他几个库,因此您需要进行一些依赖关系处理。甚至 Windows 和 Mac OS X 也有二进制下载,因此您可以将您的非 Linux 朋友指向它们。
如果您还没有自己的数据,可以在网上找到公共领域的 GIS 数据源。这里有两个:http://www.naturalearthdata.com/features 和 http://wiki.openstreetmap.org/wiki/Shapefiles。这些网站上提供的文件将帮助您开始使用 SHP 文件,这些文件至少包含世界大部分地区的基本要素。
Thuban 不如功能齐全的 GIS 软件那么灵活,也无法处理非常多的数据文件格式。您可以使用 SHP 文件、DBF 数据库文件和各种图像文件格式。在本文的屏幕截图中,我只是抓取了网上提供的几个数据文件。
当您启动 Thuban 时,您会得到一个完全空白的界面(图 1)。第一步是启动一个新的会话,您可以通过选择菜单项“文件→新建会话”来完成(屏幕上不会有太多变化)。为了开始构建地图,您需要添加可以操作的图层。我首先选择菜单项“地图→添加图层”,并添加一个 SHP 文件,为我提供家乡新不伦瑞克省的基本地理属性(图 2)。这包括几个不同的地理项目,例如水域、河岸和公园。默认显示还不是很吸引人(图 3)。

图 1. 启动 Thuban 会得到一个空白的界面。

图 2. 添加新图层会打开一个文件选择对话框,您可以在其中选择 SHP 文件。

图 3. 默认情况下,Thuban 仅使用单一符号颜色显示所有数据。
您可以通过双击图例窗格列表中图层内的图层,或右键单击感兴趣的图层并选择“属性”来编辑图层的显示方式。这将弹出一个新窗口(图 4)。在本例中,我选择了分类窗格中的“类型”字段。此时最简单的选择是单击“生成类”按钮。“生成分类”窗口将弹出,您可以在其中单击“从表格检索”按钮以获取可能值的列表。我接受了颜色的默认灰度映射,在图层属性中给出了四个新条目。但这仍然不是很吸引人。选择每个新属性,您可以编辑符号并更改每种类型的颜色(图 5)。如果您想预览一下效果,可以单击“尝试”按钮。如果看起来不太正确,您可以随时单击“恢复”按钮以撤消更改并尝试其他操作。

图 4. 每个图层都有一个属性窗口,您可以在其中控制数据的显示方式。

图 5. 使用“生成类”按钮是快速入门的快捷方式。
虽然每张地图都从一个图层开始,但很少有一个图层足以显示您可能想要显示的所有细节。在本例中,我的地图上没有任何道路。但是,有一个单独的 SHP 文件包含此信息。因此,我单击菜单项“地图→添加图层”并添加了文件 roads.shp。打开属性对话框显示,此特定的 SHP 文件有几个不同的属性可以操作。现在,我选择了四种不同的道路类型,并用四种不同的颜色突出显示它们。对于除我选择的四种类型之外的任何道路类型,仍然有默认颜色。要使它们在地图上消失,您可以选择默认属性并将其设为透明。然后,只会显示选定的四种道路类型。现在地图开始看起来更有趣了,我需要开始担心图层的顺序。
Thuban 将按照图例列表中的顺序绘制图层,从底部开始向上绘制。您可以通过选择特定图层,然后使用图例窗格顶部的按钮来向上或向下移动该图层。
您可以使用的另一种图层类型是图像图层。显然,图像需要以某种方式进行地理配准。Thuban 支持 geoTIFF 文件格式。如果您将图像放置在图层列表的底部,则可以使用 SHP 文件中的数据在其之上进行绘制。
为了操作地图本身,Thuban 使用了一种模式系统。要放大,您需要选择缩放按钮。然后,您可以使用单击并拖动来选择要放大的区域,或者只需单击地图上的某个位置以重新居中并放大。放大后,您可以使用平移工具在地图上移动视图窗口以突出显示不同的区域。有一些按钮可以将您缩放到特定比例,以便整个地图都可见。这总是会将您带回到默认地图视图。
有两个工具允许您处理 SHP 文件中的各个元素。第一个是信息工具,它会弹出您选择的任何元素的详细信息窗口。第二个是标签工具。当您选择一个元素时,会弹出一个对话框窗口,允许您选择要显示为标签的属性之一。
一旦您对地图感到满意,您可能想要保存它以供以后使用。由于 Thuban 使用会话,因此您在生成地图中的所有工作都将作为 Thuban 中的会话保存,只要您记得通过单击菜单项“文件→保存会话”来保存它。
但是,如果您想在 Thuban 之外使用地图,这并没有多大帮助。可以使用菜单项“扩展→写入 SVG 地图”将地图导出为 SVG 文件。然而,这不是最有效的可用输出。我这里简单的例子对于一张包含两个图层的地图来说就膨胀到了 50MB 以上。
另一个选项是打印您的地图。虽然您可以打印到实际纸张以获得硬拷贝,但您也可以使用通用 PostScript 打印机打印到文件。这将生成一个更易于管理的 PostScript 文件。您还可以相对容易地将此 PostScript 文件转换为其他格式。因此,要获得地图的 PDF,您可以打印到 PostScript 文件,然后使用 ps2pdf 实用程序将其转换为 PDF。现在您有了一张可以与朋友和家人分享的地图。