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

#### 8.3.10 `poly4`

Draws a closed quadrilateral given the coordinates of its vertices supplied as 4 separate positions. The way that the polygon is drawn (outline, fill etc) is determined using the `polymode` option.

Polygons smaller than a configurable threshold size in pixels are by default represented by a replacement marker, so the position of even a very small polygon is still visible on the screen.

Usage Overview:

       layerN=poly4 polymodeN=outline|border|fill|cross|star thickN=<int-value>
                    minsizeN=<pixels> minshapeN=filled_circle|open_circle|...
                    shadingN=auto|flat|translucent|transparent|density|aux|weighted <shade-paramsN>
                    <pos-coord-params1N> <pos-coord-params2N> <pos-coord-params3N>
                    <pos-coord-params4N> 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-params1N>` , `<pos-coord-params2N>` , `<pos-coord-params3N>` , `<pos-coord-params4N>` give 4 positions 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 `x1N`, `y1N`, `x2N`, `y2N`, `x3N`, `y3N`, `x4N` and `y4N`. 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='every 32'
                       lon1=LON_CORNER_1 lat1=LAT_CORNER_1
                       lon2=LON_CORNER_2 lat2=LAT_CORNER_2
                       lon3=LON_CORNER_3 lat3=LAT_CORNER_3
                       lon4=LON_CORNER_4 lat4=LAT_CORNER_4
                       aux=RADIUS
                       layer_o=poly4 polymode_o=outline shading_o=aux
                       layer_f=poly4 polymode_f=fill shading_f=aux opaque_f=4
                       auxmap=rainbow auxvisible=false xpix=300 ypix=300 labelpos=none

`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`]

`minshapeN = filled_circle|open_circle|...` (MarkerShape)
  Defines the shape of markers plotted instead of the actual polygon shape, for polygons that are smaller than the size threshold defined by `minsize`.

  The available options are:

  - `filled_circle`
  - `open_circle`
  - `cross`
  - `x`
  - `open_square`
  - `open_diamond`
  - `open_triangle_up`
  - `open_triangle_down`
  - `fat_circle`
  - `fat_cross`
  - `fat_x`
  - `fat_square`
  - `fat_diamond`
  - `fat_triangle_up`
  - `fat_triangle_up`
  - `filled_square`
  - `filled_diamond`
  - `filled_triangle_up`
  - `filled_triangle_down`

  [Default: `x`]

`minsizeN = <pixels>` (Integer)
  Defines a threshold size in pixels below which, instead of the polygon defined by the other parameters, a replacement marker will be painted instead. If this is set to zero, then only the shape itself will be plotted, but if it is small it may appear as only a single pixel. By setting a larger value, you can ensure that the position of even small polygons is easily visible, at the expense of giving them an artificial shape and size. This value also defines the size of the replacement markers.

  [Default: `1`]

`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`]

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

STILTS - Starlink Tables Infrastructure Library Tool Set
Starlink User Note256
STILTS web page: http://www.starlink.ac.uk/stilts/
Author email: m.b.taylor@bristol.ac.uk
Mailing list: topcat-user@jiscmail.ac.uk