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