Next Previous Up Contents
Next: area
Up: Layer Types
Previous: mark4

#### 8.3.12 `polygon`

Draws a closed polygon given an array of coordinates that define its vertices. In fact this plot requires the position of the first vertex supplied as a positional value in the usual way (e.g. `X` and `Y` coordinates) and the second, third etc vertices supplied as an array using the `otherpoints` parameter.

Invocation might therefore look like "`xN=x1 yN=y1 otherpointsN=array(x2,y2, x3,y3, x4,y4)`".

Usage Overview:

```   layerN=polygon useposN=true|false polymodeN=outline|border|fill|cross|star
thickN=<int-value>
<pos-coord-paramsN> otherpointsN=<array-expr> inN=<table>
ifmtN=<in-format> istreamN=true|false icmdN=<cmds>
```

All the parameters listed here affect only the relevant layer, identified by the suffix `N`.

Positional Coordinate Parameters:
The positional coordinates `<pos-coord-paramsN>` give a position for each row of the input table. Their form depends on the plot geometry, i.e. which plotting command is used. For a plane plot (`plot2plane`) the parameters would be `xN` and `yN`. The coordinate parameter values are in all cases strings interpreted as numeric expressions based on column names. These can be column names, fixed values or algebraic expressions as described in Section 10.

Example: ```   stilts plot2sky in=big_tab_VIR_VIS_CSA_public.fits
icmd='select ALTITUDE>4e4&&ALTITUDE<4.3e4'
layer=polygon polymode=fill
lon=LON_CENTER lat=LAT_CENTER
otherpoints=array(lon_corner_1,lat_corner_1,lon_corner_2,lat_corner_2)

`icmdN = <cmds>`       (ProcessingStep[])
Specifies processing to be performed on the layer N input table as specified by parameter `inN`. The value of this parameter is one or more of the filter commands described in Section 6.1. If more than one is given, they must be separated by semicolon characters (";"). This parameter can be repeated multiple times on the same command line to build up a list of processing steps. The sequence of commands given in this way defines the processing pipeline which is performed on the table.

Commands may alteratively be supplied in an external file, by using the indirection character '@'. Thus a value of "`@filename`" causes the file `filename` to be read for a list of filter commands to execute. The commands in the file may be separated by newline characters and/or semicolons, and lines which are blank or which start with a '`#`' character are ignored.

`ifmtN = <in-format>`       (String)
Specifies the format of the input table as specified by parameter `inN`. The known formats are listed in Section 5.1.1. This flag can be used if you know what format your table is in. If it has the special value `(auto)` (the default), then an attempt will be made to detect the format of the table automatically. This cannot always be done correctly however, in which case the program will exit with an error explaining which formats were attempted. This parameter is ignored for scheme-specified tables.

[Default: `(auto)`]

`inN = <table>`       (StarTable)
The location of the input table. This may take one of the following forms:
• A filename.
• A URL.
• The special value "`-`", meaning standard input. In this case the input format must be given explicitly using the `ifmtN` parameter. Note that not all formats can be streamed in this way.
• A scheme specification of the form `:<scheme-name>:<scheme-args>`.
• A system command line with either a "`<`" character at the start, or a "`|`" character at the end ("`<syscmd`" or "`syscmd|`"). This executes the given pipeline and reads from its standard output. This will probably only work on unix-like systems.
In any case, compressed data in one of the supported compression formats (gzip, Unix compress or bzip2) will be decompressed transparently.
`istreamN = true|false`       (Boolean)
If set true, the input table specified by the `inN` parameter will be read as a stream. It is necessary to give the `ifmtN` parameter in this case. Depending on the required operations and processing mode, this may cause the read to fail (sometimes it is necessary to read the table more than once). It is not normally necessary to set this flag; in most cases the data will be streamed automatically if that is the best thing to do. However it can sometimes result in less resource usage when processing large files in certain formats (such as VOTable). This parameter is ignored for scheme-specified tables.

[Default: `false`]

`otherpointsN = <array-expr>`       (String)
Array of coordinates giving the points of the vertices defining the polygon to be drawn. These coordinates are given as an interleaved array by this parameter, e.g. (x1,y1, x2,y2, y3,y3). The basic position for the row being plotted either is or is not included as the first vertex, according to the setting of the `usepos` parameter.

Some expression language functions that can be useful when specifying this parameter are `array()` and `parseDoubles()`.

The value is an array-valued algebraic expression based on column names as described in Section 10. Some of the functions in the Arrays class may be useful here.

`polymodeN = outline|border|fill|cross|star`       (PolygonShape)
Polygon drawing mode. Different options are available, including drawing an outline round the edge and filling the interior with colour.

The available options are:

• `outline`: draws a line round the outside of the polygon
• `border`: draws a line butting up to the outside of the polygon; may look better for adjacent shapes, but more expensive to draw
• `fill`: fills the interior of the polygon
• `cross`: draws a line round the outside of the polygon and lines between all the vertices
• `star`: draws a line round the outside of the polygon and lines from the nominal center to each vertex

[Default: `outline`]

`shadingN = auto|flat|translucent|transparent|density|aux|weighted <shade-paramsN>`       (ShapeMode)
Determines how plotted objects in layer N are coloured. This may be influenced by how many objects are plotted over each other as well as the values of other parameters. Available options (Section 8.4) are:
• `auto`
• `flat`
• `translucent`
• `transparent`
• `density`
• `aux`
• `weighted`
Each of these options comes with its own set of parameters to specify the details of how colouring is done.

[Default: `auto`]

`thickN = <int-value>`       (Integer)
Controls the line thickness used when drawing polygons. Zero, the default value, means a 1-pixel-wide line is used. Larger values make drawn lines thicker, but note changing this value will not affect all shapes, for instance filled polygons contain no line drawings.

[Default: `0`]

`useposN = true|false`       (Boolean)
Determines whether the basic positional coordinates are included as one of the polygon vertices or not. The polygon has N+1 vertices if true, or N vertices if false, where N is the number of vertices supplied by the array coordinate. If false, the basic position is ignored for the purposes of drawing the polygon.

[Default: `true`]

Next Previous Up Contents
Next: area
Up: Layer Types
Previous: mark4

STILTS - Starlink Tables Infrastructure Library Tool Set