第六章 属性数据输入

本章中你将继续进行项目数据库建设. 你已经完成了空间数据的输入和修改, 建立好空间数据的拓扑关系. 在你进行分析之前, 你还需要额外的一些信息. 例如, 土地利用图中各多边形到底代表哪种土地利用类型. 因此, 你需要将属性信息添加到数据库中. 需要添加的数据包括每个多边形的土地利用类型代码, 每公顷单价, 这样你才能进行后面的分析.

前面你已经看到, 生成COVERAGE拓扑时也就生产了属性特征表. 这个表格存储了每个特征的标准属性. 每个地理特征在该表格中都有相对应的一个记录. 要为每个特征添加额外的属性, 你将:

第一步: 生产新的INFO表格 你必需指定表格的特定参数来存储属性信息, 包括:

在INFO表格总将用到的参数有:

F与N的区别: F型可以以同样的空间保存更大的数字. 比如, 45.3无论用N还是F都需要4位, 而4423378.33用N需要10位, 用F只需要4位. B与I的区别同样是这样.

数字型的信息可以以字符型保存. 但是, 若有需要进行算术操作, 则还是应该以数字型保存, 比如邮政编码.

设定相关联项:在进行数据表合并或关联时需要指定关联项. 通常使用USER-ID来作为关联项.例如, 我们将要使用的COVERAGE是LANDAT05, 那么关联项将是LANDAT05-ID. 而且, 你需要将它们定义得完全相同(项目类型B, 宽度4, 输出宽度5).

ARC: INFO

ENTER USER NAME> ARC

ENTER COMMAND> DEFINE  LANDUSE.DAT

1

ITEM NAME> LANDAT05-ID

ITEM WIDTH> 4

ITEM OUTPUT WIDTH> 5

ITEM TYPE> B

5

ITEN NAME> LU-CODE

ITEM WIDTH> 3

ITEM OUTPUT WIDTH> 3

ITEM TYPE> I

8

ITEM NAME> <cr>

ENTER COMMAND>DIR //列出当前空间下的所有INFO文件.

ENTER COMMAND>ITEMS //列出当前表格的项定义信息

如果你在定义表格时输入有错误, 你将退出定义过程, 然后删除表格, 再重新定义. 当然, 也有办法修改的.

ENTER COMMAND> ERASE  LANDUSE.DAT

THIS COMMAND WILL ERASE THE SPECIFIED DF

DO YOU WANT TO CONTINUE (Y OR N) Y

ENTER COMMAND> Q  STOP

ARC:

利用INFO来输入属性信息

定义好数据表格后, 接下来就应该将数据输入其中. ADD命令允许你将属性信息添加到INFO表格中去.

表格内容:

LANDAT05-ID LU-CODE
59 400
60 200
61 400
62 200
63 200
64 300
65 200
66 300
67 300
68 200
69 300
70 200
71 300
72 300
73 300
74 300
75 200
76 300
77 300
LU-CODER USE_TYPE COST/HA
100 URBAN 60000
200 AGRICULTURE 15000
300 BRUSH LAND 10000
400 FOREST LAND 10000
500 WATER
600 WETLAND 8000
700 BARREN 8000

假设你已经进入INFO模块:

ENTER COMMAND> SELECT  LANDUSE.DAT //必需先选择所要进行编辑的表格

ENTER COMMAND> ADD

1

LANDAT05-ID> 59

LU-CODE> 400

2

LANDAT05-ID> 60

LU-CODE> 200

3

......

20

LANDAT05-ID> <CR>

19 RECORD(S) ADDED

ENTER COMMAND> LIST

检查你所输入的数据是否正确. 如果有需要修改的地方:

ENTER COMMAND> UPDATE

RECNO?> 1

1

LANDAT05-ID>59

LU-CODE> 400

?>

要修改, 在?>提示下输入:

?> LU-CODE = 400 //注意, 等号两边都有空格

?> <CR>

RECNO?> <CR>

ENTER COMMAND> LIST

ENTER COMMAND> Q  STOP

属性数据与空间数据的连接

JOINITEM操作将合并两个有相同关联项的表格. 项值相同的记录其属性将合并起来生产新的表格.

ARC: COPY LANDBD04 LANDAT05

ARC: USAGE JOINITEM

USAGE: JOINITEM <IN_INFO_FILE> <JOIN_INFO_FILE> <OUT_INFO_FILE> <RELATE_ITEM> < START_ITEM> {LINEAR | ORDERED | LINK}

其中, <START_ITEM>表示在<IN_INFO_FILE>中的某一项, 所有新的项目将添加到它的右边. 而FAT表格中, 其固有的基本特征项之间是不允许插入其它项的, 所以必需将新的项目添加到USER-ID右边的项目以后.

ARC: JOINITEM  LANDAT05.PAT  LANDUSE.DAT  LAND05AT.PAT LANDAT05-ID  LANDAT05-ID

ARC: LIST  LANDAT05.PAT

注意列出的表格中外多边形对应得LU-CODE为0, 因为LANDUSE.DAT中没有相对应的记录.

图形化地显示结果

ARC: ARCPLOT

ARCPLOT: &STATION 9999

ARCPLOT: MAPEXTENT LANDAT05

ARCPLOT: POLYGONS LANDAT05 //绘制每个多边形边界

ARCPLOT: POLYGONTEXT LANDAT05 LU-CODE //用LU-CODE项的值来标注每个多边形

ARCPLOT: QUIT

关联与连接

我们刚才执行的连接操作是一对一的关系.你也可以完成多对一的连接或关联操作. 如前面我们定义的包含土地利用名称和价格的表格, 它与LANDAT05.PAT之间的关联必然是一对多的关系. 看下面的操作:

ARC: INFO

ENTER USER NAME>ARC

ENTER COMMAND> LIST COST.DAT //前面我们定义的表格之一, 如果还没有生成, 现在定义它并输入数据.

ENTER COMMAND> Q STOP

ARC: JOINITEM LANDAT05.PAT COST.DAT LANDAT05.PAT LU-CODE LU-CODE

ARC: LIST LANDAT05.PAT

这样所有的信息全部存储在同一张表格中了. 另外, 为了节约存储空间, 增加更多的灵活性, 我们通常是单独存储这些表格, 使用时再用RELATE命令关联起来.

添加其它格式的数字化属性文件

ARC: &POPUP  STREAMS.TAB

200,2 //主干流代号为1, 支流代号为2

201,2

202,2

203,1

......

ARC: INFO

ENTER USER NAME> ARC

ENTER COMMAND> DEFINE  STREAMS.DAT

(STRMAT03-ID 4 5 B

STRMCODE 1 1 I)

ENTER COMMAND> ITEMS

ENTER COMMAND> ADD  FROM  ..\STEAMS.TAB

106 RECORD(S) ADDED

ENTER COMMAND> LIST

ENTER COMMAND> Q  STOP

ARC:COPY  STRMBD02  STRMAT03

ARC: JOINITEM  STRMAT03.AAT  STREAMS.DAT  STRMAT03.AAT  STRMAT03-ID  STRMAT03-ID

Joining STRMAT03.AAT and STREAMS.DAT to create STRMAT03.AAT

ARC: ARCPLOT

ARCPLOT: &STATION  9999

ARCPLOT: MAPEXTENT  STRMAT03

ARCPLOT: ARCS  STRMAT03

ARCPLOT: CLEAR

ARCPLOT: ARCLINES  STRMAT03  STRM-CODE 用某一指定项的值作为线型代号来绘制弧段

ARCPLOT: QUIT

ARC:

本章结束