Systems Tool Kit

From Wikipedia, the free encyclopedia
  (Redirected from Satellite Tool Kit)
Jump to navigation Jump to search
STK GUI screenshot
STK GUI screenshot
Developer(s)Analytical Graphics, Inc.
Stable release
11.6 / May 2019; 1 year ago (2019-05)
Operating systemWindows
TypeTechnical computing
WebsiteSTK product page

Systems Tool Kit (formerly Satellite Tool Kit), often referred to by its initials STK, is a physics-based software package from Analytical Graphics, Inc. that allows engineers and scientists to perform complex analyses of ground, sea, air, and space platforms, and share results in one integrated environment[1]. At the core of STK is a geometry engine for determining the time-dynamic position and attitude of objects ("assets"), and the spatial relationships among the objects under consideration including their relationships or accesses given a number of complex, simultaneous constraining conditions. STK has been developed since 1989 as a commercial off the shelf software tool. Originally created[2] to solve problems involving Earth-orbiting satellites, it is now used in the aerospace and defense communities and for many other applications.

STK is used in government, commercial, and defense applications around the world. Clients of AGI are organizations such as NASA, ESA, CNES, DLR, Boeing, JAXA, ISRO, Lockheed Martin, Northrop Grumman, Airbus, The US DoD, and Civil Air Patrol.[2]


In 1989, the three founders of Analytical Graphics, Inc. - Paul Graziani, Scott Reynolds and Jim Poland, left GE Aerospace to create Satellite Tool Kit (STK) as an alternative to bespoke, project-specific aerospace software.[3]

The original version of STK ran only on Sun Microsystems computers, but as PCs became more powerful, the code was converted to run on Windows.

STK was first adopted by the aerospace community[when?] for orbit analysis and access calculations (when a satellite can see a ground-station or image target), but as the software was expanded, more modules were added that included the ability to perform calculations for communications systems, radar, interplanetary missions and orbit collision avoidance.

The addition of 3D viewing capabilities led to the adoption of the tool by military users for real-time visualization of air, land and sea forces as well as the space component. STK has also been used by various news organizations to graphically depict current events to a wider audience, including the deorbit of Russia's Mir Space Station, the Space Shuttle Columbia disaster, the Iridium/Cosmos collision, the asteroid 2012 DA14 close approach and various North Korea missile tests.

As of version 10 (released in 2012), the software underwent a name change from Satellite Tool Kit to Systems Tool Kit to reflect its applicability in land, sea, air, and space systems.[4]

In 2019, Dutch amateur skywatcher Marco Langbroek used STK to analyze a high-resolution photograph of an Iranian launch site accident tweeted by US President Trump.[5] It was "the first time in three and a half decades that an image [had] become public that [revealed] the sophistication of US spy satellites in orbit."[5] Langbroek and astronomer Cees Bassa, identified the specific classified spysat (USA-224, a KH-11 satellite with an objective mirror as large as the Hubble Space Telescope) that had taken the photograph, and the time when it was taken on a particular satellite pass.[6][5]


The STK interface is a standard GUI display with customizable toolbars and dockable maps and 3D viewports. All analysis can be done through mouse and keyboard interaction.

In addition, there is a scripting interface named Connect that enables STK to act within a client/server environment (via TCP/IP) and is language independent. Users on Windows have the option of using STK programatically via OLE automation.

Each analysis or design space within STK is called a scenario. Within each scenario any number of satellites, aircraft, targets, ships, communications systems or other objects can be created. Each scenario defines the default temporal limits to the child objects, as well as the base unit selection and properties. All of these properties can be overridden for each child object individually, as necessary. Only one scenario may exist at any one time, although data can be exported and reused in subsequent analyses.

For each object within a scenario, various reports and graphics (both static and dynamic) may be created. Relative parameters, between one object and another can also be reported and the effect of real-world restrictions (constraints) enabled so that more accurate reporting is obtained. Through the use of the constellation and chains objects, multiple child objects may be grouped together and the multipath interactions between them investigated.

AGI also offers software development kits for embedding STK capabilities into third-party applications or creating new applications based on AGI technology.


STK is a modular product, in much the same way as MATLAB and Simulink, and allows users to add modules to the baseline package to enhance specific functions.


STK can be embedded within another application (as an ActiveX component) or controlled from an external application (through TCP/IP or Component Object Model (COM)). Both integration techniques can make use of the connect scripting language to accomplish this task. There is also an object model for more "programmer oriented" integration methodologies. STK can be driven from a script that is run from the STK internal web browser in the free version of the tool. To control STK from an external source, or embed STK in another application requires the STK/Integration module.


Since connect is a messaging format, it has the advantage of being completely language independent. This allows applications and client tools to be created in the programming language of the user's or developer's choice. In practice, as long as it is possible to create a socket connection, send information through that socket and then receive information that way then STK can be controlled with connect using that language.

Applications have been developed in C, C++, C#, Perl, Visual Basic, VBScript, Java, JavaScript and MATLAB. Examples can also be found in the STK help files or downloaded from the AGI website.

See also[edit]


  1. ^ "Satellite Design and Operations". AGI. Retrieved 2019-06-03.
  2. ^ a b "AGI". AGI. Retrieved 2019-06-03.
  3. ^ "History". AGI. Retrieved 2019-06-03.
  4. ^ frank (2012-10-18). "Why Systems Tool Kit? Part I". AGI. Retrieved 2020-03-09.
  5. ^ a b c Oberhaus, Daniel (3 September 2019). "Trump Tweeted a Sensitive Photo. Internet Sleuths Decoded It". Wired. Retrieved 4 September 2019. Since the trajectories of classified satellites are not published by the Department of Defense, Langbroek had to rely on orbit data collected by a global network of amateur spy-satellite hunters. This community obsessively documents the movements of classified objects in space, often using little more than binoculars, a stopwatch, and a basic knowledge of orbital mechanics. But despite the low-tech observation techniques, their predictions of satellite movements are often accurate to within a few seconds. ... This is the first time in three and a half decades that an image has become public that reveals the sophistication of US spy satellites in orbit.
  6. ^ Brumfiel, Geoff (2 September 2019). "Amateurs Identify U.S. Spy Satellite Behind President Trump's Tweet". National Public Radio. Retrieved 2 September 2019. a small community of amateur satellite trackers was far more interested in the picture than the words. These individuals use backyard telescopes to watch satellites whizzing across the sky, and they know where most of them are—even classified ones like USA 224. 'They're super bright in the sky and are easy to find,' says Michael Thompson, a graduate student in astrodynamics at Purdue University who spots satellites in his spare time. Once a satellite is seen, it's relatively easy to work out exactly where it will be at any point in future. 'Using math to calculate an orbit is really easy,' he says.

External links[edit]