1 / 19

C++ Parser for VOTable A Virtual Observatory-India Initiative

This C++ parser provides an API for accessing, validating, and transforming VOTable files, allowing developers to easily work with tabular data in the context of the virtual observatory. It supports powerful XPath queries and is compatible with CFITSIO library.

kennethe
Download Presentation

C++ Parser for VOTable A Virtual Observatory-India Initiative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C++ Parser for VOTable A Virtual Observatory-India Initiative

  2. IUCAA

  3. IUCAA • The Inter-University Centre for Astronomy and Astrophysics is located in Pune, India. • It has a vigorous programme of research in theoretical astrophysics, observational astronomy and instrumentation development. • IUCAA has a well developed data centre and hosts mirror sites of various astronomical data bases and scientific literature archives.

  4. Persistent Systems

  5. Persistent Systems • Persistent Systems Pvt. Ltd. (PSPL), located in Pune, India, is an 11-year old, 350-person, software development company. http://www.persistent.co.in • PSPL specializes in developing data infrastructure software. • PSPL has developed data management components such as bit-vector indexes, query optimizers, ETL Tools, OLAP Tools etc.

  6. Persistent Systems • PSPL has worked for companies like Microsoft, Hewlett-Packard, Agilent Technologies, Informix, i2 Technologies, Engage Technologies etc. • It has the expertise to develop and manage software teams that could make a significant contribution to the VO-I project.

  7. VOTable Basics • VOTable : An XML format defined for the exchange of tabular data in the context of the virtual observatory. • Underlying XML allows applications to easily validate an input document, and facilitates transformations through XSLT engines. • VOTable allows metadata and data to be stored separately, with the remote data linked according to the Xlink model.

  8. VOTable Data • Three representations for data part in VOTable –FITS: VOTable can be used either to encapsulate FITS files, or to re-encode the metadata. – BINARY: Supported for efficiency and ease of programming, no FITS library is required, and the streaming paradigm is supported. – TABLEDATA: Pure XML format for small tables.

  9. C++ VOTable Parser Motivation: • Provide a library for API based access to VOTable files. • APIs can be directly used to develop VOTable applications without having to do raw VOTable processing.

  10. C++ VOTable Parser Salient Features: • Implemented as a wrapper over XALAN-C++. • XALAN-C++ is a robust implementation of the W3C recommendations for XSL Transformations (XSLT) and the XML Path language (XPath). • XPath queries can be used to access the VOTable data.

  11. C++ VOTable Parser • Initial version - Released on May 31st , 2002. - Support only for reading of tables. - Support only for pure-XML TABLEDATA and not for BINARY or FITS data streams. - Runs on Windows NT 4.0, Windows 2000 and RedHat Linux 7.1. • Future enhancements - Can be incorporated quickly and efficiently.

  12. Project Design VTable Metadata Link Collection Link Field Collection Field LinkCollection Link TableData Values minimum RowCollection maximum Row OptionCollection ColumnCollection Options

  13. Parser Design Class Details • VTable: In memory representation of a single <TABLE> from the <RESOURCE> element in VOTable • TableMetaData: Contains MetaData (Fields, Links and Description) • Resource:Represents the <RESOURCE> element in the VOTable. • TableData: Contains Rows • Field: Representation of <FIELD> from VOTable • Row: Representation of <TR> from VOTable • Column: Representation of <TD> from VOTable

  14. Parser Design API – Typical Operations • File Level I/O Routines • Open VOTable file • Close VOTable file • Table I/O Operations • Get number of rows • Get number of columns • Get column(field) information (column name, column number, etc.) • Accessing table data

  15. Parser Implementation • Development on Windows NT 4.0 platform using VC++. Ported to RedHat Linux 7.1/gcc-2.96 with zero effort. • 18 C++ classes representing various elements of the VOTable format. • 8500 lines of C++ code written for V1.1 release • Project start date: April 7th 2002 • V1.1 Release: May 31st 2002 • Current status: V1.2 design in progress

  16. What is in Release V1.1 • Parser to serve as a building block for developing VOTable based applications. • Can be easily used by users of CFITSIO library. • Supports powerful XPath queries against VOTable files. • The first version of the VO Table parser can now be downloaded: http://vo.iucaa.ernet.in/~voi/html/infopage.html

  17. VOTable Parser Demo • Serves as a tutorial to help understand the basic APIs provided by the VOTable parser. • Demonstrates how to access the data and metadata elements of a VOTable file.

  18. Future Work • Develop APIs for writing data in VOTable format. • Develop APIs for supporting IMAGE data and FITS files in VOTable. • Enhance existing API set to allow more elaborate and flexible operations on VOTable files. • Support future VOTable versions. • Develop applications for conversion between FITS and VOTable formats.

  19. References • The first version of the C++ parser can now be downloaded from the VO-India website http://vo.iucaa.ernet.in/~voi • VOTable Details: http://vizier.u-strasbg.fr/doc/VOTable/ • XALAN http://xml.apache.org/xalan-c/index.html • XPATH http://www.w3.org/TR/xpath

More Related