Marble/SatelliteCatalogFormat: Difference between revisions

From KDE TechBase
mNo edit summary
Line 71: Line 71:
== Example ==
== Example ==


This is an example Marble Satellite Catalog file:
This is an example of the contents of a valid Marble Satellite Catalog file:


  # name, category, related_body, mission_start, mission_end, -, <mjd timestamp>, <...state vector...>
  # name, category, related_body, mission_start, mission_end, -, <mjd timestamp>, <...state vector...>

Revision as of 18:05, 22 September 2012

About

The Marble Satellite Catalog format is a simple file format for satellite data catalogs. It contains all data necessary to calculate satellite's position and orbits along with useful meta data. It is plain ascii in order to allow simple parsing and was introduced with version 1.1 of Marble's satellites plugin to provide the necessary data for planetary satellites.

By default, the satellites plugin uses a generic Marble Satellite Catalog file available from Marble's download servers. The data of this catalog is collected and updated periodically from various sources like ESA TASC or JPL Horizons using Marble's gen-sat-catalog utility. Though, the plugin also allows user defined catalog files to be used.

Format Description

Generic

A Marble Satellite Catalog is a plain ascii text file preferably with the file extension '.msc'. This file extension is just a suggestion. You may also use .txt or whatever you want. Marble's satellite plugin distinguishes between satellite data file formats based on the content, not the file extension.

Comments

Lines starting with a '#' are ignored and may be used as single line comments.

Data Records

The file consists of lines where each line represents a single data record.

Each record (line) is a comma separated list of 13 fields and must provide all of them (even if they are empty) in order to be valid. Each field has its fixed position. The fields of a valid record are listed in the following table:

# Type Field Name Description
1 text name The name of the object this data record describes.
2 text category The category this object belongs to. In order to allow translation of category names in applications (e.g. Marble's satellites plugin), this field should contain one of these categories, if possible:

Comets, Moons, Spacecrafts, Space probes, Other

3 text related body The body this object belongs to (e.g. the planet) and position information is relative to.
4 seconds since 0h Jan 1, 1970 mission start If the object is part of a space mission, this field contains the start date of the mission (unix timestamp). Otherwise it is empty.
5 seconds since 0h Jan 1, 1970 mission end If the object is part of a space mission, this field contains the end date of the mission (unix timestamp). If it is not part of a space mission or the mission's end date is not known yet, this field is empty.
6 text additional data url This field is reserved for future use and not used by Marble's satellites plugin at the moment.
7 julien days - 2400000.5 mjd timestamp Time and date of the position and velocity data (see fields below) as modified julian days.
8 float [kilometers] position, x component The X component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.
9 float [kilometers] position y component The Y component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.
10 float [kilometers] position z component The Z component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.
11 float [kilometers per second] velocity x component The X component of the object's velocity at the time given in the 'mjd timestamp' field.
12 float [kilometers per second] velocity y component The Y component of the object's velocity at the time given in the 'mjd timestamp' field.
13 float [kilometers per second] velocity z component The Z component of the object's velocity at the time given in the 'mjd timestamp' field.

Example

This is an example of the contents of a valid Marble Satellite Catalog file:

# name, category, related_body, mission_start, mission_end, -, <mjd timestamp>, <...state vector...>
Mars Express, Spacecrafts, Mars, 1072137600,,, 2456159.5, 9342.5, 2476.8, 9722.2, -0.09, -0.96,  0.68
Venus Express, Spacecrafts, Venus, 1144713600,,, 2456162.5, -4360.9, 15932.7, -2610.3, 0.58, -3.51, 4.24
Phobos, Moons, Mars,,,, 2456175.5, -8319.3, -516.1, 4397.9, -0.30, -1.92, -0.86