COMMANDS

Each command of LITES2 is described below, grouped approximately by function. The classifications used are; initialisation, option, command handling, general, identification, construction, constraint, positioning, editing, joining, text and symbol, attribute, ancillary coding, interrogation, windowing, exiting, and miscellaneous. Use the index to locate the description of a particular command.

The primary commands of LITES2 in alphabetic order are as follows.

ABANDON ABORT ABSOLUTE ADD AFTER ALIGN ALTER ANCILLARY AND ANNOTATION ARC ASK BASE BEND BRIDGE CANCEL CHANGE CIRCLE CLIP CLOSE COLLAPSE CONTINUE COPY CREATE CURVE DEBUG DECLARE DELETE DEPOSIT DESCRIBE DESELECT DISABLE DISPLAY DISTANCE DRAW DUMP EDGEMATCH EDIT ENABLE END ENDMACRO EXAMINE EXIT EXTEND FEATURE FIDUCIAL FILE FILTER FIND FIRST FOLLOW FORCE FRACTION FREE FRT GEOGRAPHICAL GEOMETRY GET HELP IFF IMAGE INCLUDE INQUIRE INSERT INSITU INTERPOLATE INVISIBLE JFALSE JOIN JTRUE JUMP LABEL LARGER LAST LATLONG LET LOCATE LOOP MACRO MAPS MARGIN MATCH MEND MENU MERGE MESSAGE MIDDLE MODIFY MOVE NEXT NULL OFFSET ON OPERATION OR ORIENT OSSETUP OVERLAY PARAGRAPH PICTURE PING PLOT POLARC POLYGON POINT POSITION PREVIOUS PRIORITY PRIVILEGE PROJECTION PROMPT PROPAGATE PTOLERANCE PUCK PUT QUIT RANGE RASPBERRY READONLY RECOVER RECTANGLE REFRESH REGION REMOVE RENAME REPEAT REPLACE RESPOND REVERSE ROTATE ROUTINE SAVE SCALE SCROLL SEARCH SECTOR SELECT SET SETUP SHEET SHOW SMALLER SORT SPAWN SPLIT SQUARE SRI START STRETCH SUBSTITUTE SUPPRESS TAKE TEST TEXT THIS TIE TIME TOGGLE TOLERANCE TRACK TRAIL TRANSFORM TRI TURN UNITS UNSET USER VERIFY VIEW WAIT WARP WHOLE WINDOW WORKSTATION WRITE ZOOM

INITIALISATION COMMANDS

INITIALISATION COMMANDS

FRT

Specifies FRT file name and causes it to be read in. An FRT file contains a Feature Representation Table which tells the program how to draw features according to their Feature Codes (FCs). Default filename is LSL$FRT:---.FRT;0

If used in READY state to read a new FRT, then great care should be taken that the feature codes in the file are compatible with any maps which are in use at the time. This means that all the feature codes are present, and any changes of graphical type are to a similar type. It is reasonable to change between line, curve, symbol string, and area, and also from one type of symbol to another. Note that LITES2's spatial index for a feature is not recalculated, so for instance if a symbol or text is changed to one of a different size, then attempts to find it by a point on its bounding box may fail.

If the new FRT file has missing codes, or codes which have graphical types inconsistent with the old ones (e_.g_. text instead of line), then LITES2 may fail and enter its "collapse" routine when these feature codes are used.

Format:  FRT  filename
eg       FRT DR1:[LSL.FRT]TESTCARD
or       FRT OS
Valid in states  INITIAL READY

SRI

Specifies SRI file name. An SRI (Symbol Representation IFF) file holds the shapes of symbols. Default filename is the FRT filename (qv) with .SRI substituted for .FRT

If used in READY state to read a new SRI, then great care should be taken that the symbols in the file are compatible with those in any maps which are in use at the time.

Format:  SRI  filename
eg       SRI DR1:[LSL.FRT]TESTCARD
or       SRI OS
Valid in states  INITIAL READY

TRI

Specifies TRI file name. A TRI (Text Representation IFF) file holds the shapes of characters. Default filename is the FRT filename (qv) with .TRI substituted for .FRT

If used in READY state to read a new TRI, then great care should be taken that the characters in the file are compatible with the text features in any maps which are in use at the time.

Format:  TRI  filename
eg       TRI DR1:[LSL.FRT]TESTCARD
or       TRI OS
Valid in states  INITIAL READY

MAPS

Specify number of IFF files to be read in, or the number of IFF files that can be open at once.
Format:  MAPS [subcommand] integer
Valid in state  INITIAL

IFF

Specifies name of IFF file to be edited. Use READONLY command (qv) if file is not to be amended. The IFF file will be allocated the lowest available map number. Default filename is LSL$IF:---.IFF;0
Format:  IFF  filename
eg       IFF DU3:[LSL.IFF]TESTCARD
or       IFF J5012
Valid in states  INITIAL READY

INSITU

Specifies IFF file to be edited in situ. Not recommended for normal use as original data can be lost if the session is aborted for any reason. EXIT, DUMP, and QUIT commands all have the same effect: the edits are still preserved. See IFF command for syntax.
Format:  INSITU  filename
Valid in states  INITIAL READY

READONLY

Specifies IFF file to be read in and inspected without amendment. A subset of the file can still be written out using SELECT and WRITE commands, and features in the map can be copied to another (not read-only) file.
See IFF command for syntax, and for amending files.
Format:  READONLY  filename
Valid in states  INITIAL READY

MENU

Specifies the dimensions and name of a menu. Menu names must consist of up to 16 alphabetic characters (including underline).
This information is used to define the shape and size of the menu, and also the reserved macro names which are used to program the menu.
The operator will be prompted to digitise the corners of the menu when all the IFF files to be read have been specified, or if in READY state, then when a SETUP AGAIN command is given.
Format:  MENU  x y name
eg       MENU 9 14 CMDMEN
Valid in states  INITIAL READY

PUCK

Specifies device number, number of buttons or boxes and name of a digitising puck, screen menu, function buttons or mouse (or tracker ball). Puck names must consist of up to 16 alphabetic characters (including underline).
This information is used to define the reserved macro names which are used to program the puck buttons using the MACRO command (qv).
A puck can only be defined once in any run of LITES2

Device numbers are 0 for keyboard function buttons, 1 for screen, 2 for bitpad, 3 for the digitising table, 4 for tracker ball or mouse, 5 for separate function buttons, and 6 for a stereo digitising instrument. Other numbers may be available in some LITES2 implementations - see the appropriate Workstation Guide for details. Device numbers with no corresponding physical device may be used, but in this case the puck macros may only be used as normal commands - they will never be generated automatically by the interactive controls.

The devices are initialised using the appropriate ENABLE command (qv), except for the keyboard function buttons which are always enabled.

Format:  PUCK  devno buttons name
eg       PUCK 3 16 ALTEKPUCK
Valid in states  INITIAL READY

TRACK

Specifies the device number for a tracking area to be set up on a digitising surface.
See the PUCK command for information on device numbers.
Format:  TRACK  integer
eg       TRACK  2
Valid in states  INITIAL READY

DESCRIBE

Describe certain entities to allow them to be displayed.
Format:  DESCRIBE subcommand
Valid in states  INITIAL READY

SCALE

Specifies drawing scale to be used for texts, symbols etc. As these are specified in the FRT in sheet mm, a correspondence between IFF file units and sheet mm must be specified somehow.

The default action is to take the SHEET scale from the IFF Map Descriptor (MD) entry. If this is unset, or DISABLE DESCRIPTOR is used, then a scale from the IFF Map Header (MH) entry is used. If this is also unset, or if DISABLE EXTERNAL is used, then SCALE FACTOR 1 is assumed.

If the IFF units are related to the map sheet (eg inches, table units etc) then SCALE FACTOR should be used to relate them to sheet mm.

If the IFF units are related to the ground (eg map projection coordinates) SCALE IFF should be used to relate these units to ground mm (the default is SCALE IFF 1000 - ie IFF units are metres) and SCALE SHEET relates ground mm to map sheet mm.

If the nature of the IFF units is unknown, SCALE AUTO will produce a scale factor such that 1mm on the screen represents 1mm on the map

If the SCALE SHEET command has been given, but it is subsequently required to revert to the default action of taking the scale from the map header or map descriptor, this may be achieved by giving a SCALE FACTOR or SCALE AUTO command, followed by an appropriate SCALE IFF command.

Format:  SCALE  subcommand
Valid in state  INITIAL

FIDUCIAL

Defines which features are fiducial features (grid, tick marks etc) and which should not be taken into account when calculating FSNs for new features.
Format:  FIDUCIAL  subcommand
Valid in state  INITIAL

SETUP

Specifies type of digitising table setup.

Maps can be set up on the table using several procedures to determine the position of the control points of the map on the table. The control points of the map are taken from the right hand side of the CP entry in the IFF file.

Having determined the position of the control points, several different transformations can be used to relate any point digitised on the table to the map coordinate system.

By default, all the maps specified while in INITIAL state are set up on the table when the workstation is initialised (on going from INITIAL state to READY state) or after a SETUP AGAIN command. The commands SETUP CANCEL and SETUP MAP allow a selection of the maps that have been read in to be set up. SETUP INITIAL returns to the default action outlined above.

There is a limit of 9 maps that can be set up at any one time.

Format:  SETUP  subcommand
Valid in states  INITIAL READY

OSSETUP

This command has been superceded by the PTOLERANCE OSSETUP command. When used in conjunction with the SETUP TABLE_COUNTS command, then this command must be given after the SETUP TABLE_COUNTS command.

Overrides the default settings for doing a multiple point setup. It defines the number of boxes the map is to be split into along with the number of observations required at each point, the number of observations at each point that must fall within the tolerance of the mean, and that tolerance.

Format:  OSSETUP fulx fuly repeat numok tolerance
where fulx      is the number of boxes in the X direction (integer)
      fuly      is the number of boxes in the Y direction (integer)
      repeat    number of observations of each point      (integer)
      numok     number that must be within tolerance      (integer)
      tolerance tolerance in table units                  (real)
The defaults are: 5  5  4  2  19.05
Valid in state  INITIAL (privileged command; 
                         only valid in initialisation file)

AFTER

Defines a command (possibly a macro or an @file command) which will be obeyed immediately after some definable event.
Format:  AFTER  subcommand
Valid in states  INITIAL READY

OPTION COMMANDS

OPTION COMMANDS

ENABLE

Activates specified optional facilities. Use DISABLE (qv) to deactivate facilities.
Format:  ENABLE  subcommand
Valid in all states (except where specified)

DISABLE

Deactivates specified optional facilities.
See ENABLE command.
Format:  DISABLE  subcommand
Takes same subcommands as ENABLE (qv)

TOGGLE

If the selected facility is currently activated, then TOGGLE deactivates it, and if it is currently deactivated, TOGGLE activates it. This is most useful when programmed as a menu box or puck button.
Format:  TOGGLE  subcommand
Takes same subcommands as ENABLE (qv)

INTERPOLATE

Sets drawing _& construction interpolation method.
Format:  INTERPOLATE subcommand
Valid in states  INITIAL READY

SORT

Sets type of sorting used for re-drawing (if ENABLE SORT is set).
Format:  SORT subcommand
Valid in all states

REFRESH

Changes the characteristics of the refresh (or highlighted) picture.
Format:  REFRESH  subcommand
Valid in states  INITIAL READY LINE CIRCLE EDIT ON CONSTRUCT

SCROLL

Sets the size and position of the scroll area on the terminal.
SCROLL 0 0 will use the maximum amount of screen area depending on the position of the status line.
Format:  SCROLL numlines startline
where numlines  is the number of lines in the scroll area (integer)
      startline is the first line of the scrolling area (integer)
Valid in all states

TOLERANCE

Specifies various tolerances.
Distances are specified in sheet mm, unless otherwise stated. This behaviour may be overridden if the TOLERANCE command is preceded by a UNITS command.
Format:  TOLERANCE  subcommand [argument]
Valid in states  INITIAL READY

PTOLERANCE

Specifies the various tolerances, that are privileged (ie can only be given in initialisation files).
Format:  PTOLERANCE  subcommand [argument]
Valid in state  INITIAL (privileged command;
                         only valid in initialisation file)

VERIFY

Sets the style of verification of found features. Whether features are verified or not is controlled by the VERIFY option, set by ENABLE VERIFY, DISABLE VERIFY or TOGGLE VERIFY (qv)
Format:  VERIFY  subcommand
Valid in all states

COMMAND HANDLING COMMANDS

COMMAND HANDLING COMMANDS

@FILE

Take commands from the specified command file until end-of-file, or error. The default filename is LSL$LITES2CMD:---.LCM. The filename may be followed by a series of parameters, each delimited by one or more spaces or tabs, or enclosed in double quotes. Within the command file, the values of these parameters are available as system variables $P1, $P2 etc. The number of parameters is available in $PCOUNT, and the whole line of parameters in $PLINE.
Format:  @filename _[p1 p2..._]
Valid in all states

RESPOND

Suspends a command file or macro and obtains input from the interactive controls (terminal, table, or bitpad) until a CONTINUE command (resume command file or macro) or CANCEL RESPOND command (abandon command file or macro and return to interactive) is given.
Format:  RESPOND
Valid in all states

CONTINUE

Continue execution of a command file or macro which has been suspended with RESPOND (qv) after interactive input is complete.
Format:  CONTINUE
Valid in all states

MACRO

Enter MACRO state to define a macro. All commands will be stored rather than obeyed until ENDMACRO (qv) Macro names must consist of up to 16 alphabetic characters (including underline), followed by a box or button number in the case of a PUCK or MENU macro.
Format:  MACRO  name
eg       MACRO FRED
Valid in states  INITIAL READY
N.B. This command is not valid in MACRO state

ENDMACRO

End the definition of a macro started with a MACRO command (qv). This is the only command actually obeyed, rather than stored, while in MACRO state.
Format:  ENDMACRO
Valid in state  MACRO

JUMP

Transfers control to the specified macro (which may be the one currently executing), or to a label.

In the case of a jump to a macro, any remaining commands at the present level (ie in the current command file) are lost, as are any remaining commands on the current line, or in the current macro. The macro name may be followed by a series of parameters, each delimited by one or more spaces or tabs, or enclosed in double quotes. Within the macro, the values of these parameters are available as system variables $P1, $P2 etc. The number of parameters is available in $PCOUNT, and the whole line of parameters in $PLINE.

In the case of a jump to a label (which must include its leading "."), the label must be found in the current line or macro. The case of letters in the label is not significant.

Format:  JUMP macro [p1 p2...]
or       JUMP .label
eg       JUMP FRED
Valid in all states

JTRUE

As JUMP (qv), but only transfers control if the condition flag is set to TRUE.
The condition flag can be set by the TEST, OR and AND commands and also by the user routines.
Format:  JTRUE macro [p1 p2...]
eg       JTRUE FRED
Valid in all states

JFALSE

As JUMP (qv), but only transfers control if the condition flag is set to FALSE.
The condition flag can be set by the TEST, OR and AND commands and also by the user routines.
Format:  JFALSE macro [p1 p2...]
eg       JFALSE FRED
Valid in all states

ELSE

Obeys the command-line only if the condition flag is FALSE.
The condition flag is set by the TEST, OR and AND commands (qv) and also by the user routines.

Several ELSE and THEN commands may be given in any order without re-setting the condition flag, as long as the condition flag is not altered by the macro that is called.

Format:  ELSE command-line
eg       TEST $FOUND         ! (is there a found feature)
         ELSE MESSAGE "No found feature"
Valid in all states

THEN

Obeys the command-line only if the condition flag is TRUE.
The condition flag is set by the TEST, OR and AND commands (qv) and also by the user routines.

Several ELSE and THEN commands may be given in any order without re-setting the condition flag, as long as the condition flag is not altered by the macro that is called.

Format:  THEN command-line
eg       TEST $LAYER>3   AND $FC=4 ! layer above 3, and feature code 4
         THEN DELETE
Valid in all states

ABORT

Causes the current input stream to be aborted. There are several levels of severity of ABORT
Format:  ABORT subcommand
Valid in all states

TEST

Sets the condition flag depending on the result of the test.
The condition flag is used by the JTRUE, JFALSE, THEN, and ELSE commands.
The variable may be any system or user-declared variable.
The inequality may be any of:     =     >    >=     <    <=    <>
               with synonyms:   .EQL. .GTR. .GEQ. .LSS. .LEQ. .NEQ.
                         and:                     .LT.
Inequality names may be abbreviated.
If the inequality is absent, but expression is present, then = is assumed. 
If both inequality and expression are absent, then the variable is tested
as a logical.
For CHARACTER variables, the result of a comparison is determined according
to the ASCII collating sequence, assuming that the shorter string is padded
with spaces to the length of the longer.
Format:  TEST variable [ [inequality] expression]
eg       TEST NAME=Fred         True if CHARACTER variable NAME is "Fred"
         TEST $FOUND            True if there is a found feature
         TEST R>3.14            True if REAL variable R is greater than 3.14
Valid in all states

OR

ORs the existing value of the condition flag with the result of the test.
If the condition flag is already TRUE, the test is not performed.
Syntax is exactly as for TEST.
Format:  OR variable [ [inequality] expression]
Valid in all states

AND

ANDs the existing value of the condition flag with the result of the test.
If the condition flag is already FALSE, the test is not performed, so a sequence such as TEST $FOUND AND $FC=3 will not test $FC (which would cause an error) if $FOUND was FALSE.
Syntax is exactly as for TEST.
Format:  AND variable [ [inequality] expression]
Valid in all states

CANCEL

Allows macros, regions, variables, RESPOND input and lists of operations to be cancelled.
Format:  CANCEL  subcommand
Valid in states  INITIAL READY

DECLARE

Declares a variable, which may be set by the LET or INQUIRE commands, tested by the TEST, AND, and OR commands, or substituted into commands by enclosing its name in single quotation marks. Variable names must consist of up to 16 alphabetic characters (including underline). An array variable may be declared by following the name by an integer in the range 1 to 65535, thus the command DECLARE INTEGER I20 would allow the use of integer variables I1, I2, .._. , I20. Caution should be exercised in declaring large arrays, as the computer memory may be insufficient.
Format:  DECLARE subcommand
Valid in all states

LET

Allows the value of a variable to be set. The variable must have been declared using a DECLARE command (qv). System variables may not be set. See the section on the LITES2 command language for further information on expressions.
Format:  LET  variable [=] expression
eg       LET NAME=Building      Sets CHARACTER variable NAME to "Building"
         LET NAME               Sets CHARACTER variable NAME to the null string
         LET I=3                Sets INTEGER variable I to 3
         LET I=(3+4)/2          Sets INTEGER variable I to 3
         LET R=(3+4)/2          Sets REAL variable R to 3.5
         LET RR23=3.14          Sets the 23rd element of REAL array RR
                                to 3.14
Valid in all states

INQUIRE

Obtains the value for a variable from the interactive controls (keyboard, or pucks, or menus). INQUIRE is most useful in command files or macros. The prompt string is displayed at the terminal. If prompt is omitted, a default of "Enter TYPE VARIABLE: " e.g. "Enter Real R: " is used.
If the prompt is to have leading spaces or tabs, then it must be enclosed in double quotes.
The string entered by the user may be any expression which would have been valid in a LET command for the variable. It is quite possible to respond with a button press or menu probe - the puck or menu macro name will be returned. The cursor may be tracked before the response is entered. If a blank line is entered, a character variable is set to the null string, while for other types the user is reprompted for a valid answer. Pressing CTRL/Z will leave the variable unchanged.
Format:  INQUIRE variable [prompt]
eg       INQUIRE NAME "What is your name? "
Valid in all states

HELP

Gives information about LITES2 commands and other subjects. If no subject given then a list of subjects will be printed. If HELP is entered interactively (i.e. not from a command file or macro), the user is prompted for further topics. The possible responses are the same as in the DCL HELP utility. CTRL/Z will exit from help and return to the LITES2 prompt (as will a sufficient number of blank lines).
Format:  HELP  [text]
eg       HELP
or       HELP FIND
Valid in all states

MESSAGE

Outputs the given string to the terminal, or a blank line if none given. Useful in command files to let the operator know what is going on. If the text is to have leading spaces or tabs, then it must be enclosed in double quotes.
Format:  MESSAGE  [text]
Valid in all states

PING

Sounds a bell at the terminal to attract the operator's attention.
Format:  PING
Valid in all states

RASPBERRY

Sounds a distinctive noise ("raspberry") at the terminal. The is usually two bells unless the hardware permits anything else.
Useful to signal errors.
Format:  RASPBERRY
Valid in all states

WAIT

Pauses execution for the given time (up to 60 seconds).
Useful in command files to allow the operator time to think.
The wait may be terminated prematurely by CTRL/C.
Format:  WAIT  real
Valid in all states

PROMPT

Allows control of the interactive command prompt.
Format:  PROMPT  subcommand
Valid in all states

PRIORITY

Set priority of puck buttons when pressed over a menu area.
Format:  PRIORITY  subcommand
Valid in all states

OPERATION

Defines operations that will produce automatic updating of ACs (ancillary codes) of features, attributes of points and parts of the map header when features are edited.

When features are to be updated, the AC or attribute to be updated can be specified by its name or by the corresponding integer. This integer is referred to as the "type" when considering ACs, and the "code" when considering point attributes.

See the section on LITES2 command language for details of the format of the value for this type of command argument.

More than one AC or attribute can be specified to be updated by each operation. The currently set operations can be displayed with the SHOW OPERATION command.

If when defining an operation to update features, the AC or attribute to be updated is specified without a value, then on completion of the operation, that AC or attribute will be deleted from the feature or point rather than the value being updated or inserted.

When elements of the map header are to be updated, the syntax is different - see OPERATION OS_MH_FLAGS and OPERATION OS_MH_TEXTCAT below.

Operations can be cancelled with the CANCEL command (qv).

Format:  OPERATION  subcommand
Valid in states  INITIAL (after FRT has been read) READY

PRIVILEGE

Defines commands that cannot subsequently be given, attributes that may not be altered and points that are held fixed while squaring.
Format:  PRIVILEGE  subcommand
Valid in state  INITIAL (privileged command;
                         only valid in initialisation file)

PROJECTION

Controls the use of projection information in LITES2

LITES2 has the ability to work on several IFF files which are in different projections at the same time. It does this by specifying the projection to display the files in, called LITES2 space, and transforming the coordinates in the individual files to this space before they are used by LITES2. It should be noted that the data files remain in their original projection throughout the LITES2 session.

This facility depends on all the files being used having a valid projection set up in their map descriptor and these projections all being referred to the same spheroid. See the Documentation for the program ITRANS for more information about map descriptors.

Format:  PROJECTION  subcommand

GENERAL COMMANDS

GENERAL COMMANDS

ABANDON

Abandons current operation.
Drops any found feature and returns to READY state.
Format:  ABANDON
Valid in all states

END

Ends editing or construction type operation.
Format:  END
Valid in states  EDIT MODIFY ON WINDOW CONSTRUCT AC RECOVER PAINT

CREATE

Creates a new entity.
Format:  CREATE  subcommand
Valid in states  INITIAL READY

UNITS

Overrides the type of units expected for the following command.
Format:  UNITS  subcommand
Valid in all states except INITIAL

MERGE

Merges two entities
Format:  MERGE  subcommand
Valid in state  READY

RENAME

Renames an entity.
Format:  RENAME  subcommand
Valid in state  READY

USER

Specifies that a particular user-supplied operation is to be performed. If there is a found feature it is passed from LITES2 to the user-routine image, which can interrogate aspects of the feature, or modify it and pass it back.

Other information which is passed to the user-routine includes an identifying integer and an optional string (as input with the command), the current cursor position, the current state and the value of the condition flag (used for JUMP etc (qv)).

Data that can be passed from the user-routine to LITES2, as well as a feature, includes the condition flag and a LITES2 command string which will be the next command string to be obeyed.

The shareable image to be used is pointed to by the logical name LSL$LITES2ROUTINES

For information about writing user-routines, see section 8.

Format:  USER  integer [string]
Valid in states:
INITIAL READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON WINDOW CONSTRUCT AC

ROUTINE

An extended version of the USER command that allows up to 10 external images to be accessed. (see USER command).

There are two sets of ROUTINE commands available -

     ROUTINE 1   to ROUTINE 5   are for images supplied by the user,
     ROUTINE 101 to ROUTINE 105 are reserved for additional images
                                supplied by Laser-Scan.
The shareable image to be used is pointed to by the logical name LSL$LITES2ROUTINES_n, where n is the first argument to the command.
     ROUTINE 0 is an alias for the command USER
See the section 8 for more information, and details of how to write user routines.
Format:  ROUTINE integer integer [string]
Valid in states:
INITIAL READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON WINDOW CONSTRUCT AC

BASE

Specifies that the current segment of the found feature is to be used as a baseline. The currently set bases can be examined with the SHOW BASES command.(qv)
Format:  BASE subcommand
Valid in state  LINE

ASK

A command that places information in associated system variables.

Commands that return integers, place the information in the variables $ASK_INT n, those that return real values place them in the variables $ASK_REAL n and those that return character (string) values place them in $ASK_CHAR n.

Commands may return values in one or more of these variables.

For upwards compatibility, the integer variable $MAP_NUMBER is a synonym for $ASK_INT 1 and the real variables $TABLEXY are synonyms for $ASK_REAL.

Format:  ASK subcommand
Valid in all states (where appropriate)

FILE

Specifies an action on a user specified text file. Files may be opened for both reading and writing. Each text file opened has an associated file-number which is used to reference the file for selection and closing.
Up to three text files may be open at one time.
Format:  FILE subcommand
Valid in all states

IDENTIFICATION COMMANDS

IDENTIFICATION COMMANDS

FIND

Searches for nearest feature to cursor position.
Finds up to 4 features nearest to cursor and highlights the best fit which becomes the FOUND FEATURE and the subject for editing operations. If FIND is given again without moving the cursor, then the program will cycle round the 4 best hits.

The behaviour of FIND can by modified by various other commands, including ENABLE ENDS and TOLERANCE FIND (qv). If there is a cursor constraint in operation, either explicitly using ON or FORCE (qv), or implicitly by COPY and MODIFY commands, then FIND will locate the nearest intersections of features with the constraint.

Format:  FIND
Valid in states:
READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON WINDOW CONSTRUCT

RECOVER

Searches for nearest feature in limbo.
Works as FIND (qv) but only finds deleted features. The END command must be used to accept the feature. If RECOVER is given again without moving the cursor, the program will cycle round up to 4 nearest candidates.
Format:  RECOVER
Valid in states  READY LINE CIRCLE TEXT SYMBOL RECOVER

SEARCH

Searches whole IFF file using spiral search for feature matching given specification. The SEARCH command should normally only be used when the intention is to use SEARCH NEXT to find several features in turn. If only one feature is required, then the LOCATE (qv) command is more efficient.

The order in which features are found by SEARCH is not very well defined except for SEARCH NEAREST.

Format:  SEARCH  subcommand
Valid in states:
READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY WINDOW CONSTRUCT RECOVER

LOCATE

Searches whole IFF file using spiral search for feature matching given specification. LOCATE is similar to SEARCH (qv) but finds only the first matching feature. LOCATE may be used in the middle of a SEARCH NEXT sequence without destroying the search context.
Format:  LOCATE  subcommand
Valid in states:
READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY WINDOW CONSTRUCT RECOVER

CONSTRUCTION COMMANDS

CONSTRUCTION COMMANDS

START

Starts line or symbol feature construction using current attribute set as selected by GET (qv) and modified by SET (qv). If a construction is already started then just adds the given point.
The construction is finished by giving the END command (qv) at the final position. In the case of symbol string features (graphical type 11) features, START then END without moving the cursor will construct a single point feature.
To create a text feature use the TEXT command (qv).
In SETUP state, the START command is used to digitise a corner point.
Format:  START
Valid in states  READY LINE CIRCLE TEXT SYMBOL WINDOW CONSTRUCT SETUP

CURVE

Adds data point to construction but sets curve interpolation on either side of given point.
Format:  CURVE
Valid in state  CONSTRUCT

INVISIBLE

Adds data point to construction with an invisible segment up to the given point.
Format:  INVISIBLE
Valid in state  CONSTRUCT

ARC

The next constructed feature is to be a generated arc.
Format:  ARC  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL

CIRCLE

The next constructed feature is to be a generated circle.
Format:  CIRCLE  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL

POLARC

The next constructed feature is to be a generated polygon arc. The integer gives the number of sides.
Format:  POLARC  subcommand integer
eg       POLARC CENTRED 5
Valid in states  READY LINE CIRCLE TEXT SYMBOL

POLYGON

The next constructed feature is to be a generated polygon. The integer gives the number of sides.
Format:  POLYGON subcommand integer
eg       POLYGON CENTRED 5
Valid in states  READY LINE CIRCLE TEXT SYMBOL

RECTANGLE

The next constructed feature is to be a generated rectangle.
Format:  RECTANGLE  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL

CLOSE

Closes a feature currently being constructed to form a loop. The cursor is moved to the correct position ready for the END command. If given after the BRIDGE command, and the bridge starts at one end of a feature, then the CLOSE command will locate the other end of the original feature, and END will generate a closed feature from the original plus the bridge. Use END without further cursor movement to create a closed feature.
Format:  CLOSE  subcommand
Valid in state  CONSTRUCT

INCLUDE

Allows all or some of an existing feature to be included in the current construction. The original feature remains unaltered.
Format:  INCLUDE  subcommand
Valid in states  LINE CONSTRUCT

FOLLOW

Add points to a construction by continuously polling the position from the specified device.

Note that not all versions of LITES2 support the devices that can be specified by this command.

Filtering of the points is achieved using a modified form of the BUNCH algorithm that is used by the FILTER command, the main difference being that while the BUNCH filter algorithm computes new master points, the algorithm used by FOLLOW outputs points that have been digitised.

The rate at which the devices are polled and the tolerances for this filtering are set by the TOLERANCE FOLLOW command.

The filtering algorithm uses tolerances related to chords on the incoming point strings. The first point received from the input stream is accepted as a master point. As subsequent points are received, they are added to the backlog buffer, unless one of the following conditions are met.

See the FILTER command for more information on the effect of altering the tolerances.

LITES2 will complete any processing that it is engaged in when it is time to poll the device for a coordinate, before reading the position from the device and doing the above filtering. This may mean that on busy systems, FOLLOWing may be somewhat uneven. This problem may be alleviated by reducing the amount of refresh drawing that LITES2 has to do by giving the REFRESH VERTICES command.

FOLLOWing mode is left by giving the END or START command. FOLLOWing will also be abandoned if an error occurs while retrieving a coordinate. If many of these errors occur then the following time interval is probably set too small.

Format:  FOLLOW  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL WINDOW CONSTRUCT

CONSTRAINT COMMANDS

CONSTRAINT COMMANDS

The following commands are available to constrain the movement of the cursor along lines or features. While the cursor is constrained, the FIND command will locate intersections of the constraint with linear features.

FORCE

Force constraint on cursor movement, or move cursor on to a surface or a line. The FREE command may be used to restore free cursor movement. Format: FORCE subcommand Valid in states LINE TEXT SYMBOL MODIFY CIRCLE EDIT CONSTRUCT

FREE

Frees cursor from constrained movement.
Format:  FREE
Valid in states  READY LINE CIRCLE EDIT MODIFY CONSTRUCT

ON

Constrains cursor to move only on found feature. FIND will then locate intersections of the found feature with other linear features. The feature intersected with is merely used to locate the cursor, and does not become the found feature.
Format:  ON
Valid in states  LINE CIRCLE EDIT MODIFY CONSTRUCT

POSITIONING COMMANDS

POSITIONING COMMANDS

POSITION

Positions cursor to given IFF coordinates.

If all the arguments are omitted the cursor is positioned to the centre of the screen.

Format:  POSITION  [ x y [z] ]
eg       POSITION 100 121.6
or       POSITION
Valid in all states except INITIAL

ABSOLUTE

Positions cursor to given coordinates. The coordinates are specified as full projection coordinates i_.e_. coordinates that include any origin offset specified in the IFF files.

If all the arguments are omitted, the cursor is positioned to the centre of the screen.

Format:  ABSOLUTE  [ x y [z]]
eg       ABSOLUTE 327100.34 6734121.62
or       ABSOLUTE
Valid in all states except INITIAL

GEOGRAPHICAL

Positions cursor to given latitude and longitude.

This command is only valid if at least one map read in has valid type 2 map descriptor, specifying a valid projection.

The latitude and longitude are specified in degrees, minutes and seconds.

If the arguments are omitted, the cursor is positioned to the centre of the screen.

Geographical conversions make use of a shared image pointed at by the logical name LSL$LITES2_GEOG_ROUTINES. This image is supplied by Laser-Scan. It is called LSL$EXE:LITES2GEOGSHR.EXE.

Format:  GEOGRAPHICAL [ lat long ]
eg       GEOGRAPHICAL 56 30 00.000   -3 20 00.000
         GEOGRAPHICAL 56 30 00.000N   3 20 00.000W
         GEOGRAPHICAL 56 30N          3 20W
         GEOGRAPHICAL 56.5N           3.333333333W
         GEOGRAPHICAL  3 20 00.000W   56 30 00.000N
these examples are all valid angles that will position the cursor to the
same point.
Valid in all states except INITIAL

LATLONG

Positions cursor to given latitude and longitude, where the latitude and longitude are specified as double precision numbers.

This command is only valid if at least one map read in has valid type 2 map descriptor, specifying a valid projection.

If the arguments are omitted, the cursor is positioned to the centre of the screen.

Geographical conversions make use of a shared image pointed at by the logical name LSL$LITES2_GEOG_ROUTINES. This image is supplied by Laser-Scan. It is called LSL$EXE:LITES2GEOGSHR.EXE.

Format:  LATLONG [ lat long ]
eg       LATLONG 56.0 -3.0
Valid in all states except INITIAL

SHEET

Positions cursor to given coordinates (given in sheet mm).

If the arguments are omitted, the cursor is positioned to the centre of the screen.

Format:  SHEET  [ x y ]
eg       SHEET 352.6 222
or       SHEET
Valid in all states except INITIAL

FIRST

Positions to first point, AC, TC, CH or text component.
Only operates on composite texts if there is no other linear found object.
If in MODIFY state, goes into MODIFY (part) state.
Format:  FIRST
Valid in states  LINE CIRCLE EDIT TEXT MODIFY ON CONSTRUCT AC

LAST

Positions to last point, AC, TC, CH or text component.
Only operates on composite texts if there is no other linear found object.
If in MODIFY state, goes into MODIFY (part) state.
Format:  LAST
Valid in states  LINE CIRCLE EDIT TEXT MODIFY ON CONSTRUCT AC

MIDDLE

Positions cursor midway between 2 points
Format:  MIDDLE
Valid in states  LINE CIRCLE EDIT MODIFY ON CONSTRUCT

NEXT

Positions to next point, AC, TC, CH or text component.
Only operates on composite texts if there is no other linear found object.
If in MODIFY state, goes into MODIFY (part) state.
Format:  NEXT
Valid in states  LINE CIRCLE EDIT TEXT MODIFY ON CONSTRUCT AC

PREVIOUS

Positions to previous point, AC, TC, CH or text component.
Only operates on composite texts if there is no other linear found object.
If in MODIFY state, goes into MODIFY (part) state.
Format:  PREVIOUS
Valid in states  LINE CIRCLE EDIT TEXT MODIFY ON CONSTRUCT AC

THIS

Positions to current AC, TC, CH or text component.
If in TEXT or MODIFY state, goes into MODIFY (part) state.
Format:  THIS
Valid in states  TEXT MODIFY AC

POINT

Positions cursor on the given point of the found feature.
Format:  POINT integer
Valid in states  LINE CIRCLE EDIT TEXT MODIFY ON CONSTRUCT

FRACTION

Positions cursor fractionally between 2 points
Format:  FRACTION  real
eg       FRACTION 0.4
Valid in states  LINE CIRCLE EDIT MODIFY ON CONSTRUCT

DISTANCE

Positions the cursor a given distance along a feature. The distance is specified in IFF units (unless a UNITS command has been given). The distance may be measured from either end of the feature, or from the current cursor position.
Format:  DISTANCE [subcommand]  real
Valid in states  LINE CIRCLE EDIT MODIFY ON CONSTRUCT

EDITING COMMANDS

EDITING COMMANDS

COPY

Creates a copy of a feature and allows changes to be made to it. Several changes can be made using CHANGE, DELETE, MOVE, OFFSET, and REVERSE. An END command completes the operation.
Compare with MODIFY command.
Format:  COPY  subcommand
Valid in states  LINE TEXT SYMBOL

MODIFY

Allows multiple changes to be made to a feature. Several changes can be made using CHANGE, DELETE, MOVE, OFFSET, and REVERSE. An END command completes the operation. If given without COPY or MODIFY, then these commands in general behave as though MODIFY WHOLE had been used, but for line features the operation is completed immediately.
Compare with COPY command.
Format:  MODIFY  subcommand
Valid in states  LINE TEXT SYMBOL CIRCLE

DEPOSIT

Deposits the text or symbol that is currently being modified. The feature may still be further modified and DEPOSITed again or the original operation can be ended with the appropriate number of END commands. Alternatively, ABANDON may be used to terminate the original operation.
A new feature serial number is automatically generated for features that are deposited.
Format:  DEPOSIT
Valid in state  MODIFY

BRIDGE

Replaces part of a feature, or adds additional points to the end of a feature. The part of the feature removed may be RECOVERed and possibly JOINed up again, if BRIDGE is used in error.

The sequence of commands involved will normally be

FIND
PREVIOUS/NEXT/FRACTION etc. as needed to get to first point of change
BRIDGE
START at all the new points of the changed part.
FIND again to locate last point of change
END

If the BRIDGE command is given while on the end of a feature, then it is not necessary to FIND the feature again before giving the END command. The additional points are added to the end of the feature.

If the END command if given while on the end of a feature, then this point is not included in the bridge. This allows the end section of a feature to be replaced completely.

A common mistake is to bridge all the way from one end of a feature to the other, hoping to make a closed loop. Instead, the original feature is deleted and replaced by the bridge. To get the desired effect, use the CLOSE command (qv) - this will automatically locate the opposite end of the feature from where the bridge was started, and END will then produce a closed loop.

Format:  BRIDGE
Valid in state  LINE

TAKE

Transfers attributes from the current attribute set to the found feature.
Format:  TAKE  subcommand
Valid in states  LINE CIRCLE TEXT SYMBOL

CHANGE

Changes characteristics of found feature. For linear features, the change will be completed immediately, unless a COPY or MODIFY command has been given first. For text or symbol features, MODIFY state will be entered, allowing other changes to be made until END is given.

When dealing with composite texts and in MODIFY (part) state, then only the characteristics of the current text component will be altered; when in MODIFY (or TEXT) state, all the component texts will take the specified attribute.

Format:  CHANGE  subcommand
Valid in states  LINE CIRCLE TEXT SYMBOL MODIFY ON

DELETE

Deletes found feature, AC, TC or CH
Format:  DELETE  subcommand
Valid in states  LINE CIRCLE TEXT SYMBOL AC

EDIT

Amends a single data point or line segment.
Format:  EDIT  subcommand

EXTEND

Extends (or shortens) the end segment of a line feature.
The cursor is constrained to move in either direction along the final segment of the feature until END is given.
Often used in combination with FIND to extend one line until it exactly touches another. If FREE is given, the effect becomes identical to EDIT POINT.
Format:  EXTEND
Valid in state  LINE

INSERT

When in LINE state adds a data point.
A new point is created, attached to the cursor, and can be moved around until the END command is given.

If in CONSTRUCT state, then an intersected point can be inserted in the construction. The effect is shown in the following diagram:


       1              2              I
----X--------------X- - - - - - - X       The INSERT command is given at
                                  !       point 2. INVISIBLE, START or
                                  !       END commands are given at point
                                  ! 3     3 and 4, with the result that
                                  X       points 2 and 3 are replaced by
                                  |       point I.
                                  |
                                  |       If an INVISIBLE command is
                                  | 4     given at point 3, the vector
                                  X       1 - I is invisible; if an
                                  |       INVISIBLE command is given
                                  |       at point 4, the vector I - 4
                                  |       is invisible.

Format:  INSERT
Valid in states  LINE CONSTRUCT

LOOP

Makes the found feature a loop (closed feature). Both end points are attached to the cursor, and may be moved around until END is given.
Format:  LOOP  subcommand
Valid in states  LINE CIRCLE

OFFSET

Generates a new feature parallel to the found feature. The offset distance is specified in IFF units (unless a UNITS command has been given). If the old feature is to be replaced by the offset feature, then give the MODIFY command first.

For linear features the new feature is offset to the right if the command argument is positive, and to the left if the argument is negative. For whole feature operations the argument need not be given, and the cursor position is used to calculate the offset distance. To offset part of a feature, give the OFFSET command after COPY PART or MODIFY PART (qv) in which case OFFSET is not allowed after REVERSE, MOVE, FILTER or TRANSFORM.

For texts and symbols the new feature is offset below if the command argument is positive and above if it is negative. If no argument is given, then the feature is offset by a fixed proportion of the height of the text or symbol. This value can be set by the TOLERANCE OFFSET command. If it is negative, then the OFFSET command without an argument will offset the feature above the original.
Any rotating, moving, stretching or aligning of texts or symbols is lost after giving this command.

Format:  OFFSET  [real]
Valid in states  LINE CIRCLE ON

MOVE

Moves a feature to a new position.
This command attaches the feature to the cursor and allows it to be moved around until END is given. For line features, the effect is as if MODIFY WHOLE had been given first. To retain the old feature, use COPY WHOLE. To move part of a feature, use COPY PART or MODIFY PART, in which case the part will only be attached to the cursor after END is given to delimit the part. In this case, MOVE is not allowed after OFFSET, FILTER or TRANSFORM.
For text or symbol features, MODIFY state is entered and the feature is attached to the cursor until END is given. A further END is required to complete the edit, and leave MODIFY state.
Format:  MOVE
Valid in states  LINE TEXT SYMBOL MODIFY ON

REMOVE

Deletes a data point.
The current point is removed from the feature.
Format:  REMOVE
Valid in states  LINE CONSTRUCT

REVERSE

Digitising direction of the found feature is reversed. See MOVE for details of operations on part features. This command is not allowed after OFFSET, FILTER or TRANSFORM.
Format:  REVERSE
Valid in states  LINE ON

ORIENT

Moves the found (linear) feature onto the previously defined orienting base.
The selected edge of the found feature is moved onto the orienting base, and the rest of the feature is moved correspondingly. The selected edge is moved so that its centre is projected perpendicularly onto the base.
If the feature has been found by a point, and not between points, then the edge out of that point that makes the smaller angle with the base is used.
The oriented feature (or part of it when dealing with long features) is displayed in refresh and EDIT state is entered. To accept the oriented feature enter END; otherwise ABANDON will cancel the operation.
After orienting, the original feature is deleted but can be recovered.
Format:  ORIENT
Valid in state  LINE

TRANSFORM

Sets up and uses an orthogonal transformation. This is a transformation of the form:
        X = ax - by + c1
        Y = bx + ay + c2 
This applies a rotation, a scale change and a translation to points in the current coordinate system (x,y) to give the points in the target coordinate system (X,Y).

The transformation can either be set up by giving the coordinates of two points in both systems, using the TRANSFORM FROM and TRANSFORM TO commands, or by specifying the rotation, scale factor, point of rotation and translation explicitly, using the TRANSFORM COEFFICIENTS command.

Features and regions can be transformed using the TRANSFORM FEATURE and TRANSFORM REGION commands.

Format:  TRANSFORM  subcommand

FILTER

Filters the points in an entity according to the BUNCH filtering algorithm.

The BUNCH filter uses tolerances related to chords on the incoming point strings. The filter performs a least squares fit through all the existing data points, and when a point lies more than the lateral threshold distance from the trend line it is considered to be a provisional master point. A new fit is then conducted forwards from the last master point, until again the threshold deviation is exceeded. The last provisional point is taken to be the next master point and the intervening points are rejected. The process is repeated until the end of the line is reached. If the lateral threshold distance is large, it will rarely be exceeded and many points will be thrown away.

The number of points which are kept as master points or are thrown away may be additionally controlled by the minimum and maximum separation.

The minimum separation is the shortest distance allowed between successive master points along the line. If this is set to a large value, more points will be thrown away giving increasingly angular linework.

The maximum separation is the distance travelled along the line before forcing out a master point. A large value will result in very sparse points along straight and nearly straight lines. A maximum separation of 0.0 is equivalent to one of infinity, and means that no points will be forced out on distance criteria.

The maximum separation must be greater than or equal to the minimum separation which must be greater than or equal to the lateral threshold distance.

As the BUNCH filter uses a least squares algorithm, all new points will be placed to the outside of the original curve of the line being filtered.

Format:  FILTER  subcommand
Valid in states  LINE ON

FEATURE

Construct a feature from some entity
Format:  FEATURE subcommand
Valid in states  READY

SPLIT

Splits a linear feature in two, or splits a text into two or more text components.
Format:  SPLIT subcommand

CLIP

Divides the current feature, where it cuts the specified region boundary, to create one or more new features.

The original feature is deleted.

An error occurs if the feature does not cross the region boundary.

Format:  CLIP  subcommand
Valid in states  LINE CIRCLE

SQUARE

Squares the found (linear) feature, using either simple or OS algorithms. The squared feature (or part of it when dealing with long features) is displayed in refresh and EDIT state is entered. To accept the squared feature enter END; otherwise ABANDON will cancel the operation.

After squaring, the original feature is deleted but can be recovered; the squared feature has the appropriate process code set.

When the FIXED option is enabled (default) then an enhanced squaring algorithm for SQUARE PART and SQUARE WHOLE is used. The following features are then included in the squaring algorithm:

See also TOLERANCE command, and the chapter on squaring at the end of this manual.

Format:  SQUARE  subcommand
Valid in state  LINE

JOINING COMMANDS

JOINING COMMANDS

JOIN

Format:  JOIN
Valid in states  LINE MODIFY

MATCH

Match conditions for JOIN, TIE, MEND and EDGEMATCH.
Format:  MATCH  subcommand
Valid in states  INITIAL READY LINE EDIT ON

EDGEMATCH

An appropriate licence is required to use this command.
Carry out automatic edgematching of features along a baseline defined using the BASE EDGE command (qv).
For more information about edgematching, see separate section of manual below. Edgematching can be aborted with CTRL/C, but any features that have been altered at this point cannot be recovered. The REVIEW command (qv) may be used after EDGEMATCH to allow areas where problems occurred to be examined individually.
Format:  EDGEMATCH  subcommand
Valid in state  READY 

REVIEW

Runs a command file generated by EDGEMATCH (qv) which allows areas where problems occurred to be examined and amended individually.
Format:  REVIEW
Valid in state  READY

MEND

Merges several features into one. Acts as JOIN (qv), but jumps to other end of second feature to try to find a plausible connection. The MATCH command (qv) can be used to specify which attributes of features to be joined must match.
Normal sequence is:
FIND first feature at the end near join to second feature
MEND [MANUAL or AUTOMATIC (default)]
If operation pauses then:
FIND next feature to MEND to, adjust position of join if required, then
END
ABANDON will terminate the operation, including the feature in hand in the mended feature, but not any found feature.
Format:  MEND  subcommand
Valid in state  LINE

PROPAGATE

Smooths feature(s) on either side of point. Used during JOIN or TIE to smooth out the effects of the edit. The PROPAGATE must be given after JOIN or TIE each time an operation is performed.
Format:  PROPAGATE
Valid in state  EDIT (while TIEING and JOINING)

TIE

Does a simultaneous edit of the end points of two features to produce a graphical match. Acts as JOIN (qv) but leaves the two features independent.
Format:  TIE
Valid in state  LINE

TEXT AND SYMBOL COMMANDS

TEXT AND SYMBOL COMMANDS

TEXT

Creates a text feature. MODIFY state is entered, allowing the text to be amended before being entered into the file by END or DEPOSIT. Uses the current text attribute set as defined by SET commands (qv). If the text is to have leading spaces or tabs, then it must be enclosed in double quotes.

NOTE: An implied TEXT or REPLACE command is inserted before any command that is terminated by a Control/Z (that is the CTRL and Z keys pressed together). REPLACE is used if it is valid, and otherwise TEXT is used.

If a character within the text is preceded by _$, then 128 is added to the ASCII value of the character. This allows access to ASCII characters 128 to 255, provided that these are defined in the TRI file. To obtain the _$ character itself, use _$_$. If the keyboard allows ASCII characters in the range 128-255 to be entered directly, for instance by using the Compose Character key, then this mechanism may also be used. See the FRTLIB User Guide, in the Mapping Package documentation, for details of defining a TRI file.

Format:  TEXT  text
or       text_^Z
eg       TEXT High St.
or       High St._^Z
Valid in states  READY LINE CIRCLE TEXT SYMBOL MODIFY

LARGER

Makes text or scaled symbol larger. For texts with height in pointsize units it uses the next available pointsize. Otherwise the text or symbol is increased in size by 10%.
Format:  LARGER
Valid in states  TEXT SYMBOL MODIFY

SMALLER

Makes text or scaled symbol smaller. For texts with height in pointsize units it uses the next available pointsize. Otherwise the text or symbol is decreased in size by 10%.
Format:  SMALLER
Valid in states  TEXT SYMBOL MODIFY

MARGIN

Shifts text to specified OS marginal position.
Format:  MARGIN  integer
Valid in states  TEXT MODIFY

ROTATE

Rotates text or symbol in terms of angles measured anticlockwise from the horizontal.
Format:  ROTATE  subcommand
Valid in states  TEXT SYMBOL MODIFY

TURN

Rotates text or symbol in terms of bearings measured clockwise from grid north.
Format:  TURN  subcommand
Valid in states  TEXT SYMBOL MODIFY

ALIGN

Define size and rotation of a scaled symbol with cursor. When symbol is suitably aligned, disconnect cursor with an END.
Format:  ALIGN
Valid in states  SYMBOL MODIFY

STRETCH

Define size of a scaled symbol with cursor. When symbol is of a suitable size, disconnect cursor with an END.
Format:  STRETCH
Valid in states  SYMBOL MODIFY

BEND

Bends a text around a linear feature.

Each character of the text string becomes an individual text component, with its locating point positioned on the linear found feature and its orientation parallel to the found feature at this point. Any characters with zero width are taken to represent diacritical marks (such as accents) and are put together with the following character in a single component.

When BENDing around circles or circle arcs, then the direction (i_.e_. clockwise or anticlockwise) that the text takes is determined by the original orientation of the text, and the tangent of the arc at the first point used to define the BEND.

This command is only valid if the COMPOSITE option has been enabled and the existing text consists of a single text component. (If text is already composed of multiple components, then use the COLLAPSE command to achieve a single text component)

Format:  BEND  subcommand
Valid in state  MODIFY

COLLAPSE

This command is only valid if COMPOSITE has been ENABLED.

Converts two or more component texts into a single text component. If any of the component texts within the feature contain more than one letter, then they are assumed to be words, and a space is added between each collapsed component. If all the components consist of one letter, then no extra spaces are added (this would be the case if the composite text was produced by the BEND command).

When in TEXT or MODIFY state, all the text components are collapsed into one subtext. The resulting text takes its attributes from the first text component.

When in MODIFY (part) state the current text component has the following text component added to it. This combined text component takes its attributes from the current text component.

Format:  COLLAPSE
Valid in states  TEXT MODIFY

PARAGRAPH

This command is only valid if COMPOSITE has been ENABLED.

Treats a text feature as a paragraph of text, and allows word processing operations on it.

The text is reformatted as a paragraph. This paragraph is positioned with the locating point of its first component text positioned so that the first line of the formatted paragraph is as close as possible to the first line of the original feature.
The first component of the original text feature also provides the orientation and the line spacing of the paragraph. The line spacing uses the TOLERANCE OFFSET, to provide an offset for each succeeding line of text (see OFFSET command for details).

This command leaves LITES2 in MODIFY state, with the first text component as the current component.

Format:  PARAGRAPH  subcommand
Valid in states  TEXT MODIFY

WHOLE

Changes from MODIFY (part) state to MODIFY state; i_.e_. change from editing individual text components to editing the whole text feature.
Format:  WHOLE
Valid in state  MODIFY

REPLACE

Replaces existing text or AC text with the given string. For an AC, the string may be absent, in which case the AC text is removed. If the string is to have leading spaces or tabs, then it must be enclosed in double quotes.

If editing a composite text feature as a whole, all the individual text components are replaced by one single component.

NOTE: An implied TEXT or REPLACE command is inserted before any command that is terminated by a control Z. REPLACE is used if it is valid, and otherwise TEXT is used.

Format:  REPLACE  text
or       text_^Z
Valid in states  TEXT MODIFY AC

SUBSTITUTE

Substitutes new substring for existing one in text feature or ancillary code. If either the old or new text contains spaces then it should be enclosed in double quotes.

Note: if in MODIFY (part) state, then only the current text component is searched for the existing text string. If dealing with whole texts, then the first occurrence will be changed.

Format:  SUBSTITUTE  oldtext newtext
eg       SUBSTITUTE FRED JIM
or       SUBSTITUTE "Ford Prefect" "Zaphod Beeblebrox"
Valid in states  TEXT MODIFY AC

ATTRIBUTE COMMANDS

ATTRIBUTE COMMANDS

GET

Copy the specified attribute set into the current attribute set. These can then be modified using the SET command (qv) and saved using the PUT command.
Attribute sets contain values of feature code (FC), process code (PC), PROCESS (for use at end of construction), and ACs.
There are 16 attribute sets.
Format:  GET  integer
Valid in states  INITIAL READY LINE CIRCLE TEXT SYMBOL EDIT ON WINDOW AC

PUT

Copy the current attribute set into the specified attribute set.
Attribute sets contain values of feature code (FC), process code (PC), PROCESS (for use at end of construction), and ancillary codes (ACs).
There are 16 attribute sets.
See also GET and SET.
Format:  PUT  integer
Valid in states  INITIAL READY LINE CIRCLE TEXT SYMBOL EDIT ON WINDOW AC

SET

Sets values for various attributes in the current attribute set, which is used for new constructions. Values for FC, PC, PROCESS, point attributes and ACs, can be saved by PUT, and restored by GET, whereas global attributes cannot.
Format:  SET  subcommand
Valid in states  INITIAL READY LINE CIRCLE TEXT SYMBOL MODIFY EDIT ON WINDOW AC

UNSET

Unsets values for various attributes in the current attribute set.
Format:  UNSET  subcommand
Valid in states  INITIAL READY LINE CIRCLE TEXT SYMBOL MODIFY EDIT ON WINDOW AC

REPEAT

Set the values in the current attribute set to the values of the found feature. Enables future constructions to have the same attributes as the found feature.
See also GET and SET.
Format:  REPEAT subcommand
Valid in states  LINE CIRCLE TEXT SYMBOL

SELECT

Makes feature selections by various criteria. Selections may be applied to windowing and FIND and SEARCH operations, and can be activated for output. After SELECT ALL, the first SELECT command for a given attribute implies the deselection of all non-selected values for that attribute.
Format:  SELECT  subcommand
Valid in states  INITIAL READY SETUP

DESELECT

Specifies features which are not to participate in future operations. See SELECT.
Format:  DESELECT  subcommand
Valid in states  INITIAL READY SETUP
Takes same subcommands as SELECT (qv), but DESELECT ALL and DESELECT ACGROUP are not valid.

GEOMETRY

Geometries are dynamic data structures (ie they are only available while LITES2 is running) that represent 2 dimensional geometric data. They can be manipulated in more complex ways than features, for example they can be combined together and buffer zones can be created around them. Their main advantage is that they represent areas in a more coherent manner than either IFF features or LITES2 regions.

There are three types of geometry - point (dimension 0), line (dimension 1) and area (dimension 2). Each of these types may consist of one or more parts, thus, for example a river network which in an IFF file consists of several line features, would produce one multi part line type geometry. Where a geometry consists of only one part it is called a simple geometry and when it consists of more than one part it is considered to be complex.

A simple area consists of a single outer boundary or ring (digitised in a counter clockwise direction) and possibly one or more inner boundaries or rings (digitised in a clockwise direction). These boundaries must not self-intersect or intersect each other. Inner boundaries must all lie within the outer boundary and must not lie within another inner boundary.

Features can be selected by geometry, where the geometry is of area type. To do this selection, the features are converted to geometries so they must be representable by valid geometries of their default type. See the GEOMETRY FEATURE command for details of these default types.

There are 32 geometries available.

An appropriate licence is required to use this command.

Geometry manipulations make use of a shared image pointed at by the logical name LSL$LITES2_GEOM_ROUTINES. This image is supplied by Laser-Scan. It is called LSL$EXE:LITES2GEOMSHR.EXE.
This shared image in turn makes use of the image pointed at by the logical name LSL$LSLGOTHICSHR. This is normally LSL$LIBRARY:LSLGOTHICSHR in the LSLSYSTEM package.

Format:  GEOMETRY subcommand
Valid in states:
READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON CONSTRUCT

REGION

An appropriate licence is required to use this command.

Creates or adds points to the specified region. There are 32 regions available.

The command REGION n defines the found linear, text or symbol feature, or the current text component or symbol when in MODIFY state with no found feature, to be the specified region.
For text features, the region consists of the joined up boxes around each character (qv TOLERANCE EXPAND); for symbols it consists of its bounding box.

Regions are always taken to be closed areas. A closing line is assumed. Once defined, a region can be used for feature selection, using SELECT and DESELECT, and also via the $INREGION, $OUTREGION, and $CUTREGION system variables. Features can also be clipped to regions (qv CLIP command).
Regions can be cancelled with the CANCEL REGION command, transformed with the TRANSFORM REGION command, their vertices listed with the SHOW REGION command and they can be displayed on the screen with the DRAW REGION and DRAW AREAREGION commands.

Format:  REGION  integer [subcommand]
eg       REGION 5
or       REGION 5 POINT 10.0 20.0
Valid in states:
READY LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON CONSTRUCT

ANCILLARY CODING COMMANDS

ANCILLARY CODING COMMANDS

ANCILLARY

Allows ancillary code manipulation. If in INITIAL or READY state (no found feature), then the ACs in the current attribute set are edited, otherwise the ACs of the found feature are edited.
AC state is entered, and commands PREVIOUS/NEXT/FIRST/LAST (qv) will move between the TCs/CHs/ACs. DELETE will delete the current TC/CH/AC, ADD will add new ones, ALTER will change the current AC, while REPLACE and SUBSTITUTE will allow the text only to be changed.
To display the current list of ACs, use EXAMINE AC (for feature), or SHOW ATTRIBUTE (for current attribute set).
END or ABANDON will revert to READY state. The ACs belonging to a feature will be unchanged of ABANDON is used, but changes to the current attribute set cannot be 'undone'.
Format:  ANCILLARY
Valid in states  LINE CIRCLE TEXT SYMBOL

AC

Alias for ANCILLARY command (qv).

ADD

Add a new AC, TC or CH to the found feature, or to the current attribute set.
Format:  ADD  subcommand
Valid in state  AC

ALTER

Amend the current AC, TC or CH.
Format:  ALTER  subcommand
Valid in state  AC
Subcommands as ADD (qv)

TRAIL

Not yet implemented. Allows alteration of trailing TC/CH entries for the current layer.
Format:  TRAIL
Valid in state  READY

INTERROGATION COMMANDS

INTERROGATION COMMANDS

EXAMINE

Displays attributes of found feature.
Format:  EXAMINE  subcommand
Valid in states:
LINE CIRCLE TEXT SYMBOL EDIT MODIFY ON WINDOW CONSTRUCT AC RECOVER

SHOW

Displays information requested.
Format:  SHOW  subcommand
Valid in all states

TIME

Display and manipulation of timing information. For those subcommands which take an argument, it is used to set or clear that timing field.
Format:  TIME  subcommand
eg       TIME ALL
or       TIME FIND 0
Valid in all states

WINDOWING COMMANDS

WINDOWING COMMANDS

DRAW

Draws on the LITES2 screen(s).

DRAW MAP and DRAW SCREEN clear the display and draw the whole or part of the IFF file(s) being edited. The features in the IFF file are drawn with the characteristics specified for their feature code in the FRT file being used. The action of DRAW may be modified by SUPPRESS, and ENABLE VECTOR (qv).

Other DRAW commands allow additional information to be added to the picture on the screen. This data is drawn with characteristics specified by the ANNOTATION command.

By default, LITES2 uses drawing buffers which can hold 8192 points, and this limits the size of areas that can be filled. Areas with more than this number of points will only be drawn in outline (perhaps with some invisible lines being visible). The size of the drawing buffer can be altered by setting the logical name LSL$FILL_POINTSMAX to the required size before LITES2 is started up. This logical name also controls the size of images that can be drawn; the error message

  "Buffer too small to draw <type> - zoom in or increase LSL$FILL_POINTSMAX"
 
indicates that the buffers are too small, and should be increased.

When drawing fill areas there is a limit to the number of times a scan line can be cut. By default this is 100. If the message

   "FILL_SIDE - Too many intersections found - ignored"
occurs, then this number is too small. It can be set by defining the logical name LSL$FILL_CUTSMAX before starting LITES2.

Note that memory has to be allocated in proportion to these numbers, so unnecessarily large values should be avoided.

Format:  DRAW  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL SETUP

WINDOW

Defines portion of map to be displayed on graphics screen for enlargement, etc. Use the DRAW command (qv) to redraw either the whole map or the current window. The action of WINDOW may be modified by SUPPRESS, and ENABLE VECTOR (qv).
The two subcommands only differ in the way the screen picture and cursor position are treated during the operation.
Format:  WINDOW  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL WINDOW SETUP

PICTURE

Allows the IFF data to be transformed as it is displayed on the screen.

This command is only available on versions of LITES2 running on suitable hardware. This includes LITES2 running under VWS and MOTIF windowing systems.

Format:  PICTURE  subcommand
Valid in states  READY

SUPPRESS

Modifies the action of DRAW, WINDOW, ZOOM, OVERLAY ERASE, and DELETE. SUPPRESS may be used to prevent the updating of a display during these operations. Displays may be suppressed during initial draw to speed things up. The action of SUPPRESS persists only until the next of these operations - the command must then be repeated if required.
Format:  SUPPRESS  subcommand
Valid in states  READY LINE CIRCLE TEXT SYMBOL WINDOW SETUP PAINT

ZOOM

Redraws the area around the cursor enlarged by a given zoom factor in the range 0.01 to 100.0. The default factor is 5.0.

If the subcommand IMAGE is given, then the zoom factor is interpreted instead as the pixel zoom of raster images, e.g. ZOOM n IMAGE means draw the image with n screen pixels for each image pixel. Numbers less than 1 mean to subsample the image, e.g. ZOOM 0.25 IMAGE (or ZOOM 1/4 IMAGE) means that each screen pixel represents a 4 by 4 block of image pixels.

The action of ZOOM may be modified by SUPPRESS, and ENABLE VECTOR (qv)

Format:  ZOOM  [real] [IMAGE]
eg       ZOOM
or       ZOOM 20
or       ZOOM 0.3
or       ZOOM 1 IMAGE
or       ZOOM 1/4 IMAGE
Valid in states  READY LINE CIRCLE TEXT SYMBOL SETUP PAINT

LABEL

Sets the attributes to be used when annotating features or points with the DRAW LABEL command. Each LABEL command will set an additional attribute, and all these attributes (if present) will be used to annotate each feature that appears on the screen.

eg LABEL FSN LABEL FC LABEL AC Height

will cause labels of the form "fsn fc [height]" to be attached to each feature on the screen. The height will only occur if the feature has a height AC (type 3) associated with it.

The LABEL NONE command should be used to cancel all labelling attributes.

The LABEL FEATURE command (default) allows features to be labelled by the next DRAW LABEL command; the LABEL POINT command allows the points within features to be labelled by the next DRAW LABEL command.

Where the AC or attribute to be labelled is explicitly specified, it can be referred to by its name or by the corresponding integer.
See the section on LITES2 command language for details of the format for this type of command argument.

Format:  LABEL  subcommand
Valid in all states

ANNOTATION

Sets the characteristics of graphical information, other than the map data drawn by LITES2. This includes annotation produced by the various DRAW commands.

When labelling features the following rules apply:

Format:  ANNOTATION  subcommand
Valid in all states

EXITING COMMANDS

EXITING COMMANDS

DUMP

Finishes and saves workspace IFF file(s).
Renames .WRK workspace file as .DMP. if no filename given. Useful if just stopping for lunch and intend to resume LITES2 after: the session may be resumed with e.g. IFF LSL$LITES2WORK:name.DMP
If DISABLE EXIT (qv) was used, LITES2 will return to INITIAL state in preparation for reading in different map(s).
Format:  DUMP  [filename]  (full command required)
Valid in state  READY

EXIT

Finishes editor session and creates new version of IFF file(s).
If SELECT OUTPUT has been given, then only the selected features are output.
A filename for the output may be specified. If a filename is specified and more than one map has been selected for output, the selected files will be merged together to form one file. This merged file will have a valid type 2 map descriptor, having the scale of the first map that it contains. Its map header will be blank.

If DISABLE EXIT (qv) was used, LITES2 will return to INITIAL state in preparation for reading in different map(s).

Format:  EXIT  [filename]  (full command required)
Valid in state  READY

QUIT

Finishes and ignores all editing, or discards a particular map. Deletes the .WRK workspace file.

If used without an integer argument, then all maps are discarded. If DISABLE EXIT (qv) was used, LITES2 will return to INITIAL state in preparation for reading in different map(s). If already in INITIAL state, the session is always ended.

Used with the optional integer (a map number), only that map is discarded, and LITES2 remains in the same state. To save the edits made to a map before discarding it, use the WRITE command, possibly in combination with SELECT MAP and SELECT OUTPUT if more than one map is in use. The map being unloaded will still remain on the screen until a redraw operation is performed (except on a display with segment store and ENABLE SEGMENTS, in which case the map will be erased from the screen).

If the map unloaded is not the one with the highest map number, then a "hole" will remain in the list of map numbers in use. The system variable $MAPTOTAL still holds with highest map number in use, which may not be the same as the total number of maps in use. When a new map is read, it will use the lowest available map number. The system variable $MAPSTATUS may be used to determine the status of a particular map number.

If all maps are unloaded while still in READY state, then when the first map is read, the LITES2 working area will be set to its RANGE (plus the usual 5_% all round), possibly modified by a RANGE LIMITS command, and the ranges of any raster images in use.

Format:  QUIT  [integer] (full command required)
Valid in states  INITIAL READY

WRITE

Creates new version of IFF file(s) from the current workspace file(s) as for EXIT. The editing session is not terminated.
May be used to output the current state of editing, or to create subsets of a file using SELECT OUTPUT.
A filename for the output may be specified. If a filename is specified and more than one map has been selected for output, the selected files will be merged together to form one file. This merged file will have a valid type 2 map descriptor, having the scale of the first map that it contains. Its map header will be blank.

WRITE may be used to produce new versions of READONLY or INSITU files, possibly with selections, whereas EXIT has no effect on these.

Format:  WRITE  [filename]  (full command required)
Valid in state  READY

MISCELLANEOUS COMMANDS

MISCELLANEOUS COMMANDS

NULL

The null operation. Nothing is done.
Format:  NULL
Valid in all states

DEBUG

The LITES2 program debug collapse routine is entered. This is intended as a program development tool. If entered by accident then give command GO to continue.
Format:  DEBUG integer  (full command required)
Valid in all states

SECTOR

Sets the number of sectors in x and y directions for the spatial index. This is a program tuning aid and is not recommended for operator use.

Increasing the number of sectors (up to the point where, on average, there is one feature in each sector) will increase the speed of finding and windowing operations; however there will be a increase in the time taken to read maps into LITES2, and in the time taken to initialise searches and redrawing the entire LITES2 area.

Increasing the number of sectors uses more system resources, and LITES2 may exit with a "Insufficient virtual memory" error, while reading in the map(s) or carrying out editing operations. In this event either use fewer sectors, or see your system manager to get your quotas increased.

The default state is the equivalent of a SECTOR 30 30 command. When editing single standard map sheets, it is not usually productive to increase the sectors to more than SECTOR 50 50, and in fact a performance improvement may be noticed in some applications if the number of sectors is reduced below the default. The command DRAW GRID will display the sector grid as an aid to determining if the current setting is sensible.

Format:  SECTOR  integer integer
Valid in state  INITIAL

RANGE

Specifies an area to be sectored which is not the default area. By default the area that will be sectored is the combined range of all maps and images specified in INITIAL state, plus 10% (i.e. 5% of the combined range is added to all edges).
Format:  RANGE  subcommand
Valid in states  INITIAL READY

SAVE

Saves requested information in a file or macro.
Format:  SAVE subcommand
Valid in all states

VIEW

Viewing commands make use of a shared image pointed at by the logical name LSL$LITES2_VIEW_ROUTINES. This image is supplied by Laser-Scan. It is called LSL$EXE:LITES2VIEWSHR.EXE.

The VIEW command controls the generation and display of 3 dimensional pictures (called views) from DTI images which represent the terrain. Each view can consist of up to three levels; these levels may either contain terrain information or vector information (from the IFF files).

An appropriate licence is required to use this command. As this command depends on the existence of DTI images, the licence for the IMAGE command is also required.

This command is only available with some versions of LITES2, and the user should refer to the hardware dependent reference manual for the possibilities available with his hardware.

Before a view can be produced its spatial context and IFF content must be defined. The basis for the specification of the view spatial context is the view cone. Commands are provided to locate and define the dimensions of this view cone in reference to the DTI and IFF files containing terrain and vector data to be included in the view. LITES2 will not permit the user to render a view until the spatial context of the view is adequately defined via one of two routes:

In both cases, optional front and back clip planes for the cone of vision may be specified.
Format:  VIEW subcommand
Valid in all states

SPAWN

An appropriate licence is required to use this command.
Creates a sub-process to execute a DCL command (which may be an @file command). If doing several commands, then one can SPAWN @TT:, perform the commands, then LOGOUT or CTRL/Z. Unless the /NOWAIT qualifier is given, LITES2 will wait for the subprocess to complete before continuing. If /NOWAIT is used, then the command executed by the subprocess should not normally read from or write to the terminal, since this is likely to result in confusion.
Format:  SPAWN [/NOWAIT] command
eg       SPAWN DIRECTORY LSL$IF:
or       SPAWN/NOWAIT UILMENUS EXAMPLE
Valid in all states

WORKSTATION

Alters facilities on the workstations in use.
Format:  WORKSTATION  subcommand

OVERLAY

Specifies details of the appearance of display overlays. These must first be created using the WORKSTATION OVERLAY or DISPLAY OVERLAY commands. Several of the OVERLAY subcommands require that the overlay to which they are to apply is first specified in an OVERLAY NUMBER command.
For more information about overlays, see the separate section of the manual below.
Format:  OVERLAY  subcommand
Valid in all states except PAINT

IMAGE

An appropriate licence is required to use this command.

Specifies details of raster images. These may be displayed in display overlays using the OVERLAY SELECT IMAGES command. Note that display overlays are not supported by all version of LITES2. Several of the IMAGE subcommands require that the image to which they are to apply is first specified in an IMAGE NUMBER command.
For more information about images, see the separate section of the manual below.

Format:  IMAGE  subcommand
Valid in all states except PAINT

DISPLAY

Specifies details of displays (additional windows on the display screen).

This command is only available with some versions of LITES2, and the user should refer to the hardware dependent reference manual for the possibilities available with his hardware. Displays 1 and 2 (primary and secondary) are created automatically when LITES2 moves from INITIAL to READY state - other displays are created by the DISPLAY CREATE command.

Format:  DISPLAY  subcommand
Valid in all states

PLOT

Controls hardcopy plotting.

This command is only available with some versions of LITES2, and the user should refer to the hardware dependent reference manual for the possibilities available with his hardware.

Format:  PLOT  subcommand
Valid in all states

WARP

Control transformation (warping) of raster images.
A typical sequence of commands might be:
WARP TRANSFORM - specify type of transformation
WARP CLEAR - clear previously specified points if required
WARP POINT IMAGE/MAP - specify points (as many as required)
WARP FIT - calculate a fit
WARP DELETE/REPLACE - modify points if required, or add more
WARP FIT - fit again if required
WARP ON - turn on warping
WARP MAP/IMAGE - specify whether to warp the vectors or the image
Use drawing commands to view the warped picture.
Format:  WARP  subcommand
Valid in states  INITIAL READY LINE CIRCLE TEXT SYMBOL