--------------------------------------------------------------------------------
MODULE    IFIXAREA

--------------------------------------------------------------------------------

REPLACES  DAMP module IFIX

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

FORMAT


--------------------------------------------------------------------------------

PROMPT

--------------------------------------------------------------------------------

PARAMETERS

--------------------------------------------------------------------------------

COMMAND QUALIFIERS

--------------------------------------------------------------------------------

RESTRICTIONS

--------------------------------------------------------------------------------

DESCRIPTION

--------------------------------------------------------------------------------

EXAMPLES

$ IFIXAREA TEST1.IFF/LOG/CLOSE/NEAR/REVERSE/PRINT TEST1.NEW
%IFIX-I-DEFANTICLK, anti-clockwise rotation defaults
%LSLLIB-I-IFFOPENED, DUA3:[TOM.TEST]TEST1.IFF; opened for read
%LSLLIB-I-IFFOPENED, DUA3:[TOM.TEST]TEST1.NEW opened for write
%IFIX-I-LAYPROC, processing layer 1
%IFIX-I-FSNCLO, feature with FSN 337 (377) closed
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 338 (338)
%IFIX-I-NOCLPTS, feature with FSN 338 (338) not closed, only 2 points
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 335 (335)
%IFIX-I-FSNCLO, feature with FSN 335 (335) closed
%IFIX-I-FSNREVD, feature with FSN 335 (335) reversed
%IFIX-I-NOCLPTS, feature with FSN 326 (326) not closed, only 2 points
%IFIX-I-FSNCLO, feature with FSN 336 (336) closed
%IFIX-I-FSNCLO, feature with FSN 370 (370) closed
%IFIX-I-FSNCLO, feature with FSN 369 (369) closed
%IFIX-I-FSNREVD, feature with FSN 369 (369) reversed
%IFIX-I-FSNCLO, feature with FSN 1568 (1568) closed
%IFIX-I-FSNCLO, feature with FSN 1569 (1569) closed
%IFIX-I-FSNREVD, feature with FSN 1569 (1569) reversed
%IFIX-I-FSNCLO, feature with FSN 1570 (1570) closed
%IFIX-I-NOCLPTS, feature with FSN 1633 (1633) not closed, only 2 points
%IFIX-I-FSNCLO, feature with FSN 1681 (1681) closed
%IFIX-I-FSNREVD, feature with FSN 1681 (1681) reversed
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 1682 (1882)
%IFIX-I-FSNCLO, feature with FSN 1682 (1682) closed
%IFIX-I-FSNREVD, feature with FSN 1682 (1682) reversed
%IFIX-I-FSNCLO, feature with FSN 1687 (1687) closed
%IFIX-I-FSNREVD, feature with FSN 1687 (1687) reversed
%IFIX-I-FSNPTDEL, 1 point deleted in FSN 1684 (1684)
%IFIX-I-FSNCLO, feature with FSN 1684 (1684) closed
 ............etc..........
%IFIX-I-LAYPROC, processing layer 2
%IFIX-I-FSNREVD, feature with FSN 2030 (2030) reversed
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 1320 (1320)
%IFIX-I-LAYPROC, processing layer 111 
%IFIX-I-FSNPTSDEL, 7 points deleted in feature with FSN 1938 (1938)
%IFIX-I-FSNREVD, feature with FSN 1938 (1938) reversed
%IFIX-I-FSNREVD, feature with FSN 2044 (2044) reversed
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 1706 (1706)
%IFIX-I-FSNPTSDEL, 5 points deleted in feature with FSN 154 (154)
%IFIX-I-FSNCLO, feature with FSN 154 (154) closed
%IFIX-I-FSNREVD, feature with FSN 154 (154) reversed
%IFIX-I-FSNPTDEL, 1 point deleted in feature with FSN 1616 (1616)
%IFIX-I-FSNPTSDEL, 8 points deleted in feature with FSN 1776 (1776)
%IFIX-I-FSNPTSDEL, 2 points deleted in feature with FSN 1593 (1593)
%IFIX-I-FSNREVD, FSN 1593 reversed
SUMMARY:
857 features processed
13 features closed
29 features reversed
117 points deleted
 ELAPSED: 00:00:08.43  CPU: 0:00:04.63  BUFIO: 10  DIRIO: 120  FAULTS: 133 
$

This example demonstrates the use of the /LOG, /CLOSE, /NEAR, /REVERSE and /PRINT qualifiers. The user specified the input file to be LSL$IF:TEST1.IFF, the output file to be LSL$IF:TEST1.NEW, and gave the qualifiers to check for closure of features, 'almost repeated' vertices, and direction of digitising. The checks are carried out in the order specified in the documentation and not in the order that they are specified in the command line, so the first check carried out is for 'almost repeated' vertices. The input file is not changed. Features that are not in error are copied to the output IFF file and features in error are 'fixed' and then copied to the output file.

The user did not specify a distance for the /NEAR qualifier so the default is taken. The /CLOSE qualifier checks that all features with three or more points have equal start and end points. In this case the default operates. The /REVERSE qualifier was specified but no direction qualifier specified so again the default ANTI_CLOCKWISE operates, and a message is output to this effect. The /LOG qualifier has the effect of sending supplementary messages to SYS$OUTPUT. As the example shows messages are output when files are successfully opened, when different layers are encountered, when any changes are made to any of the features, and why any features are not closed. When the end of the file is reached a summary of all the changes made is output with timing information . As the /PRINT qualifier was specified a summary of the program execution is also sent to the printer. This includes confirmation of the input and output IFF files, information about the user, the command line specified and messages about changes made to each feature.

$ IFIXAREA
_Input-file: CHELSEA/NEAR/CLOSE/LAY=111/FC=30/REVERSE/CLOCKWISE/OUTPUT
_Fixed-IFF-file: CHELSEA.NEW
================================== IFIXAREA ==================================
Input file:   LSL$IF:CHELSEA.IFF;
Output file:  LSL$IF:CHELSEA.NEW;0
IFIXAREA invoked by: TOM, Process: Tom Timms, on: 28-AUG-86 09:29:25
Command line:
IFIXAREA CHELSEA/NEAR/CLOSE/LAY=111/FC=30/REVERSE/CLOCKWISE/OUTPUT CHELSEA.NEW
Copying layer 1 
Copying layer 2 
Processing layer 111 
SUMMARY:
57 features processed
13 features closed
9 features reversed
7 points deleted
 ELAPSED: 00:00:08.27  CPU: 0:00:02.84  BUFIO: 4  DIRIO: 92  FAULTS: 120 
$

In this example the user typed the command IFIXAREA and was prompted for the input and output files. The input file specified was CHELSEA which is expanded to the default LSL$IF:CHELSEA.IFF. The check qualifiers specified were /NEAR, /CLOSE, /REVERSE, as in the previous example but in this case the user specified the /LAYER and /FC qualifiers to limit the checking to features with a feature code of 30 within layer 111. The user also specified the /CLOCKWISE qualifier so that all features with the specified attributes would be checked for clockwise rotation. The /OUTPUT qualifier has the effect of sending supplementary messages about input and ouput file, the user and the different layers as they are encountered to SYS$OUTPUT. These messages could have been directed to a file if a file specification had been given with the /OUTPUT qualifier. The output file specification given was CHELSEA.NEW (expanded to LSL$IF:CHELSEA.NEW by default).

$ IFIXAREA CHELSEA/NEAR=1.3/CLOSE/LAY=111/REVERSE/CLOCKWISE/OUTPUT
_Fixed-IFF-file: CHELSEA.FIX
================================== IFIXAREA ====================================
Input file:   LSL$IF:CHELSEA.IFF;
Output file:  LSL$IF:CHELSEA.FIX
IFIXAREA invoked by: TOM, Process: Tom Timms, on: 28-AUG-86 09:29:34
Command line:
IFIXAREA CHELSEA/NEAR=1.3/CLOSE/LAY=111/REVERSE/CLOCKWISE/OUTPUT CHELSEA.FIX
Copying layer 1 
Copying layer 2 
Processing layer 111 
SUMMARY:
85 features processed
1 features closed
0 features reversed
1 point deleted
 ELAPSED: 00:00:06.96  CPU: 0:00:02.91  BUFIO: 5  DIRIO: 91  FAULTS: 139 
$

In this example the user specified almost exactly the same qualifiers as in the previous example except that the the qualifiers were typed on the same line as the IFIXAREA command. The input file specification is the same as in the previous example but in this case the /FC qualifier was omitted and an argument was specified with the /NEAR qualifier (1.3) to over-ride the default 'almost adjacent' distance. As no output file was specified the program prompted for one. The user typed CHELSEA.FIX as a file specification (confirmed by the output messages).

$ IFIXAREA NEW_YORK.IFF/OUTPUT=NEW_YORK.LIS/CLOSE NEW_YORK.CLO
%LSLLIB-E-IFFOPEN, IFF error opening "LSL$IF:NEW_YORK.IFF;" for read
%IFF-E-OPEN, error opening IFF file
-RMS-E-FNF, file not found
 ELAPSED: 00:00:00.76  CPU: 0:00:00.30  BUFIO: 1  DIRIO: 1  FAULTS: 105 
$

In this example the user specified that the file NEW_YORK.IFF should be checked for feature closure with the output file being NEW_YORK.CLO. An output file NEW_YORK.LIS was also requested to contain a summary of program execution. However the input file NEW_YORK.IFF was not found in LSL$IF:, either the filename was incorrect or the logical name LSL$IF: was not pointing to the correct directory or device.

$ IFIXAREA DFADWOODS.IFF/OUT/DFAD/AC TESTDFAD
=================================== IFIXAREA ===================================
Input file:   LSL$IF:DFADWOODS.IFF;
Output file:  LSL$IF:TESTDFAD.IFF;0
IFIXAREA invoked by: TOM, Process: Tom Timms, on: 28-AUG-86 09:29:49
Command line:
IFIXAREA DFADWOODS.IFF/OUT/DFAD/AC TESTDFAD
Processing layer 2 
SUMMARY:
324 features processed
40 features closed
19 features reversed
3 points deleted
 ELAPSED: 00:00:41.16  CPU: 0:00:19.78  BUFIO: 10  DIRIO: 554  FAULTS: 126 
$

This example demonstrates the use of the /DFAD and /AC qualifiers on a suitable DFAD file DFADWOODS.IFF. The output file was specified as TESTDFAD which defaults to LSL$IF:TESTDFAD.IFF. As /OUTPUT was specified supplementary messages were sent to SYS$OUTPUT. The /AC qualifier caused selection of DFAD features on the basis of AC rather than feature code. These qualifiers are specific to DFAD type files and should not be used on non-DFAD files.

$ IFIXAREA TTT/CLOSE/LAY=1/REVERSE/DELETE QQQ
SUMMARY:
85 features processed
35 features closed
25 features reversed
9 points deleted
 ELAPSED: 00:00:07.85  CPU: 0:00:03.64  BUFIO: 4  DIRIO: 103  FAULTS: 121 
$

This example demonstrates a typical production run of IFIXAREA with no supplementary information requested by /LOG or /OUTPUT qualifiers. The file to be fixed was TTT.IFF and the requested checks (on layer 1 only) were for closure, for direction of digitising (with the default anticlockwise rotation assumed), and for repeated adjacent vertices (the /DELETE qualifier). The output IFF file was specified as QQQ.IFF. On program completion a summary was given of the number of features closed and reversed and the number of points deleted.

--------------------------------------------------------------------------------

MESSAGES (INFORMATIONAL)

These messages give information only, and require no immediate action by the user.

--------------------------------------------------------------------------------

MESSAGES (WARNING)

--------------------------------------------------------------------------------

MESSAGES (ERROR)

--------------------------------------------------------------------------------

MESSAGES (OTHER)

In addition to the above messages which are generated by IFIXAREA itself, other messages may be produced by the command line interpreter (CLI) and by Laser-Scan libraries. In particular, messages may be generated by the IFF library. These are introduced by '%IFF' and are documented in the IFF library users' guide. In most cases IFF errors will be due to a corrupt input file, and this should be the first area of investigation. If the cause of the error cannot be traced by the user and Laser-Scan are consulted, then the input file should be preserved to facilitate diagnosis.