POLYBL.SML This sample script illustrates the use of some of the vector and database functions in SML. It is designed to operate on a vector object containing contiguous polygons that might represent countries, states, counties, census blocks, etc. The script selects four specific polygons by attribute, and computes the total length of the polygon boundary lines that are not shared between the selected polygons. For a block of contiguous polgyons, this is the perimeter of the block. If none of the selected polygons are contiguous, the calculated length is the total boundary length of the selected polygons. The checks for the class of adjacent polygons require explicit database table.field references which must be provided for the the particular vector object being used. This example uses the vector object 'states' in the UNTDSTAT.RVC Project File in the USA sample data collection. Polygons are selected by the name of the state, which is contained in the STATE_NAME field in the 'states' database table. The line list for a selected polygon is accessed, and database references are used to check the class assignments for the polygons on either side of each line. If either polygon is not among the selected set of states, the line length is added to a perimeter variable for the polygon. For each selected polygon, the SML script outputs the following data for each unshared boundary line: line element number, the state to the left and right sides, and the line length. The summed unshared boundary length is then reported for the polygon. When all selected polygons have been processed, the total unshared boundary length for the selected set is reported. The in-depth report facilitates checking that the polygon adjacency selection criteria are working correctly. Output information is printed to the console window, and written to a text file. AUTHOR: Randy Smith, MicroImages, Inc. CREATION DATE: May 13, 1997