How Build (Coverage) works

The Build tool determines the feature classes in the input coverage and lists those available for building:

Build polygons

Polygon topology is created by identifying the set of arcs that define each polygon and the internal numbers of polygons that are to the left and right of each arc. From-nodes and to-nodes are used to determine the left and right orientation for each arc.

Build (Coverage) example 1

Table 1: Set of arcs enclosing each polygon

Polygon number 	Number of Arcs	 Arc numbers
1	             	4		             1,2,9,4
2	             	4	             	1,3,5,4
3	             	4	             	2,8,6,3
4	             	4	             	6,8,9,5

Table 2: Polygons to the left and right of each arc

Arc number	 From-node  To-node  Left Poly  Right Poly
1		         1	         2	       1	         2
2		         2	         7	       1	         3
3		         2	         3	       3     	    2
4		         4	         1	       1     	    2
5		         4	         3	       2	         4
6		         5	         3	       4	         3
7		         5	         6	       3	         3
8		         7	         5	       4	         3
9		         7	         4	       1	         4

Build with the POLY option checks for intersecting arcs and fails if any are encountered. Intersecting arcs must be split and nodes defined at their intersections before Build can be used. However, if two arcs intersect and both arcs have a vertex at the exact point of intersection, then Build with the POLY option will automatically place a node at that intersection and the arcs will be split.

Build (Coverage) example 2

Label points are associated with each polygon. The label point User-ID is used to assign the polygon User-ID. The polygon User-ID is 0 for polygons containing no label points. If a polygon contains more than one label point, one is chosen arbitrarily to assign a User-ID to the polygon.

Build (Coverage) example 3
Polygon Internal No.	   Polygon User-ID
1	                    		0
2	                    		101
3                      	102
4                    			0

A PAT is created for polygons in the coverage. If the coverage has an existing PAT, any additional items in the PAT are joined to the output PAT using the internal number of each original polygon as the relate item.

Build (Coverage) example 4

Table 3: EXCOV.PAT before Build

AREA	  PERIMETER	 EXCOV# 	EXCOV-ID 	COVER-TYPE
-25.0	 20.0     	 1	      0	
2.0   	7.5	       2      	0	        Shrub
3.0	   9.0	       3	      13       	Trees
9.0   	11.0     	 4      	10	       Grass
3.5	   8.0	       5      	13	       Forest
1.0   	2.5	       6	      0        	Water
4.5   	9.0	       7	      14	       Shrub
2.0   	5.0	       8      	0        	Forest

Table 4: EXCOV.PAT after Build

AREA  	PERIMETER	 EXCOV# 	EXCOV-ID 	COVER-TYPE
-25.0	 20.0	      1      	0	
2.0	   7.5	       2      	0	
3.0   	9.0	       3      	13	       Trees
9.0	   11.0	      4	      10	       Grass
3.5   	8.0	       5	      13       	Forest
1.0   	2.5	       6	      0	        Water
4.5   	9.0	       7      	14       	Shrub
2.0   	5.0	       8      	0

When using Build with the POLY option, polygon label points are recommended but not required. Polygon labels are used to retain attributes throughout Build. Although not required, it is also recommended that these label points have unique IDs.

After building this coverage, the COVER-TYPE attribute values have been maintained for all polygons having label points—the attributes in polygons without labels were not maintained. If the coverage has an existing AAT, Build with POLY will automatically recreate the AAT and rejoin existing AAT attributes using each arc's internal number as the relate item. This is also true for the NAT. Build with POLY will recreate the NAT and rejoin existing NAT attributes.

Build should not be executed on a coverage if it contains coordinate errors. Errors that could cause problems for Build with the POLY option include intersecting arcs (where no node is defined at the intersection), unclosed polygons or unmatched nodes, and polygon slivers.

Build lines

Build with the LINE option creates an AAT for arcs in the coverage. If the coverage has an existing AAT, additional items in the AAT are joined to the output AAT using the arc internal number as the relate item. The following examples illustrate using Build with the LINE option to create the AAT. The first example is a coverage that contains polygon topology. The second example does not, so the LPOLY and RPOLY numbers are recorded as zeros.

Build (Coverage) example 5

Table 5: Items from VEG.AAT after Build

FNODE	 TNODE	 LPOLY 	RPOLY  	LENGTH	   VEG# 	VEG-ID
1     	3     	2	     1	      5.0     		1   		1
1	     2     	3     	2      	2.0    			2	  		2
1	     4     	1     	3      	10.0   			3  			3
2	     3     	4	     2      	1.9    			4  			4
4     	2     	4	     3      	3.9    			5	  		5
3     	4     	4	     1      	5.1    			6  		 6
Build (Coverage) example 6

Table 6: Items from ROADS.AAT after Build

FNODE 	TNODE 	LPOLY 	RPOLY 	LENGTH 	ROADS#	 ROADS-ID
0     	0     	0	     0     	1.0	   	1     		1
0     	0     	0     	0    		1.2    	2    			2
0     	0     	0     	0    		0.8    	3    			3
0     	0     	0     	0	    	0.9    	4	    		4
0     	0     	0     	0    		1.0	   	5    			5

Build with LINE does not rebuild existing arc-node topology as does Clean or Build using the POLY option. However, you can use Renumber Nodes to renumber the internal node numbers for each arc as well as the internal number of the from-nodes and to-nodes of each arc. This can be performed before or after Build with LINE so that AAT values for the FNODE#, TNODE#, and cover# items will be correctly updated.

Build points

The POINT option builds a PAT for point features in a coverage. The values for AREA and PERIMETER are set to 0. If the coverage has an existing PAT, any additional items in the PAT are joined to the output PAT, using each point's original internal number as the relate item.

Build nodes

Build with the NODE option builds an NAT for node features in a coverage. The internal ARC number points to one of the arcs (randomly selected) connected to that node. If the coverage has an existing NAT, any additional items in the NAT are joined to the output NAT, using each node's original internal number as the relate item.

Build (Coverage) example 7

Table 7: Items from VEG.NAT after Build

ARC#	 VEG# 	VEG-ID
2    	1	    1
5	    2	    4
4	    3    	3
5    	4    	12

If you want to attach user defined items to the NAT and you do not have coincident nodes that you want to maintain at different elevations, then run Renumber Nodes <cover>. This will dissolve all coincident nodes and renumber the internal node numbers sequentially starting from 1. A typical sequence of commands may be as follows:

CLEAN <cover> POLY
BUILD <cover> LINE
BUILD <cover> NODE
RENODE <cover>

Assign unique User-IDs to the nodes in the NAT and run Add Item to add the user attributes. However, if you want to maintain coincident nodes at different elevations, run Renumber Nodes with the optional elevation items. A typical sequence of commands may be as follows:

BUILD <cover> LINE

Run Add Item to add the {from_item} and {to_item} to the AAT. Assign different elevation values to the coincident nodes.

BUILD <cover> NODE
RENODE <cover> {from_item}{to_item}

Assign unique User-IDs to the nodes in the NAT and run Add Item to add the user attributes.

Build annotation subclass

The Annotation Subclass parameter builds a TAT for annotation features in a coverage. The minimum TAT consists of subclass-ID and subclass#. If the coverage has an existing TAT, any additional items in the TAT are joined to the output TAT using each annotation's original internal number as the relate item.

Build with the Annotation Subclass option does not corrupt any spatial indices, if present. They remain unaffected, including those for other feature classes. Edit masks, if present, remain in place. However, Build with any other feature class removes the edit mask.

Recommended post processing

Build deletes item indexes. To create an item index, use the Index Item tool.

6/18/2012