Click or drag to resize

Satellite Database Files

To obtain information about spacecraft using STK database files, use the StkSatelliteDatabase class. This type uses a directory and a base filename to identify a set of files with the same name, but differing extensions, which together define the database. For more information on the format of these files, see the section on the database format below.

Satellite Databases in DME Component Libraries

STK uses a "satellite database" to encode satellite ephemeris and metadata available from Celestrak and other sources.

After instantiating an instance of StkSatelliteDatabase, queries can be made to obtain a set of satellites matching a set of criteria. The following example demonstrates how to query the database for satellites:

C#
StkSatelliteDatabase db = new StkSatelliteDatabase(dbDirectory, "stkSatDb");

// Create a query object and then populate it with the properties to query on.
// Regular expressions are used to query on strings.
StkSatelliteDatabaseQuery query = new StkSatelliteDatabaseQuery
{
    CommonName = new Regex("QUICK"),
    MinimumApogee = 200000.0,
};

// Get the database entries matching the query and print out the SSC number of each.
foreach (StkSatelliteDatabaseEntry entry in db.GetEntries(query))
{
    Console.WriteLine(entry.SatelliteNumber);
}
Satellite Database Format

A satellite database is comprised of a total of six files which have the same base filename with different file extensions. The file extension determines the type of data contained by that file. Not all files are required. If an optional data file is not present, then that information will be silently omitted from the database entries.

File

Contents

Required?

stkSatDb.sd

Main database file

Required

stkSatDb.fr

Frequency Information

Optional

stkSatDb.wr

Write Ups

Optional

stkSatDb.om

Owner/Mission

Optional

stkSatDb.tce

Two-line Element Sets

Optional

stkSatDb.gd

Generic database information

Optional

The first three files contain fixed-width fields, where one row represents a single entry. The remaining contain a standard text format.

stkSatDb.sd File

This is the main satellite database file; it contains all searchable fields. The format, starting at column zero, is as follows:

Column

Width

Description

0-4

5

SSC number. Valid values are 00001 - 99999. Leading zeros are expected.

5-19

15

Common name. This is any common name that may be used. There may be multiple entries for a satellite; these may differ in the common name.

20-34

15

Official name. This is the unique official name for the entry.

35-45

11

International number. Unique number assigned to all objects achieving orbit and observed by U.S. Strategic Command (USSTRATCOM).

46-55

10

Owner/country. Owner of satellite.

56-65

10

Mission. Category of mission.

66-68

3

Launch site. May be abbreviated.

69-76

8

Launch date, in YYYYMMDD format.

77-80

4

Launch time (UTC), in HHMM format (0000-2359).

81-100

20

Orbit description, for example, heliocentric orbit, or for decayed objects, the decay date.

101-104

4

This field is blank.

105-112

8

Mass in kilograms. This is the dry mass of the satellite.

113-118

6

Apogee in kilometers above the surface.

119-123

5

Perigee in kilometers above the surface.

124-130

7

Period, the time in minutes for the satellite to complete one revolution of the Earth. This number is rounded to nearest tenth of a minute.

131-135

5

Inclination, the angle (in degrees) between the plane of the orbit and the equatorial plane of the planet.

136-140

5

This field is blank.

141-148

8

Status (Active, Inactive, or Unknown).

149-156

8

Date of last database update (YYYYMMDD)

stkSatDb.fr File

This is the frequency file; it contains all downlink frequencies known for the satellite. Frequencies are stored in Megahertz. Currently, this information is for description purposes only. There may be multiple entries for a particular satellite. The format, starting at column zero, is as follows:

Column

Width

Description

0-4

5

SSC number. Valid values are 00001 - 99999. Leading zeros are expected.

5-11

7

Low frequency.

12-19

7

High frequency.

stkSatDb.wr File

This is the write up file. There can be multiple rows for a single satellite. The format, starting at column zero, is as follows:

Column

Width

Description

0-4

5

SSC number. Valid values are 00001 - 99999. Leading zeros are expected.

5-49

45

Write up text.

stkSatDb.om File

This is the Owner/Mission file. It contains a list of all the valid owners and missions for the database, and defines the lists returned by the GetOwners and GetMissions methods.

Example owner/mission file, abbreviated
BEGIN Owner
ARGN
ASRA
ESA
ESRO
UK
US
END Owner

BEGIN Mission
Astronomy
Comm
Earth Sci
Engineer
Human Crew
Unknown
END Mission

stkSatDb.tce File

This file contains two-line element sets (TLEs) for the satellites in the database. The element sets represent the latest available TLE data for each satellite.

Example stkSatDb.tce file, abbreviated
1 00005U 58002B   05015.94626345 -.00000062  00000-0 -10317-3 0  9658
2 00005  34.2544 279.4240 1851477 235.3377 105.8748 10.83848344594048
1 00011U 59001A   05015.08582723  .00000155  00000-0  62942-4 0  1094
2 00011  32.8742 252.5821 1484798 239.7234 104.8236 11.82002579949142
1 00012U 59001B   05015.81379938  .00000334  00000-0  20907-3 0  5848
2 00012  32.8922 192.9596 1681078  80.7514 297.8531 11.40765732878338
1 00016U 58002A   05015.94728841  .00000029  00000-0  13838-4 0  3987
2 00016  34.2736 202.9570 2031906 271.0047  65.9929 10.47957803867837
1 00020U 59007A   05015.35273971  .00000630  00000-0  26956-3 0  5357
2 00020  33.3472 351.0938 1690744  52.6138 321.6759 11.50473782580498
1 00022U 59009A   05015.95064910  .00000663  00000-0  92921-4 0  1783
2 00022  50.2929 278.4707 0179209 252.3746 105.7553 14.80402097387262
1 00029U 60002B   05013.90124256  .00000037  00000-0  38295-4 0  3936
2 00029  48.3834 186.5671 0024985 314.7880  45.0995 14.71345039388318
1 00045U 60007A   05015.74008867  .00000100  00000-0  53717-4 0  4356
2 00045  66.6974  78.4199 0253333  89.3317 273.6828 14.31832518315974

stkSatDb.gd File

This is the generic database file, which contains version information and the date of last update of the database. This information is returned from the Version and LastUpdateDate properties.

Example stkSatDb.gd file
BEGIN DatabaseUpdate
  Version          1.1
  LastUpdate       20160616
END DatabaseUpdate

Creating Platforms for Satellites

In order to use satellite information in other analysis in DME Component Libraries, it is useful to create a Platform object which represents the satellite. To make this easy, extension methods are defined in StkSatelliteDatabaseEntryExtensions and StkSatelliteDatabaseExtensions that create a platform from a single database entry, or create a list of platforms for all entries matching a query, as the following example demonstrates:

C#
foreach (StkSatelliteDatabaseEntry entry in db.GetEntries(query))
{
    // A Platform object can be created from a single database entry.
    Platform platform = entry.CreatePlatform();
}

// Or, a list of Platforms can be created from all entries matching a query.
List<Platform> platforms = db.CreatePlatforms(query);

Downloading Satellite Databases

AGI maintains publicly-available satellite databases, updated daily, at: https://ftp.agi.com/dist/satdb/. The compressed ZIP archives can used to create a StkSatelliteDatabase without needing to unpack the files locally.

Alternatively, if your application has internet access, you can download the current database file from AGI using the following code:

C#
// Downloads the current stkSatDbAll database from an AGI server.
StkSatelliteDatabase db = StkSatelliteDatabase.Download();

// Or, download a specific database type, such as the stkAllTLE database.
StkSatelliteDatabase allTle = StkSatelliteDatabase.Download(StkSatelliteDatabaseType.AllTwoLineElements);