STIL - Starlink Tables Infrastructure Library
STIL
Starlink Tables Infrastructure Library
Generic Java Table Handling for Astronomy
What is STIL?
STIL is a pure Java library for
generic input, output and processing of tabular data.
It presents to the application programmer a view of a table which
looks the same regardless of whether it came from a FITS file,
a VOTable, an ASCII text file, a query on a relational database,
or whatever.
Thus the application doesn't have to worry about the storage format
of tables either when reading or writing them, it can concentrate
on doing processing.
STIL's idea of a table is rich enough to include table and column
metadata, and table cells which contain scalar or single- or multi-dimensional
array data of numerical, string or other types.
This is well suited to astronomical data, though it can be of use
in other fields as well.STIL comes with a range of supported input and output formats
(including VOTable, FITS, SQL, ASCII, CSV)
and can be extended to cope with others.Features
Generic Features
The generic table I/O has the following features:
- Many table serialization formats supported
- Pluggable architecture allows addition of new formats
- Any-to-any format conversion is trivial
- Access to large tables is possible (not constrained by memory)
- Multi-table read and write for appropriate formats
- Full javadocs and programmer's tutorial/overview documentation
- GUI components provided including table drag and drop support
- Sophisticated crossmatching capabilities
(not documented apart from javadocs)VOTable Features
STIL includes sophisticated facilities for
VOTable I/O
which can, if desired, be used largely independently
of the rest of the package.
As well as the general features listed above this has the following features:
- Reads and writes all VOTable data formats (TABLEDATA, FITS, BINARY)
- Full DOM access to hierarchical document structure,
without heavy memory use- Hybrid SAX/DOM parsing for efficient input
- Flexible table output (you can construct hierarchical documents)
- Parsing does not attempt network connections to retrieve VOTable DTD/schema
- Best-efforts parsing of non-conforming/invalid documents
- Full compatibility with VOTable 1.0, 1.1 and 1.2 standards
- Full ID/ref crossreferencing
One section of the user guide is dedicated to
STIL's VOTable-specific features.Supported Formats
The following formats are currently supported for table input:
- FITS
- VOTable
- SQL
- ASCII
- Comma-Separated Value
- Tab-Separated Table
- IPAC
- World Data Center
and the following for table output:
- FITS
- VOTable
- SQL
- ASCII
- Comma-Separated Value
- Tab-Separated Table
- Human-readable text
- HTML
- LaTeX
- Mirage
Documentation
There are two main sources of documentation for STIL:
- The main programmer's overview document is SUN/252,
available as:- The definitive API documentation is also available:
You can download the full documentation set (SUN/252 in various forms
plus javadocs) in the documentation zip file.Downloads
The current version of STIL is 3.0-3, released 27 October 2011.
STIL is released under the LGPL.
The main components are available here:
- Standalone jar file (1.7M)
- compiled classes as monolithic jar file- Zip archive of jar files (1.6M)
- compiled classes as individual jars- Documentation zip file
- HTML/PDF user document and javadocs- Source code zip file (724k)