Click or drag to resize

External Data

STK Components makes use of various data in order to perform accurate calculations. This topic provides an overview of the data sources, the default data shipped with Components, and where to obtain updated data files.

Leap Seconds

Leap seconds are periodically introduced by the International Earth Rotation Service (IERS). In STK Components, the set of leap seconds used for calculations are managed by the LeapSecondsFacet. Each release of Components includes the full set of leap seconds, both past and future, known at the time of the release. However, because leap seconds are added unpredictably over time, if you are building an application that you expect to be deployed long-term, you may need to plan to update the set of leap seconds used in your application, by loading an external data file which you can update without needing to rebuild.

Leap seconds can be loaded from a data file, LeapSecond.dat, which is maintained by AGI on our FTP site at: ftp://ftp.agi.com/pub/STKData/Astro/LeapSecond.dat. This file can be loaded using the following code:

Java
LeapSecondsFacet leapSeconds = LeapSecondFile.readLeapSeconds(filename);
leapSeconds.useInCurrentContext();

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

Java
LeapSecondsFacet leapSeconds = LeapSecondFile.downloadLeapSeconds();
leapSeconds.useInCurrentContext();
Earth Orientation Parameters (EOP)

EarthOrientationParameters specify Earth polar motion coordinates and the difference between UT1 and UTC, which change over time. Components does not ship with this data, and by default, no EOP data is used.

This data file is maintained by AGI on our FTP site at: ftp://ftp.agi.com/pub/DynamicEarthData/EOP-v1.1.txt. This file contains observed data from the last several years, as well as several months of predicted values. A much larger file containing decades of historical data is available at: ftp://ftp.agi.com/pub/DynamicEarthData/EOP-All-v1.1.txt.

To load this data for use in Components, use EarthOrientationParametersFile to create an instance of EarthOrientationParameters, then store that object on EarthCentralBody.OrientationParameters (get / set).

Java
EarthOrientationParameters eop = EarthOrientationParametersFile.readData(new File(dataPath, "EOP-v1.1.txt").getPath());
CentralBodiesFacet.getFromContext().getEarth().setOrientationParameters(eop);

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

Java
CentralBodiesFacet.getFromContext().getEarth().setOrientationParameters(EarthOrientationParametersFile.downloadData());
Mean Sea Level (MSL)

Some features of STK Components work with heights defined relative to a reference surface, often mean sea level. For example, some terrain providers are defined relative to MSL, routes in the Route Design Library can be defined relative to MSL, and the USStandardAtmosphere1976 model is defined with respect to MSL. Components does not ship with mean sea level data, but it can be downloaded and loaded into your application.

The EGM96 mean sea level data file, WW15MGH.DAC, can be downloaded from NGA at: http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/binary/binarygeoid.html.

To load this data into Components, construct a EarthGravityModel96MeanSeaLevel instance, then store that instance on EarthCentralBody.MeanSeaLevel (get / set).

Java
// The EGM96 worldwide 15 minute binary geoid height data file, WW15MGH.DAC, can
// be obtained from http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/binary/binarygeoid.html
EarthCentralBody earth = CentralBodiesFacet.getFromContext().getEarth();
EarthGravityModel96MeanSeaLevel msl = new EarthGravityModel96MeanSeaLevel(new File(dataPath, "WW15MGH.DAC").getPath());
earth.setMeanSeaLevel(msl);
JPL Planetary Ephemeris (JPLDE)

JPL Planetary Ephemeris files can be loaded to provide a more accurate model of the position of CentralBody in Components.

These data files can be downloaded from the AGI FTP site at: ftp://ftp.agi.com/pub/STKData/Astro/PlanetEphem/lendian/. Each type of file has a corresponding class that can read the data. The most current file at the time of writing is DE 430, which can be loaded with the JplDE430 class. Once loaded, the data can be used for the positions of the centers of mass of the central bodies in the CentralBodiesFacet by calling JplDE.useForCentralBodyPositions.

Java
// Load a JplDE file using a string that represents the JplDE file
JplDE430 jplde = new JplDE430(new File(dataPath, "plneph.430").getPath());

// Use the JplDE data in a CentralBodiesFacet
CentralBodiesFacet centralBodies = CentralBodiesFacet.getFromContext();
jplde.useForCentralBodyPositions(centralBodies);

// Optional - use the JplDE data for the Lunar fixed frame
MoonCentralBody moon = centralBodies.getMoon();
moon.setFixedFrame(jplde.getMoonFixedFrame());
GPS Data

Several data files are used with the Navigation Accuracy Library to compute information about GPS satellites. These data files are available from AGI's FTP site. Consult the documentation for each class for more information about each of these data files, and how to load and use the data in Components.

Solar Geophysical Data (Space Weather)

Some atmospheric density models in the Orbit Propagation Library use data about solar radiation and geomagnetic flux indices. This data can be loaded from data files obtained from CSSI at http://celestrak.com/spacedata/. To load this data into STK Components, construct a CssiSolarGeophysicalData object using one of the static methods on the class, then use that object to construct the desired density model.