The SQUARE command allows the geometry of features to be constrained so as to produce a "neat" appearance. LITES2 implements two different algorithms which are known as "angle squaring" and "OS squaring"
This section of the user manual explains in detail how squaring is achieved and how to use the commands.


The angle squaring command has only one tolerance (an angle), and is totally independent of the units or size of either the map (IFF data), or the sheet. It can however only sensibly cope with features having a single orientation of corners to be squared. As it has no distance tolerance, corners can be moved by significant amounts if the feature is off-square.

The OS squaring algorithm was a direct implementation of the D14 algorithm as used in the ICL mainframe DMB system at OS Southampton. It has been enhanced to include facilities from the algorithm used by OS in their later programs. These additional facilities are selected by the ENABLE FIXED command (on by default) and include:

It has several tolerances expressed as sheet mm, but has inbuilt assumptions about the map units (IFF data). It will only work sensibly if the IFF units are ground metres, and the map scale is in the range 1:1250 to 1:10000. It uses an iterative approach, and can cope with multiple squaring orientations. It also has a facility for based squaring of features to predetermined orientation lines.


The angle squaring algorithm is invoked by the SQUARE ANGLE command. It requires that a linear feature has already been found at a corner vertex that is to become a right angle. This nominated corner defines the orientations for parallel and perpendicular for the rest of the feature. The actions of the algorithm are as follows:


The OS D14 squaring algorithm is invoked by the SQUARE WHOLE or SQUARE PART commands. Both these commands require that a linear feature has already been found. The position on the feature by which it was found is immaterial. The only difference between SQUARE WHOLE and SQUARE PART is that for SQUARE WHOLE the value of the tolerance parameter SQMT is ignored and assumed to be infinite.
The actions of the basic algorithm are as follows:

In the enhanced squaring algorithm (with ENABLE FIXED) the steps are modified as follows:


Default settings of things that control squaring may need to be altered. These are:-

TOLERANCE DEGREES real  - Angle squaring tolerance in degrees
TOLERANCE RADIANS real - Angle squaring tolerance in radians
TOLERANCE SQDEF  - restore to default setting all OS SQxx parameters
TOLERANCE SBMT  real - as SQMT but for based squaring
TOLERANCE SBLT  real - as SQLT but for based squaring
TOLERANCE SQBT  real - length of base must be longer than this distance (mm)
TOLERANCE SQCT  real - distance (mm) to be used when comparing the end
                          points of a feature for closure
TOLERANCE SQMT  real - distance (mm) to be used when deciding if a
                          side is to be included in this squaring pass.
                          It is the maximum lateral distance a point
                          might be expected to move
TOLERANCE SQLT  real - minimum length of line to be moved (mm)
TOLERANCE SQPL  real - angle (degrees) to be used in OS squaring
                          to test if two sides are parallel
TOLERANCE SQWT  real - warning issued when point moved more than this (mm)