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
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
.
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 .
Downloads
The current version of STIL is 3.0-3, released 27 October 2011.
STIL is released under the .
The main components are available here:
- (1.7M) - compiled classes as monolithic jar file
- (1.6M) - compiled classes as individual jars
- - HTML/PDF user document and javadocs
- (724k)