1. Home
  2. PTCLOSEPOLYGON procedure

PTCLOSEPOLYGON procedure

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
Updated on March 6, 2019

Was this article helpful?