Closes open polygons (M.A. Mugglestone, S.A. Harding, B.Y.Y. Lee, P.J. Diggle & B.S. Rowlingson)
Option
PRINT = string token |
What to print (summary ); default summ |
---|
Parameters
OLDYPOLYGON = variates |
Vertical coordinates of each polygon; no default – this parameter must be set |
---|---|
OLDXPOLYGON = variates |
Horizontal coordinates of each polygon; no default – this parameter must be set |
NEWYPOLYGON = variates |
Vertical coordinates of the closed polygons |
NEWXPOLYGON = variates |
Horizontal coordinates of the closed polygons |
Description
A polygonal region of two-dimensional space is represented in Genstat by the coordinates of a sequence of points which define the boundary of the polygon with the last point implicitly connected to the first point. If the first and last pairs of coordinates are the same then the polygon is said to be closed, otherwise it is open. Sometimes it is necessary to work with a closed polygon, for example, when drawing a polygon onto a graphics device as a series of line segments. This procedure takes as input a set of coordinates which define a polygon. The parameters OLDXPOLYGON
and OLDYPOLYGON
specify variates containing the coordinates. The output of the procedure is a closed polygon, which is identical to the input polygon if it is already closed and otherwise consists of the input polygon with the first pair of coordinates repeated at the end. The coordinates of the closed polygon may be saved using the parameters NEWXPOLYGON
and NEWYPOLYGON
.
Printed output is controlled by the PRINT
option. The default setting of summary prints the horizontal and vertical coordinates of the closed polygon under the headings NEWXPOLYGON
and NEWYPOLYGON
.
Option: PRINT
.
Parameters: OLDYPOLYGON
, OLDXPOLYGON
, NEWYPOLYGON
, NEWXPOLYGON
.
Method
A procedure PTCHECKXY
is called to check that OLDXPOLYGON
and OLDYPOLYGON
have identical restrictions. It then checks whether the first and last pairs of coordinates are the same. If they are, the DUPLICATE
directive is used to copy OLDXPOLYGON
to NEWXPOLYGON
and OLDYPOLYGON
to NEWYPOLYGON
. If they are different, NEWXPOLYGON
and NEWYPOLYGON
are declared as variates with one more value than their old counterparts, and the EQUATE
directive is used to copy the values from OLDXPOLYGON
to NEWXPOLYGON
and OLDYPOLYGON
to NEWYPOLYGON
(so that the first element of each old variate is repeated at the end of the corresponding new one).
Action with RESTRICT
If OLDXPOLYGON
and OLDYPOLYGON
are restricted, only the subset of values specified by the restriction will be included in the calculations.
See also
Procedures: DPOLYGON
, PTCLOSEPOLYGON
, PTSINPOLYGON
.
Commands for: Spatial statistics.
Example
CAPTION 'PTCLOSEPOLYGON example'; STYLE=meta VARIATE xpoly; VALUES=!(0,1,1,0) & ypoly; VALUES=!(0,0,1,1) PTCLOSEPOLYGON OLDYPOLYGON=ypoly; OLDXPOLYGON=xpoly