Releases to date have been as follows:
stilts",
invoked using the stilts script or the
stilts.jar jar file, and the various tasks are
named as subsequent arguments on the command line.
Command arguments are supplied after that.
The new invocation syntax is described in detail elsewhere in
this document. As well as invocation features such
as improved on-line help, optional prompting,
parameter defaulting, and more uniform access to common features,
this will make it more straightforward to wrap these tasks
for use in non-command-line environments, such as behind a
SOAP or CORBA interface, or in a CEA-like execution environment.
tmatch2 has been introduced.
This provides flexible and efficient crossmatching between
two input tables. Future releases will provide commands for
intra-table and multi-table matching.
tcat has been introduced, which
allows two tables to be glued together top-to-bottom.
This is currently working but very rudimentary - improvements
will be forthcoming in future releases.
calc has been introduced,
which performs one-line expression evaluations from the
command line.
tpipe
and other commands have been introduced:
addskycoords: calculates new
celestial coordinate pair from existing ones
(FK4, FK5, ecliptic, galactic, supergalactic)replacecol: replaces column data,
using existing metadatabadval: replaces given 'magic'
value with nullreplaceval: replaces given 'magic'
value with any specified valuetablename: edits table nameexplodecols and explodecols commands
replace explode
The new stream parameter of tpipe now
allows you to write filter commands in an external file, to
facilitate more manageable command lines.
Wildarding for column specification is now allowed for some filter commands.
tcube Command
stats filter provides the same information as
the old stats output mode, but allows much more
flexible use of the results. It can also calculate many new
quantities, including quantiles, skew and kurtosis.meta filter provides the same information as
the old meta output mode, but allows much more
flexible use of the results.assert filter provides in-pipeline logical
assertions.uniq filter collapses multiple adjacent identical
or similar rows.sorthead filter provides a (usually) more
efficient method of doing what you could previously do
by combining sort and head filters.colmeta filter adds/modifies metadata for selected
columns.check filter checks table in stream - for debugging
purposes only.Additionally usage of the sort filter has been changed
so that it can now do everything that sortexpr used to
be able to do; sortexpr is now withdrawn.
plastic mode broadcasts the table to
one or all registered PLASTIC listeners.cgi mode writes the table to standard output in a
form suitable for output from a CGI script.discard mode throws away the table.topcat mode now attempts to use PLASTIC
(amongst other methods) to contact TOPCAT.stats and meta modes are mildly
deprecated in favour of the corresponding new filters
(see above).csv-noheader format variant output handler
added.roundDecimal and formatDecimal
functions introduced for more control over visual appearance
of numeric values.mark.workaround
system property which can
optionally work around a bug in some input streams
("Resetting to invalid mark" errors).ucd and
utype attributes of TABLE element in
votlint.istream=true is now less likely to cause a
"Can't re-read stream" error.colfits format, new startable.storage
policy "sideways") have been introduced.
These can provide considerable efficiency improvements for
certain tasks when working with very large (and especially wide)
tables.
multicone
- Makes multiple cone search queries to the same serviceregquery
- Queries the VO registrytranspose filter added.setparam and clearparams filters.addskycoords.tcat command has been replaced by more capable
tcat and
tcatn commands.
Between them these provide concatenation of an unlimited number of
homogeneous or heterogeneous input tables.
Additional columns may be added to indicate which of the input tables
given output rows originated from.
in in tcat,
cmd and friends)
may now be specified in the form "@filename".
This indicates that the value for the parameter is to be obtained
by reading it from the named file.
This is useful if a very long value is required for the parameter
in question. The script parameter of
tpipe has therefore been
withdrawn, since it did just the same thing.
ivo:- or myspace:-type URLs.
toHex and fromHex numeric conversion
functions have been added
(Section 10.7.4).commands etc.-J flag to stilts script
for passing flags directly to Java.out parameter to votlint.-ifndim and -ifshape flags to
explodeall filter.exact match mode in
tmatch2
now copes with array-valued columns.force parameter to multicone task
as a workaround for some broken services.stats filter.votlint about
utype attribute on RESOURCE elements.tjoin introduced.votlint
and votcopy.-bench flag to stilts command.text and ascii
output formats (now one-pass not two-pass).duptag parameters to tmatch2
task for customised renaming of columns with duplicated names.sinh, cosh, tanh
and inverses).funcs task, a browser for
expression language function documentation.-checkversion to list of stilts
flags.table parameter to
calc command
(for access to table parameters).param$ notation (Section 10.2).ucd$ notation
in expressions (Section 10.1)
and as column identifiers (Section 6.2).TNULLn header
cards - write them as numeric not string values.gcj).formatDecimalLocal functions in
class Formats.fluxToLuminosity and luminosityToFlux
functions in class
Fluxes.transpose filter.sqlcone
task introduced, along with some classes in package
uk.ac.starlink.ttools.cone designed for library use by
AstroGrid DSA code.
tmatch2 params
parameter now has minoccurs=0, since that can be true
for exact matches.-stdout and -stderr flags to
stilts command.app-description.xml
file.sqlcone command.fluxToLuminosity function.tmatch2
command are new tasks:
tskymatch2:
stripped down version of tmatch2 for ease of use when
matching with sky coordinates.tmatch1:
internal matcher, finds groups of objects within a table.tmatchn:
finds group or multiple-pair matches between multiple (>2)
tables.Two tasks have been renamed for improved clarity and consistency:
multicone is now named
coneskymatch
sqlcone is now named
sqlskymatch
There has also been some enhancement and rationalisation of
parameters for all table join tools (tmatch* as well as
tjoin,
coneskymatch and sqlskymatch):
fixcols and
suffix* parameters to control renaming of duplicated
columns in output tables (note this replaces the old
duptag* parameters in tmatch2).progress parameter
which allows you to configure whether progress is reported to the
console.copycols parameter of coneskymatch
and sqlskymatch now defaults to "*"
(include all columns from input table in the output).Section 7 of the manual has been somewhat rearranged and improved.
votlint handling of TABLEDATA-type
multi-dimensional char/unicodeChar arrays.
These are now split up into strings by counting characters rather
than using whitespace delimiters.
I think it's doing the right thing now.sqlclient,
which is a general JDBC-based SQL command-line client.sqlupdate,
which allows updates to existing rows in SQL tables.tosql
output mode:
write
(can be create, dropcreate
or append)newtable renamed
dbtable
database renamed
db for consistency with other commandsscorecol added to
tmatch2,
coneskymatch and
sqlskymatch commands,
which controls adding a new column to match output tables
containing a goodness-of-match value.parallel added to
coneskymatch task
which allows multiple cone searches to be carried out in
parallel.erract added to
coneskymatch which controls response to
isolated failures in individual cone search queries.-debug flag).help='*' which prints help for
all parameters of a task at once.+verbose flag
for reducing verbosity level.datatype attribute.progress parameter to tmatchn.emptyok parameter to
coneskymatch.calc task.stats filter cardinality value
calculation.fixcols.stats filter
usage message.server is
provided which allows STILTS commands to be executed via HTTP.
One purpose of this is to facilitate server-side use of the
plotting commands co-located with data to generate on-the-fly
graphical summaries of server-held datasets.
minReal and maxReal functions
(max/min ignoring blank values) in class
Arithmetic.
tcat's
loccol parameter.utype$ notation
in expressions (Section 10.1)
and as column identifiers (Section 6.2).regquery command has changed in implementation,
data access, and output format. It now queries VOResource1.0
registries rather than the very out of date registry protocol which
was used in earlier versions.fits-basic output
handler as signed byte values (TFORM=B,TZERO=-128)
rather than signed shorts (TFORM=I).regquery)
to fail for Java 1.6.votlint's validation tests
(VOTABLE element content model,
INFO and PARAM and FIELD required attributes).TFORMnn=rAw)
is now understood for FITS binary tables.addskycoords filter).votcopy: XML processing instructions
garbled on output, and pathnames in base parameters
inappropriately flattened in hrefs attribute values.votlint can now validate VOTable documents following
the (provisional, 2009-09-29 PR) VOTable 1.2 standard.votable.namespacing system
property.votlint now checks that the correct XML namespaces are
in use.parse* string->numeric conversion
functions now cope with leading or trailing whitespace.coneskymatch can now match using SIA and SSA
services as alternatives to Cone Search ones
(see its new servicetype parameter).startable.storage policy "adaptive"
is now the default. This should mean running out of memory less
often. The old behaviour can be restored by giving the new
-memory command line flag.fixcolnames.coneskymatch to fail in locales that use ","
for a decimal point.tmatch1, tmatch2, tmatchn and
tskymatch2).
For several common regimes, using default settings,
memory use has been decreased by a
factor of about 5, and CPU time reduced by a factor of about 3.tuning for
tmatch1, tmatch2 and tmatchn,
and parameter healpixk for tskymatch2).
Experimentation with these can lead to significant performance
improvements for given matches.find=best"
match assignments when pair matching in crowded fields.
Crossmatch results thus may differ between earlier versions
and this one. Both are reasonable, but the newer behaviour is
more correct. In non-crowded fields, there should be no change.malloc())
for intermediate-sized buffers
to avoid running out of java heap space.find=each" for
coneskymatch and sqlskymatch commands.
This allows you to get an output table with exactly one row for
each row of the input table.-memgui to monitor memory usage during runs.rowrange.array functions for constructing arrays,
and new aggregating functions median and
quantile.progress parameter
has changed; it now has an additional option which will write
limited profiling information as well as logging as the match
progresses.ylabel parameter to plothist command.random and sequential filters have
been renamed randomview and seqview
respectively. This provides a better idea of what they do.
Since they are only useful for debugging, it is unlikely that this
will break anyone's existing code.random introduced which converts tables
to random-access if necessary.legend parameter to
plotting commands.matcher parameters can now accept
classnames of MatchEngine implementation classes as
an option.stilts_jars.zip) as an alternative to
the monolithic jar file (stilts.jar).
This may be more appropriate for those using STILTS classes in a
framework that contains other third party class libraries.tmulti and tmultin.
These currently just copy multiple input tables to a single
multi-table container file (e.g. Multi-Extension FITS or
multi-TABLE VOTable). Future releases may generalise the output of
multi-table processing.multi parameter introduced for tcat
and tmulti tasks to pick up all tables in a
multi-table container file.treads and twrites
for multi-table I/O.addresolve;
this currently uses Sesame.repeat, which repeats table rows a
given number of times.long" in IPAC format
tables.meta filter.Finally, from this release STILTS requires version 1.5 (a.k.a. 5.0) of the Java J2SE Runtime Environment; it will no longer run on version 1.4, which is now very old. I don't expect this to cause compatibility issues for anyone, but I'm interested to hear if that's not the case.
http://user:pass@host/path) on
table URLs handled.tapquery and
tapresume have been introduced.
These provide support for the Table Access Protocol (TAP),
and allow freeform queries in an SQL-like language to be
made to remote databases.
soapout parameter to regquery
command.count, variance and
stdev functions to
Arrays.funcs window display.replaceval filter to work with Infinities.dashNS and
linewidthNS to plot2d task.taplint.
This is a validator for TAP (Table Access Protocol) services.
It is only likely to be useful to people developing or operating
TAP services.nan and inf representations.Infinity and NaN.coneskymatch cone search verbosity parameter so that
VERB=3 is not erroneously ignored.best1
and best2 have been added
for the find parameter in the pair matching commands
tmatch2 and tskymatch2.
They correspond to finding the best match in table B for each row
in table A, and in crowded fields often provide more intuitive
semantics than the previous symmetric best option
(in non-crowded fields there is generally no difference).
This replicates the matching performed by some other tools,
including Aladin.2d_ellipse,
and
skyellipse.d_err.
skyerr
matcher have changed slightly.Coords class has been replaced by
CoordsDegrees and
CoordsRadians
classes providing sky coordinate functions,
and a new class
TrigDegrees
provides normal degree-based trigonometric functions
alongside the radian-based versions in
Maths.
Some of the old function names have changed to make clear that they
use radians and not degrees.
This change should be much more convenient in most cases;
sorry it's taken so long to get round to.join function is added to the
Arrays class
to combine all the elements of an array into a string.taplint, mostly thanks to bug
reports etc from the TAP community:
ivo://ivoa.net/std/TAPRegExt#upload-*)
as per most recent TAPRegExt draft.parse to tapquery command,
allowing pre-send syntax checking of submitted ADQL.star.basicauth.user and
star.basicauth.password.coneskymatch in the presence of
unreliable or inconsistent DAL services.pixsample
which can sample pixel data from HEALPix table files
(useful for things like Schlegel dust extinction).
Also addpixsample filter,
which does the same job.pixfoot
which can generate MOC (Multi-Order Coverage) maps.coneskymatch
when using some Cone Search services (mostly VizieR).
This uses the Multi-Order Coverage map service operated by CDS.
It can make VizieR multi-cone queries much faster by not doing
cone searches that are outside the coverage region of the
catalogue in question.inMoc).votable.version.
Output version is VOTable 1.2 by default.votlint has been changed so that it handles
different VOTable versions more capably.
Versions 1.1+ are now validated against a schema
(which is how those versions are defined) rather than against
a DTD hacked to do the same job as the schema.
VOTable 1.3 validation is now provided.votcopy command has a new version
parameter to control output version,
and a new nomagic parameter to control whether
VALUES/null attributes are removed
where appropriate.+Inf"/"-Inf",
not "Infinity"/"-Infinity" as in
previous versions).votlint is now stricter about floating point
TD element contents.schemaLocation
attribute by default.hypot (=sqrt(x*x+y*y))
to the Maths class in expression language.split functions for string splitting
to the Strings class in expression language.-utype flags for addcol,
replacecol, colmeta and
setparam filters,
and utype option for meta filter.toString function:
it now works on non-numeric values,
gives the right answer for Long integers
and character values,
and returns a blank value rather than the string "null" or "NaN"
for blank inputs.OBS stage (ObsTAP validation)
to taplint.CAP stage of taplint.
Declared languages (including features) and output formats are
now checked.coneskymatch
parallel parameter.tmatchn group mode which could result in
output rows with columns from only a single table,
i.e. not representing an inter-table match,
even when join*=default.TFORMn=rC/rM).replacecol and replaceval
filters which could cause truncation of strings in FITS
and possibly VOTable output when the new value was longer
than the previously declared maximum length.tcat, tcatn so that in most cases
output column metadata is compatible with all input tables, not
just the first one in terms of nullability, array shape etc.rows"/"bytes"
rather than "row"/"byte"
for TAP capability unit values.MedAbsDev and ScMedAbsDev)
options to stats filter.star.basicauth.* system properties if they
have not been set up.-version flag has changed accordingly.meta now copes better with array-valued
table parameters.parallel parameter of skyconematch
(though this may be adjusted with a system property).toString overloads - now works for byte and
boolean values too.tcube, pixfoot).regquery command can now successfully talk to
the NVO/VAO/STSci registry.
That has been broken since mid-2010.tloop for generating single-column
tables from a numeric loop variable.taplint now checks for the right ObsCore ID,
though still recognises the wrong one (got from TAPRegExt),
and warns if found.Nd_cuboid matcher option to match commands.cdsskymatch.
In most cases (for querying tables that can be found in VizieR)
this can and should be used instead of
coneskymatch - it's much faster.coneskymatch, sqlskymatch
and pixfoot will now guess RA/Dec columns
if relevant parameters are left blank.png-transp
to generate PNG files with transparent backgrounds.taplint:
taplint
API to facilitate static acquisition of
report codes during programmatic use.
A few error codes have changed.taplint.taplint MDQ stage data type mismatch error
report for BOOLEAN/boolean declared/returned data.taplint now takes steps to ensure that TAP_SCHEMA
column list query is not truncated.taplint now flags absence of ObsCore table with
I[nfo] not F[ailure] status.taplint stages which
perform validation against XSD schemas.
Schemas from external namespaces may now be imported and used.
The CPV stage, which was previously broken and disabled
by default, is now fixed and enabled by default.
Known/expected schemas are stored locally, and a warning is
reported if external ones are used. Schema validation seems
remarkably complicated, so it's possible there are still errors
in this implementation - if you suspect so,
please report it.taplint.plot2d, plot3d and plothist.
Parameter class now supports generics)
and there are some visible
changes to the user documentation as well
(parameters now report their data type,
and tasks report their classname).
Normal (e.g. command-line) usage should not undergo any changes,
but a fair bit of UI code has changed, so unexpected problems
are possible.
gui,
which displays the table data in a scrollable
window on the screen.-allowunused flag to the stilts command.
If this is set, then unused parameter settings on the command line
just result in a warning, not failure of the command.votcopy
that generated unreadable output to BINARY or BINARY2 serialization
if any non-empty column had datatype="unicodeChar".
Also improved behaviour when copying between tables with
unicodeChar columns; these are usually preserved now, rather
than being squashed to datatype char.
Some lurking Unicode-related issues remain.tapskymatch.nearMoc, and MOC can be identified by
VizieR table IDs as well as by filename/URL.repeat filter,
add -row|-table
flags to control sequence of output rows.setparam
and repeat filters,
allow use of an algebraic expression for values,
not just a literal value.$ncol and $nrow to
the
expression language
to refer to the column and row counts in a table.
The special variable index is also deprecated in favour
of $index or $0.stilts invocation script to pick up classes from
stilts.jar in script directory in preference to
other places (e.g. topcat-full.jar).taplint to permit application/xml
not just text/xml content-type where appropriate (UWS stage).taplint so it doesn't warn (W-TMV-UNSC) about
unknown VOSITables schema.taplint so that unicodeChar
matches CHAR/VARCHAR in the same way as char
for column type declaration purposes.taplint so that capabilities document can have
TAPRegExt dataModel ivo-id elements with xs:anyURI rather than
vr:IdentifierURI (only a warning is issued in the latter case),
in anticipation of TAPRegExt-1.0 Erratum #1.taplint to handle adql:TIMESTAMP columns more
carefully on upload and retrieval.plot2plane. Points may be weighted.title
parameter.sizexy
allows plotting (optionally autoscaled)
markers with horizontal and vertical extents
independently determined by input data.*func allow assignment of
different data->ramp mapping functions
(sqrt and square as well as linear and logarithmic),
and new parameters *quant allow quantisation
of the colour map to discrete levels.maxsizeN parameter with autoscaleN
for size plot layer type.
You can now optionally turn off autoscaling and specify marker size
in pixels instead.auxcrowd parameter to plot2 tasks to influence
tick crowding on aux axis colour ramp. Also adjust default to use
fewer ticks.arrowN parameter in
layers like
xyvector).ellipseN parameter in layers
like xyellipse).PlotDisplay class that forms the result of
plot2 commands can now have PointSelectionListeners
registered on it. This lets you determine what point a user
has clicked on if you're using the plotting classes from
third party java code.REQUEST=queryData parameter)
in the multi-SSA mode (servicetype=ssa) of
coneskymatch.
This long-standing bug would have stopped this command working
at all with well-behaved SSA services.tcube).auxmax, auxmin
to plotting task documentation.<syscmd" or "syscmd|"
to supply input byte streams from Un*x pipelines.plot2plane.true/false,
the normalisation
parameter of the histogram layer
now has the options
none, height,
area and maximum.
This allows both the area normalisation introduced in v3.0-2,
and the height normalisation used in earlier versions
which it replaced.barform
parameter now provides the options
semi_filled (the new default) and semi_steps.
These give outlined partially transparent bars, which make it
much easier to see what's going on in multi-dataset histograms.
Note semi_steps does not currently export very nicely
to PDF/EPS.
Similar options are also available in the new KDE plots.count_rows() method to JyStilts
table objects, which for non-random tables
may be much more efficient than len().taplint is now aware of, and performs some checks
related to, schema-level table metadata declared by TAP services.TFORMn='rX') columns.
Values read from these columns are presented as a
boolean[] array. In all previous versions of STIL
the bits have appeared in that array in the wrong sequence
(LSB..MSB per byte rather than the other way round).
Apologies to anyone who may have got incorrect science results
from this error in the past, and thanks to Paul Price for helping
to diagnose it.TFORMn='rX' processing;
attempting to read a single-element bit vector column
(TFORMn=1X or X) previously
resulted in an error making the file unreadable.
Values read from such columns are now presented as
Boolean scalars.datatype="bit") appearing in BINARY/BINARY2
serializations. This one was more obvious, it would usually
generate an error when attempting to read the file.votcopy that converted columns from
datatype unsignedByte to short when
transforming. Since v3.0-3 this is no longer necessary.
In the case of converting to a binary serialization,
since v3.0-3 this was causing it to generate unreadable VOTable
output.votcopy that failed to handle
columns with datatype bit. In the case of
converting to a binary serialization, these were in all previous
versions generating unreadable VOTable output.
Now they convert them to columns with datatype
boolean (not perfect, but better).skyvector bug:
dlat and dlon
values were being used the wrong way round.add, subtract,
multiply, divide,
reciprocal, condition.curl(1)
command is now issued at the CONFIG level
(visible using flags -verbose -verbose).taplint parameter maxtable
limits the number of tables tested in the stage that
queries data from each individual table (MDQ).
May be useful for very large services.tapquery parameter upvotformat
to determine what VOTable serialization variant is used to
transmit uploaded tables to the TAP server.
Previously uploads were always BINARY which ought to work,
but the parameter now defaults to TABLEDATA,
since some services (e.g. CADC)
currently fail with binary uploads.uk.ac.starlink.ttools.example.BasicPlotGui.Object$<column-id>"
you get the value as an Object not a primitive.
This is a special-interest measure for user-defined
functions that need to see null numeric values.matcher values of
<n>-d_err, skyerr,
2d_ellipse and skyellipse only.
Thanks to Grant Kennedy (IoA) for reporting this bug.
xtype of JD or MJD,
and units of year.healpixSqdeg,
healpixSteradians,
steradiansToSqdeg,
sqdegToSteradians,
SQDEG).-verbose flag).array, intArray, stringArray
in class Arrays;
concat, join
in class Strings;
and
sum, mean, variance,
stdev, min, max,
median, countTrue
in new class
Lists.array(x1), array(x1,x2), ...
array(x1,x2,x3,x4,x5,x6,x7,x8)
replaced by array(values...)).min/max functions in class
Arithmetic have been renamed
minNaN/maxNaN to avoid confusion,
but in most cases existing expressions involving min/max
will work as before.concat(toString(RA),";",toString(DEC))
can now be written concat(RA,";",DEC)).L" character.plot2time command
has been enhanced so that it can make multi-zone plots -
multiple plots stacked vertically that share the same horizontal
(time) axis but have independent vertical axes.
The time plot itself and this multi-zone feature are currently
experimental; in future versions they may be improved or changed,
and the multi-zone feature may be extended to other plot types.
Some other changes and fixes have gone along with this:
NavigationListener
interface and rearranging some
PlotDisplay and AbstractPlot2Task
constructor/factory method arguments.
For single-zone plots the changes are not very substantial.
This only affects you if you are using the STILTS classes
as a java plotting library.
If that applies to you and you have trouble upgrading,
I'm happy to provide assistance.plot2time now supports shading modes
(shadingN and associated parameters).auxmapZ replaces spectromapN,
where Z is an optional zone suffix
and N is an optional layer suffix).function layer type now works in the time plot,
rather than throwing an error.
However, it doesn't work very well, since the time coordinate
is in unix seconds rather than something more user-friendly.tapquery and tapresume now use
blocking HTTP requests rather than repeated polls
to wait for asynchronous TAP job completion from
services that declare themselves UWS 1.1 compliant.executionduration and destruction to
tapquery command.
These let you request resource limit adjustments when submitting
an asynchronous TAP job.countTrue in class
Arrays.EXA for taplint
checks TAP /examples endpoint.
Note the details of the examples format are still under discussion,
(this version targets WD-DALI-1.1-20160415 &
WD-TAP-1.1-20160428, somewhat informed by TAPNotes-2013-12-13),
so the details may change in future.taplint now validates ObsCore 1.1 where declared
alongside ObsCore 1.0.
Currently uses PR-ObsCore-v1.1-20160330.Reporter
is now called TextOutputReporter.
If you are using taplint programmatically you may need to make
small changes. This results from some refactoring that makes
it easier to customise taplint output.opaque config option with
transparency for plane and sky density plots.coneskymatch.
tmatchn.tskymap).auxclip
now have a default value of null.
This uses a default clip, which avoids very light colours.
Explicitly supplying a subrange value (e.g. "0,1")
can now use the whole range; previously the very light colours
were inaccessible.tablesurl, examplesurl etc
to task taplint,
so you can specify custom locations for different TAP endpoints
rather than have them fixed at their default locations
hanging off the base service URL.
Ditto for the tasks tapquery and tapskymatch,
though in these cases the extra parameters are
(since currently rather special interest) largely undocumented.taplint behaviour in absence of a /tables endpoint
(404 now gives a Warning not an Error).taplint ObsTAP validation updated to
PR-ObsCore-v1.1-20160709.auxfunc=log
and negative data values were present.density layer,
which has been withdrawn
(grid can do all the same things and more,
except specify bin size in screen pixels).plot2plane,
so you can now plot histograms with a temporal horizontal axis.unit for
histogram, KDE, and KNN plots.per_day etc
for histogram, KDE and KNN layers when used from the
plot2time command.plot2* command
*color parameters
now include the (140)
CSS-like colours alongside
the dozen standard plotting colours.insets parameter now lets you specify
margins round plots using any combination of
<top>,<left>,<bottom>,<right>,
rather than requiring all values or none.auxwidth to plot2 commands,
to control colour ramp lateral dimension in pixels.skyerr
and nd_err
matchers now report output separations as scaled (dimensionless)
values rather than in physical units; this means the results are
more comparable, so Best matches will make more sense.format parameter).taplint OBS stage for
PR-ObsCore-v1.1-20160923.hypot now takes an arbitrary number of arguments
(instead of exactly two).blockmaxrec parameter to
tapskymatch,
and improve warning text in case of result truncations.tapquery/tapresume behaviour
when monitoring async jobs; if the service goes down,
the application will wait for it to come back rather than
bailing out.mocfmt parameter
in pixfoot command) have changed;
option ascii is replaced by json.
The old ASCII format was slightly broken JSON in any case.plot2 command
insets parameter, present since v3.0-6.plot2plane/plot2time
label painting; horizontal axis label was sometimes off the
bottom of the plot by a few pixels.auxmap, densemapN etc)
for the plotting commands
will now accept custom colour maps that interpolate between
a list of named colours,
e.g. "HotPink-yellow-SkyBlue".posAngRadians
and
posAngDegrees
added to expression language.COOSYS elements,
the relevant information is now accessible as
column auxiliary metadata
(CoosysSystem, CoosysEpoch,
CoosysEquinox)
e.g. using the meta filter.COOSYS elements
read from VOTable-based formats (VOTable or FITS-plus)
will now be written out to VOTable-based formats with
equivalent COOSYS references included.
Currently not table parameters though.votable-binary2-inline and
votable-binary2-href are now offered alongside
the five previously available VOTable variants.charset parameter of votcopy
now defaults to UTF-8 rather than the system default.autoscale with unit in
skyvector and
skyellipse
plot layers.xyvector,
xyzvector,
skyvector,
xyellipse,
skyellipse;
autoscaling is now turned off by default.
Apologies for this change to behaviour,
but it's better for consistency with new layer types
xycorr and
skycorr,
and presents less danger of misinterpreted plots.E_QTYP
to warning W_QTYP in view of TAP-1.0 Erratum #3.COOSYS element is now passed without a deprecation
warning in VOTable 1.3 documents by
the taplint and votlint validators,
in view of VOTable-1.3 Erratum #1.
The warning is still issued for VOTable 1.2 documents,
but the text is toned down.vr:IdentifierURI type;
this follows TAPRegExt Erratum #1.447a7be073876dba32).
This fixes a bug in
healpixRingIndex that could give
the wrong value for small values of longitude near zero
in the equatorial region.
It seems possible that this might have led to very infrequent
missed associations when crossmatching in these regions,
but tests appear to indicate that no such errors would
actually have resulted.viewsys differs from datasys.
Previously the
dlat/dlon/posang
parameters were always interpreted in
the view, rather than the data, sky coordinate system.desigTo*
for extracting positions from IAU-style object designations
(like 2MASS J04355524+1630331) - use with care.polarDistanceDegrees and
polarDistanceRadians;
these calculate the distance in 3d space between two
positions specified in spherical polar coordinates.phase
to help with phase folding given a known period.
A new modulus function
mod,
whose output is always positive
(unlike the % operator) is also added.uk.ac.starlink.topcat.plot2.TopcatLayer*".
These useless items were added in potentially large numbers when
saving plotted tables from TOPCAT v4.5 (TOPCAT bug).
A null tpipe operation at this version will therefore
purge these items.obs_publisher_did/publisher_id changed
to match REC-ObsCore-1.1 (even though it's an illegal UCD1+).datalinklint.slice and pick added to class
Arrays.square added to class
Maths.addcol
and colmeta filters
now accept -shape and -elsize flags
for defining array and string shape/extent column metadata.-verbose flag.
The contours are now plotted correctly right up to the edge of
the visible plot, and various bugs have been fixed.combine parameter
(sum,
mean,
median,
min,
max,
stdev, etc)
for weighted histograms.
This means that you can plot e.g. the mean value of a given quantity
per interval on the X axis rather than just the summed quantity.
A corresponding (though somewhat less well-defined) option is
also provided for the
kde and
densogram plotters.combine parameter that configures how
values are binned in various histogram-like plots
(skydensity,
healpix)
grid,
and since this version also
contour,
histogram,
kde)
now has two new options,
sum-per-unit and count-per-unit.
These work like the existing sum and count
options, but scale the combined values by the relevant unit
(e.g. X axis unit or solid angle).
Where these units are physical, a perunit
parameter is also provided for scaling in convenient units:
second, day, year etc for time
(plot2time), and
square degree, arcminute, arcecond etc for solid angle
(skydensity,
healpix).
In some cases, the combine default values
have changed.combine/perunit options
are also added to the tskymap command.plot2time
as well as plot2plane.votlint no longer considers an integer- or array-typed
PARAM element with attribute value=""
to be an error.votlint no longer Warns about
PARAM/@ref->FIELD/@ID references,
since this usage pattern is now found in
DataLink Service Descriptors.funcs
command.taplint's VOTable validation now includes
XML schema/DTD
validation as well as the custom VOTable checks.
It was always supposed to do this, but it seems that it didn't,
at least in recent versions.coneskymatch from sending cone search queries
with sr=NaN.taplint OBS stage;
ObsCore v1.1 s_region UCD is
pos.outline;obs.field, not
phys.outline;obs.field
(a relic from PR-ObsCore-1.1-20161004).delete=now to
tapresume,
which lets you delete a TAP async job.
Also add a message to tapquery
inviting the user to delete interrupted jobs in this way.tapquery and tapresume that
caused a result read failure for result VOTables longer than 2Gb.plot2cube and plot2sphere.plot2cube and plot2sphere.sortaxis parameter,
for joining out-of-sequence points,
added to line plot layer.crowd with
two parameters, loncrowd and latcrowd,
so you can control grid line spacing for meridians
and parallels independently. Note this is a backwardly-incompatible
change, so could break existing scripts.
This change may have introduced slight changes to sky axis
grid line spacing at low crowding levels.zero parameter has also changed
slightly, it now defaults to 1 and is not phase folded.xmax/ymin etc.polarXYZ, astromXYZ,
astromUVW,
icrsToGal, galToIcrs,
icrsToEcl, eclToIcrs.
These can calculate Cartesian position and velocity components
from (e.g. Gaia) astrometric parameters.isInside and polyLine.$random", which was previously
undocumented and named "RANDOM".urlEncode and urlDecode
added to class
Strings.exp10 in class
Maths.taplint UWS stage:
now validates job documents
against UWS schema, tests uws:job/@version
attribute, and does improved and version-sensitive
(UWS v1.0/v1.1) validation of UWS timestamps.
Also does more complete deletion of submitted jobs.taplint schema validation now takes account of
VOTable 1.3 Erratum #2 -
FIELD/@precision attribute values
"F0"/"E0" are now permitted.votlint
and taplint no longer complains about multiple
INFO elements in the same scope sharing the
same name attribute.datalinklint
error reporting.collapsecols
filter added,
to convert a run of adjacent scalar columns into an
array column (the opposite of explodecols).votcopy, votlint,
datalinklint)
so they follow HTTP 3xx redirects automatically in more cases
when given a URL for input.
Most STILTS commands already do this.coneskymatch and friends:
add a progressively increasing delay for erract=retry*
error handling modes,
and decrease the soft maximum for the parallel
parameter to 5 (from 10).function plot layer so that NaN values are
omitted rather than interpolated.stilts startup script now correctly follows
symlinks on some OSes where it didn't work before
(including OSX). It also looks for jar files to use in
slightly different places on OS X.histogram
and histolog for the parameters
auxfunc, densefunc etc
in plot2plane
and the other plotting commands.
This can make it much easier to see structure in quantities
that do not vary smoothly over their min-max range.line plot layer
now has an aux parameter that can vary the colour
of the line along its length according to some
third quantity.plot2sky now by default
draws a small scale bar at the bottom left corner of the plot,
indicating the scale in degrees, minutes or seconds.
It can be switched off using the new scalebar
parameter.Car0 for the
plot2sky
projection parameter;
this is like Car (Plate Carrée)
but has longitude=0 at the left/right edge
rather than the center of the plot.STIL_HPX_*),
and is used by FITS output handlers to insert
the relevant FITS headers.
The existing FITS handlers do this where it's not disruptive,
and the new fits-healpix
output handler will additionally move and rename columns
if required.
This metadata is round-tripped by FITS and VOTable I/O handlers.
It is added automatically by the tskymap
command, and can be manipulated by hand using
the new healpixmeta filter.
FITS support is not perfect: the BAD_DATA
FITS keyword is ignored, and the 1024-element array-valued
column variant is not understood.
TIMESYS element.
votlint
(and hence taplint)
now supports Version 1.4 VOTables:
the 1.4 schema is used for XSD validation,
and the TIMESYS element is checked
for attribute content and suitable referencing.TimesysTimeorigin,
TimesysTimescale,
TimesysRefposition)
e.g. using the
meta filter.-Dvotable.version=1.4.
Currently this TIMESYS output works only for table columns
(FIELDs) not parameters (PARAMs).timeoffset attribute of a TIMESYS element
referenced by a VOTable column is used to make sense of
column data when interpreting it as an absolute time.
Currently, the only use of this is in
time plots.FIELD/@ref attributes are no longer imported
as "VOTable ref" column aux metadata items,
since they often interfere with TIMESYS references.
Doing this was probably always a bad idea since the referencing
is not kept track of within the application, so withdrawing
this functionality makes sense, but beware that it might
change or break some existing behaviour.votlint modifications above may now
interrogate external vocabulary resources during validation,
meaning that external network connections may be made during
validation, which didn't happen in previous versions.indexOf in class
Arrays
to find position of a given value in an array.parseDoubles and parseInts
in class
Conversions
for extracting array values from strings (experimental).$ID column references
referring to nonexistent columns are rejected at compile time
rather than causing trouble during evaluation.taplint and
datalinklint now
insert the token "(IVOA-validate)" into the
User-Agent header of all HTTP requests they make,
for convenience of services that want to identify validators.
This is a convention discussed within the IVOA Operations IG.auxquant etc);
the full color range is now included.plot2sky axis labels regardless of Locale;
also avoid trailing comma sometimes erroneously present.seq parameter
for underconfigured plot layers in plot2*
commands.java.lang.UnsupportedClassVersionError
then you need to upgrade.
cone command to execute
simple spatial DAL queries (Cone Search, SIA, SSA).plot2*
commands interactively (omode=swing), this should make
interacting with slow plots faster on multi-core machines.
(In rare cases this multi-threading might cause problems with
memory usage; it can be effectively turned off if required
by using the system property
java.util.concurrent.ForkJoinPool.common.parallelism.)
hips2fitsUrl, bibcodeUrl,
doiUrl, arxivUrl,
simbadUrl and nedUrl.
Existing functions urlEncode and
urlDecode have been moved to URLs
from class
Strings.parseBigInteger and parseBigDecimal
in class
Conversions.usepos to
polygon plot layer,
to toggle inclusion of reference position
in polygon vertex list.interface added to TAP query tasks
tapquery, tapskymatch and
taplint. This can control how TAP version
is determined.TFORMn='K')
with non-zero integer offsets
(TSCALn=1, TZEROn<>0)
are now represented internally as Strings;
previously they were represented as Long integers,
but values out of the possible range appeared as null
(with a warning written through the logging system).
Such columns are most commonly seen representing
unsigned long values.
If written back out to FITS, the offset long value will be
reinstated, but other output formats cannot encode
unsigned longs, so they will stay as strings.taplint OBS stage according to
ObsCore-1.1 Erratum #1 (corrected UCDs).
No code changes required for ObsCore-1.1 Erratum #2.E_KEYX errors.taplint now uses
VOResource v1.1 not v1.0.
Erratum #1 (multiple security methods) has been applied.taplint enhancements: add some new general tests,
and some only used when testing TAP 1.1 services.votlint;
arraysize="1" now provokes a Warning.meta
filter documentation.pixsample command;
it now reads HEALPix metadata from headers correctly again.arcsin function in Sky matches
now use the (Apache via cds-healpix) FastMath implementation
rather than the standard J2SE version.area,
central and
arealabel
can be used for plotting region data supplied as
area coordinates in the form of
STC-S (e.g. from ObsCore/EPN-TAP s_region),
DALI polygon/circle/point, or (ASCII) MOC columns.
These layers are available from the
plot2plane,
plot2sky and
plot2sphere commands.plot2time command
has been improved,
and is no longer considered experimental.
A new ttypeN parameter is added,
which allows you to explicitly define (as MJD, JD, ISO-8601 etc)
how input values are mapped to time.
If no such mapping is specified or can be guessed from
the input metadata, time values are now interpreted by default
as MJD rather than (as previously) Unix seconds.mark layer type:
fat_circle, fat_cross etc
using thicker lines.thick to
contour plot.storage parameter has new options
disk, policy and
persistent.
These allow off-heap plot data caching, so that interactive
plots for very large data sets may be made without running
of of memory.
The persistent option additionally means that
results of expensive data read operations can be cached
between invocations.line layer's
sortaxisN parameter now accepts the option
time rather than X (or Y)
when used with plot2time.3e6".anchorN=center to the
label plot layer.minsize and minshape
to poly4
plot layer type.skydensity and
healpix
sky plot layers.cone and
coneskymatch commands
(new option servicetype=sia2).*ToUnixSec to
Times class.midLon and midLat
to Sky class.pixsample output.SkyGrid
plot layer that made it ignore the viewsys parameter,
always assuming equatorial so plotting the wrong grid lines
for non-equatorial view sky systems. Note this bug applied
only to STILTS, not TOPCAT.polygon plots in
plot2sphere - this
combination was failing to plot anything, now it works.In
are now treated as 64-bit integers for n>=10
rather than n>10.taplint processing of
QUERY_STATUS declarations;
overflow may now be declared before,
as well as after, the table.$random
special value;
it should now be less dependent on JVM details.curl(1) equivalent logging flag error fixed
(write --compressed not --compress).server
command has been mostly moved into new
Server Mode section.
.csv" extension, it is no longer
necessary to specify ifmt=csv.stats and sort filters have
-[no]parallel flags that can be used to select
between sequential and parallel execution.
Parallel data caching for plots is also available
using the storage=parallel option,
but this is currently experimental and not generally recommended.
Future releases will parallelise other operations,
including matching.ofmt=votable(version=V12,format=BINARY).
For examples see individual handler documentation,
e.g. the VOTable output handler and
ECSV input handler.-qapprox flag can be supplied to use an
(approximate) algorithm that will not run out of memory.combine parameter to
tcube,
so it can produce generalised weighted maps.acos and cos
for colour scaling options
auxfunc, densefunc etc;
these provide linear-like stretch functions with
steeper/flatter ends, which may be useful for shading
by quantities with most variation near to/far from the
middle of the range.tcat;
with lazy=true
it should no longer fail with "Too many open files".-exact|-approx flag;
-approx may be required for certain operations
to run in parallel.cdsskymatch.tmatchn
documentation.taplint to cope with
VOSI1.1 detail=min-style response from
/tables endpoint; avoid spurious
E-TMC-CM21/E-TMC-FM21 errors.NULL_VALUE custom metadata entries
into ECSV output.taplint changes for
later edits to ObsCore-1.1 Erratum #1
(dataproduct_type and
dataproduct_subtype UCDs are now
meta.code.class).header for
CSV input handler,
to indicate whether header line is present.maxSample for
CSV and ASCII
input handlers to reduce 2-pass read time.P/Q descriptors)
can now be read even in compressed or streamed input.arrayFunc, intArrayFunc,
sequence, constant.cumulative option in
histogram-like plots
can now take the values
none/forward/reverse,
not just true/false.aitoff0 option alongside
aitoff as a value for the
plot2sky
projection parameter.
In the same way as car/car0,
this gives an Aitoff projection but with the longitude=0
line at the left/right edge instead of the center.cols and scale
parameters.LOC, for ObsLocTAP validation.
This release validates against the draft
standard version PR-ObsLocTAP-20210609.TMV now validates
against (a pre-REC version of) version 1.2 of the
VODataService schema instead of version 1.1.E_DSUC to W_OLNG.adql:TIMESTAMP->timestamp
no longer provokes error E-UPL-TMCX.E-TMS-TSCT is downgraded to
W-TMS-TSCT.W_EXVC TOPCAT compatibility warnings
are downgraded to I_EXVT.fverify in FTOOLS e.g. v3.14-3.50)
have problems with such files.tablefactory parameter.cache filter
now retains no reference to input table, so it can be used
to manage deeply nested tables in (Jy)STILTS pipelines.meta filter and output mode.
This prevents unwanted linebreaks as well as tidying
whitespace-formatted values.string rather than
causing table read failure.\0').jdbc: URLs.text, ascii and ipac
output formats, that could cause cached table output
(e.g. from filters cache or random)
to contain many repeated copies of the same row.addcol filter
that could evaluate the row index
($index/$0)
incorrectly during parallel processing.plot2sky bug that got
clon/clat positioning wrong
for some projections such as CAR0.out, ofmt,
ocmd and omode are now listed.start in
tloop were being ignored).icmd) processing.auxfunc=histogram and
explicitly set auxmin/auxmax bounds
outside of data range.UUC added to
taplint.
This checks units
(against the VOUnits standard)
and UCDs
(against the UCD1+ standard
and legacy UCD1 list).EPN added to taplint.
This checks EPN-TAP (*.epn_core) tables
against some version of
EPN-TAP 2.0
(currently PR-EPNTAP-2.0-20211012).
Since EPN-TAP is still in draft at time of writing,
this stage is not currently run by default.stages parameter usage;
you can now add and remove stages individually using
+XXX/-XXX syntax.VOxx" to "Yxxx".xtype attributes for
conformance to rules from
DALI 1.1 sec 3.3.MDQ stage now reports mismatches
between declared and result Units, UCDs, Xtypes, and Utypes
as well as datatypes.User-Agent token "(IVOA-test)"
rather than "(IVOA-validate)" as before;
this follows the published content of the
SoftID-1.0 IVOA Note.Server header
and tries to check it for VO component identification
as recommended by SoftID.maxrepeat
parameter like taplint
(previously the repeat count was hard-wired to 4).unit
and ucd attributes, checking against the
VOUnits and UCD1+/UCD1 standards respectively.votlint reports for recognised and
unrecognised (e.g. VODML) elements in foreign XML namespaces.taplint output.thick has been added to several
plot layer types to enable lines thicker than a single pixel
when drawing error bars, arrows, outlines, pair links etc:
xyvector,
xyerror,
sizexy,
xyellipse,
xycorr,
link2,
poly4,
polygon,
area,
yerrors,
xyerrors,
skyvector,
skyellipse,
skycorr,
xyzvector,
xyzerror,
yerror.areatype value UNIQ for plotting
single HEALPix tiles e.g. from MOC files in
area (and similar) layer type.checksum
table output mode.jdToMjd
and mjdToJd to class
Times.fast parameter has been withdrawn from
polygon-plotting plot types
area,
polygon,
poly4;
the shape-filling algorithm has been improved, and it's no
longer necessary to choose between speed and accuracy.julianToUnixSec function in class
Times, which didn't do what it said it did,
with jdToUnixSec.mjdToIso and mjdToDate functions
in class Times
now prepend the string
"(BCE)" to dates before the Common Era.pbzip2 output) are now supported
alongside single-stream bzip2.auxmax without
auxmin was not honoured in plot commands.
This was a regression bug introduced at v3.1-5.cols parameter in
tskymap is generalised to allow
more flexible calculation of gridded quantities,
specifically calculations using different aggregation methods
for different quantities at the same time.$random is now deprecated.ArrayNGood, ArraySum,
ArrayMean, ArrayStDev
added to stats filter,
allowing per-element statistics calculations for
fixed-length numeric array data.tables
to restrict which tables are tested.combiner
parameters of some commands.jystilts.jar file now comes with Jython 2.7.2.jystilts script
now uses an internal copy of Jython 2.7.2, it no longer requires
an external Jython installation.svg element
(no XML or DOCTYPE declaration),
and a viewBox attribute is included which
may improve scaling behaviour in some contexts.stilts.version file at the
top level, rather than just buried in
uk/ac/starlink/ttools/.seqcol column in output from the
tcat and
tcatn commands
is now of type (32-bit) integer not (16-bit) short.s' in ASCII-MOC area specifications,
following MOC 2.0.MOC-ASCII strings in
area plot;
trailing depth specifier was interpreted as cell index
and some cells near end of MOC were omitted/misshapen.runner in matching commands
tmatch2 etc which can be set to
parallel for multi-threaded execution.
This should speed up large matches on multi-core machines.
This is believed to work correctly, but since it is less
well tested than the legacy sequential mode, at this release
sequential processing is still the default.xsdvalidate
added for validating against XML schemas.bitCount, hasBit,
toBinary, fromBinary.compact and encoding to
VOTable output handler.
By default thin (<=4 column) TABLEDATA VOTables
are now written in "compact" mode, using reduced whitespace.spatial_frame_type=none.xs or ys
array coordinate, and assume a suitable linear sequence.<colid-list>
syntax used by
keepcols,
delcols etc
now allows column ranges to be specified with the syntax
<first-colid>-<last-colid>.assert filter now takes
optional <msg-expr> argument.xoff and yoff
for label
plot layer type.taplint EPN stage
updates corresponding to latest EPN-TAP draft;
now matches PR-EPNTAP-20220420.label
layer type.arrayjoin
added.add, subtract,
multiply, divide in class
Arrays;
these now all take either two array arguments or an array
and a scalar in either order.dotProduct in class
Arrays.value* functions for
column references
to strangely-named columns.taplint EPN stage
update; now corresponds to REC-EPNTAP-2.0.tmatch2
now run in parallel.runner parameter,
used to control parallel execution of matching commands like
tmatch2, has changed slightly:
options parallel<n> and
parallel-all are added,
while option parallel, the new default,
is now limited to a fixed number of processors
(currently 6).runner to
tskymap and
tgridmap;
this allows to control parallel execution,
since sequential may be faster than the default parallel option
for large files on spinning disks.time" to the
progress parameter
of matching commands like tmatch2.handles
to mark a reference position for X/Y array data.sequence(n,start,step) in
class Arrays.tfcatStatus and
tfcatMessage in class
VO for validating instances of
the Time-Frequency Radio Catalogue format.TFCAT for
areatype parameter
in area-like plots,
giving partial support for TFCat shape descriptions.fixcolnames
now deduplicates column names
as well as fixing up their syntax.cosmic, ember, gothic,
rainforest, voltage,
bubblegum, gem, chroma,
neon, tropical (sequential);
guppy, iceburn,
redshift, pride (diverging);
infinity (cyclic).votlint so that
BINARY/2 VOTables with no columns don't read forever.ASCII_Numeric_Base16
without the read operation failing.plot2plane;
see new parameters
x2func,
y2func,
x2label,
y2label,
and example plot.plot2time;
see new parameters
t2func,
y2func,
t2label,
y2label,
and example plot.plot2plane and plot2time,
rather than just on primary (left/bottom) axes.
This can be configured with the new
shadow
parameter.plot2plane, plot2time and
plot2sky
are now all partially transparent and plotted over
the plot content
(previously they were opaque and the sky grid was drawn over,
while the plane and time lines were drawn under,
the plot content).
Grid line transparency is controlled by the new
gridtrans
parameter.ExternalSys/InternalSys
for plot2sky
labelpos parameter,
to display lon/lat axis names alongside axis values.tgroup
and filter group
to calculate aggregate functions on groups of rows
(like ADQL/SQL GROUP BY).inSkyEllipse.constcol
for identifying and removing constant-valued table columns.keepall
parameter to the arrayjoin command,
to configure whether rows with no arrays appear
in the output.aparams
parameter to arrayjoin command,
to turn table parameters of loaded tables into
scalar-valued columns.sortaxis
parameter to lines layer,
to cope with unsorted array data.readMeta and
hierarchicalNames to the
GBIN input handler.contentType and exampleURL PARAMs,
introduced in DataLink 1.1datalinklint
validation of semantics terms, now checks online vocabularies
not just hard-coded ones.datalinklint validator is upgraded
to PR-DataLink-1.1-20230413. It now has a
version
parameter.taplint
in accordance with
DALI 1.1 Erratum #1;
example continuation elements without an empty
resource attribute no longer provoke an Error.text,
ascii,
ipac)
to avoid occasional unwanted truncation of formatted values.
Tables are now read in two passes, the first to establish
column widths and the second to write the data.
By default all rows are sampled, but the
sampledRows option can be configured so that
only some rows are sampled, which is more like
the old behaviour.plot2sky without explicit
clon/clat/radius
specification, the default view is now zoomed out to the
whole sky rather than zoomed in to a few milliarcsec.null" token).nan"
token for NaN in ECSV writer.Array
objects.Ascii_Numeric_Base16/8/2 fields as numeric not string
(updated pds4-jparser library code).antialias parameter from
lines layer,
since it didn't really work.skygrid layer.skyvector,
skyellipse and
skycorr
shapes incorrectly.
The numeric value of the shape size coordinates
(ellipse radii, vector extents) was interpreted in degrees
before being rescaled as appropriate, so that values of
a few tens or larger resulted in signficant distortions.
Now fixed.find=best
(which should be used with caution) in
tmatch2 and
tskymatch2.
Results may be different in crowded regions, and may also
have differed between v3.4-6 and v3.4-7,
but are not obviously more or less correct.plot2corner.star.basicauth.user/star.basicauth.password system properties
can no longer be used to set authentication information
globally for the application, but the
auth.username/auth.password
system properties
can be used in a similar way
(though this should be done with caution).*" separator)
for matcher combinations
to restrict match separations to the scaled unit sphere.http://www.ivoa.net/rdf/examples vocabulary.system and
refposition attributes of COOSYS).W-CAP-CULF -> I-CAP-CULF).omode=gui
with huge (>130 million row) tables.datalinklint bug that reported
a W-SDND warning for all tables having
multiple service descriptors.geomN in
plot2cube can now take
value "vector" to use xyz
3-element array values as coordinate specifiers.plot2time parameter
cellgap
configures gap between stacked plots.loop with arguments
(start,end) or (start,end,step).inMoc and
nearMoc Coverage functions
can now be an ASCII MOC string as well as a MOC file location
or VizieR table identifier.-xtype flag to filters
addcol,
colmeta,
replacecol and
setparam.CoosysRefposition metadata item (VOTable 1.5)
is now listed if present by the meta filter.
This information is also propagated to VOTable output if the
output VOTable version is set to 1.5
(currently not the default).@'-indirection files for
cmd-type parameters.Z" even for date-only
specifications,
and now accept YYYY-DDD format for dates
as well as YYYY-MM-DD.datalinklint
now checks and uses INFO/@name="standardID"
version declarations in the links document being validated.
DataLink handling and datalinklint are now believed
to be up to date w.r.t. REC-DataLink-1.1.stilts startup script.
It now works better in the MacOS DMG image,
it's more robust against pathnames with embedded spaces,
and it will use topcat-extra.jar if present
in preference to topcat-full.jar.datasysN
in plot2sky and
geomN
in plot2cube
are now included in the documentation.
The previously undocumented option to supply
plot2cube coordinates in spherical polar form
is now documented.votlint).votlint to permit empty TD
elements in all cases for VOTable versions >=1.3.
Previously empty cells for integer and array fields
provoked an error report
(which is correct for VOTable 1.0-1.2, but not for 1.3+).tcat/tcatn bug that sometimes
resulted in no rows included from an input table.fat_triangle_up and
fat_triangle_down
marker shape names.tmulti.plot2time so that
zone-specific text style configuration works correctly for
legends and colour ramp annotations.%-encoded equivalents.tapquery,
tapskymatch,
taplint and
tapresume
have a new parameter auth;
if true then an authentication attempt
will be made for TAP services that offer
optional authentication.Q.95, Q.001)
can now be specified as combiners in
tcube,
tgridmap,
tskymap and
tgroup
alongside the predefined quartile specifiers
(Q1, median, Q3).nd_err_q
and skyerr_q
introduced for combining per-object errors in quadrature.test scheme options
"g" and "w".colfits
section in the documentation.date
for VOTable output handler
to control whether a datestamp comment is written.date
config option for VOTable metadata
as well as for DATE-HDU header card.TXTYPnnn.TUCDnnn and TUTYPnnn
are now written with comment parts, space permitting.compression config option to
Parquet output handler
to control compression type.usedict config option to
Parquet output handler
to control dictionary use on output.tryUrl
in parquet input handler;
this is set false by default to avoid cryptic error messsages
when trying to open remote parquet files.useFloat
in MRT input handler;
this is set false by default to avoid a rare bug
that could read large values as infinite.epochProp and
epochPropErr
has changed; null values for parallax and proper motion are
now treated as if zero rather than invalidating the propagation.
This (partly) follows behaviour of corresponding functionality
in Gaia and VO ADQL propagation UDFs, and is more likely
what you want to see.votlint now includes
column/param name and row index with reports in more cases.arraysize="1"
in FIELD/PARAM elements
of VOTables with version >=1.3,
in accordance with VOTable 1.3 Erratum #3.taplint;
avoid spurious E-UWS-NFND reports
when validating authenticated services.area plots.+/-Infinity"
rather than "+/-Inf".votlint bugs that could cause failure
for certain inputs.coverage xtype to be
"MOC" instead of "moc".area-like plots
now copes with UNIONs of all shapes, not just of POLYGONs.TIMESYS-referencing fields.labelangle
configuration option in most plot types;
allows angled labels that can accommodate more major ticks
on crowded axes.
plot2cube/plot2sphere (sometimes)
and plot2matrix now use angled axis labels
by default.histogram,
kde,
knn,
densogram,
gaussian)
have a new
sideways
configuration option that can draw the quantity being assessed
along the vertical instead of the horizontal axis.taplint bug that did not recognise
ADQL 2.1 feature features-adql-conditional
but did recognise features-adql-bitwise.mocshape,
generates MOCs from shape specifications in a table.pixfoot
can now write ASCII MOCs.mocUniq,
mocUniqToOrder, mocUniqToIndex,
mocSkyProportion, mocTileCount.shuffle.parqlint added
for validating parquet files against the
VOParquet convention.parqlook added
for examining parquet (including VOParquet) files.paux and
pweighted.isometric
option to plot2cube.MOC-ASCII and UNIQ
for areatype
in area-like layers
are now supported in plot2sphere.area,
polygon and
poly4.
Filled polygons no longer need outlines round them
to avoid annoying gaps between tiles.every,
head,
repeat,
rowrange,
sorthead,
tail,
and schemes
skysim,
attractor,
test and
loop.pixfoot now allows
order=0.sort filter;
it can now sort tables several times larger than before,
and considerably faster.checksum mode
so it works reliably with array-valued cells.xscale etc
introduced, offering asinh and symlog
options alongside linear and log;
these support axis scaling over a wide dynamic range
in both positive and negative directions.
The existing log scaling flags
xlog etc
can still be used, but are now deprecated in favour
of these more flexible scaling parameters.delimiter config option for
CSV input and
CSV output handlers
to support non-comma delimiters.notypes config option for
CSV and ASCII
input handlers; this gives more control over datatypes
inferred when reading tables.asinh for plot colour ramp axis scaling
in auxfunc
parameters etc.kvmap config option for
parquet output handler.nsurl for
xsdvalidate,
defaulting to true;
if there's no other option, schema docs will be downloaded
from their namespace URI.tap_schema tables
where necessary during tap_schema-based
TAP metadata acquisition.ivoa_cookie authentication handling
to work in presence of multiple cookies.taplint upload table.asinh function
to cope with large negative numbers.HIERARCH FITS headers
that could cause output failure.keyvaluefull option to parqlook
items parameter.
The default list is now designated
"default" not "all".