连接 Info 表工作原理

此主题仅适用于 ArcInfo。

连接 Info 表由两个 INFO 数据文件组成。为创建“输出 Info 表”,两个文件的项定义和值均被合并(请参阅下面的“示例”一节)。

“输出 Info 表”中的项集的形成方式如下:将“连接 Info 表”中的项定义插入到“输入 Info 表”中指定的“起始项”后面。仅合并不在“输入 Info 表”中的那些“连接 Info 表”项。当两个文件中出现相同的项名称时,“输入 Info 表”的定义和值优先。

项目值通过 INFO 关联逻辑进行合并。当“关联项”的值相等时,“连接 Info 表”中的记录会与“输入 Info 表”中的各条记录匹配。两条记录中的项目值随后被复制到“输出 Info 表”。

“关联类型”指定了用于匹配记录的方法。LINEAR 和 ORDERED 选项中的匹配过程可能需要搜索整个“连接 Info 表”,才会获得一条满足以下条件的记录:该记录的“关联项”值与给定“输入 Info 表”记录中的“关联项”值相同。对于“输入 Info 表”的每条记录,系统都会对“连接 Info 表”执行一次搜索。指定 LINEAR 时会使用顺序搜索法,而二分搜索法则用于 ORDERED 选项。如果“连接 Info 表”很大,则使用 ORDERED 选项通常会执行较快。“连接 Info 表”必须按“关联项”升序排序方可使用 ORDERED 选项。

使用 LINK 选项时,只有“输入 Info 表”必须包含“关联项”。“输入 Info 表”的每条记录中的“关联项”都会连接到要合并的“连接 Info 表”中的记录号。由于没有对匹配“关联项”值进行搜索,因此执行速度较快。

大多数情况下,“输入 Info 表”和“连接 Info 表”都应进行排列,以便任一文件中的每条记录均可以与另一个文件中的一条(并且是唯一的一条)记录相匹配。如果这种一对一的对应关系不存在,则会出现以下某种情况:

示例

用法:JOINITEM <in_info_table> <join_info_table> <out_info_table> <relate_item> {start_item} {LINEAR | ORDERED | LINK}

JOINITEM 之前的 EXCOV.PAT:

RECNO 	AREA		         PERIMETER		  EXCOV#	  EXCOV-ID 1	     00028176.00*	  40,005.500  	1       	0 2	     8881,878.000	  13,950.113  	2       	2 3	     8917,384.000  	20,539.754  	3       	1 4	     33996880.000  	32,816.500  	4       	3 5	     15326114.000  	16,342.805  	5       	5 6	     4163,639.000  	8,161.073	  	6       	4 7	     20812064.000  	20,337.066  	7	       6 8     	7930,208.000  	11,073.945  	8	       7

EXCOV.CODE:

RECNO 	EXCOV-ID	  CLASS	  SUIT	  SOIL 1     	2         	A	      3	     EMS 2     	1         	B	      0	     DH 3     	3         	A	      7	     SDL 4     	5         	B      	2	     EAS 5     	4         	C      	0     	RO 6	     6         	B	      4     	WNB 7	     7         	A      	3     	EMS

JOINITEM 之后的 EXCOV.PAT:

RECNO	 AREA		         PERIMETER		  EXCOV#	 EXCOV-ID	 CLASS	 SUIT	 SOIL 1	     00028176.00*	  40,005.500	  1	      0         0     	0	 2     	8881,878.000	  13,950.113  	2	      2	        A	     3	    EMS 3     	8917,384.000  	20,539.754	  3      	1        	B	     0	    EDH 4     	33996880.000  	32,816.500	  4	      3        	A	     7    	SDL 5     	15326114.000  	16,342.805	  5      	5        	B	     2    	EAS 6      4163,639.000  	8,161.073		  6	      4        	C	     0	    RO 7     	20812064.000  	20,337.066	  7	      6        	B	     4	    WNB 8	     7930,208.000  	11,073.945  	8	      7        	A	     3	    EMS

7/10/2012