在进行空间数据操作的过程中,操作属性数据是难免的也是必须的。特别是在进行矢量化时不可能将所有属性一次全部录入到数据库中,仅仅需要将地类编码等关键信息录入即可,这样可以节省很多宝贵的时间。那么剩余的属性如何处理呢?在矢量化结束后再一一录入吗?当然不是!剩余的属性可以通过属性关联的方式一次性导入到数据库中。本文以土壤侵蚀强度数据为例,讲述在MapInfo中如何进行属性关联。
比如说我现在有某地某时间的土壤侵蚀强度数据stls05,在数据库中,只有Area、perimeter、STLS05_ID和STLS05_四个字段(如图一所示),分别存储了土壤侵蚀强度图的图斑面积、图斑周长、土壤侵蚀强度代码和记录唯一标识码,其中STLS05_ID中,有7类编码,分别是11、12、13、14、15、16和50,分别代表着微度侵蚀、轻度侵蚀、中度侵蚀、强烈侵蚀、极强烈侵蚀、剧烈侵蚀和工矿侵蚀其中侵蚀类型,我今天要做的就是将这7种侵蚀的名称录入到数据库中。

(1)在Excel中,制作一个如下的表(如图二所示),其中包含两个字段,一个是stls05_id,另一个是qs_name,即土壤侵蚀强度名称。注意,在制作表的过程中,一定要添加一个表头,用来存储字段名称。如果是使用Office 2003以上的版本(2007或2010),一定要将Excel表格另存为2003格式,即*.xls格式的,否则MapInfo 7.0无法识别。当然也可以使用Access数据库,在制作完成后将表另存为dBase数据库,即*.dbf格式。

(2)启动MapInfo,将需要进行属性关联的数据打开。
(3)在MapInfo的文件菜单中选择打开,或者点击工具条上的打开按钮,弹出打开对话框,在文件类型中选择Microsoft Excel(*.xls),然后找到刚才制作的表格,选中并点击打开按钮,如图三所示。

(4)打开Excel表格后,会弹出一个Excel信息对话框,在这里可以设置工作表中需要访问的部分。在命名范围中选择其它…,在弹出的其它范围中设置数据的范围,格式为左上角单元格编号和右下角编号,不包含字段名称的一行。选中以选中范围的上一行作为列标题[U],点击确定后,即可看到数据已经在MapInfo中被打开。

(5)在MapInfo菜单中依次点击:表→维护→表结构,在stls05的数据库中新建一个字段,命名为qs_name,字段类型为字符型,长度为10.
(6)在MapInfo菜单中依次点击:表→更新列,在更新列对话框中进行如下的设置。更新列设置完成后,点击确定按钮,这是可以看到qs_name数据已经被关联到STLS05的属性表中了。
