STK is an eminently flexible software suite allowing you to model and analyze systems across land, sea, air, space, and time. The software has built into the core engine capabilities to model a whole host of use cases “out of the box.”
Realizing that STK can’t be built to cover every customer need, our developers have created an extensive plugin architecture creating a multitude of ways for you to incorporate your own models and results. These capabilities allow you to effectively “black box” your computations into STK. Much the same way the plugin architecture allows you to black-box the computations into STK, graphical primitives and external data allow you to bring your own results and graphics into STK.
We’re not going to be focusing on plugins today; however, if you would like more information about them check out this link! Instead, today we are going to venture to the lip of the rabbit hole of bringing in externally computed data into STK. There are plenty of reasons one would want to bring data into STK, a few off the top of my head are:
- Previously computed analytic results, no need to re-compute
- Non-analytic graphical overlays
- Computations/data that STK doesn’t compute (this infrequent use case does occasionally occur)
- … and many more
Fortunately, the robust, open architecture of STK provides multiple avenues to inject your own external data, numerically and visually, into STK. Some of the easiest ways are through the “External Data” file format and associated Connect command. External data files allow you to create your own custom data provider sets for an object and specify the corresponding time-dynamic data, numeric and textual.
Once you have loaded the data into STK for an object, it becomes just like any other data provider, and you can report, graph, or do dynamic displays with it. It will show up in the “User Supplied Data” data provider group.
If you are looking for something with more of a visual flair, look no further than graphical primitives. Graphical primitives cover the gambit of visual points/lines/polygons to screen overlays streaming imagery and videos. The standard graphical primitives can be used to model non-analytic objects ranging from flight corridors, MTI hits, clouds, custom analytic results, or pretty much anything else that can be represented by a geometric shape.
The STK graphics primitives library accessible via the API allows you to visualize almost anything you could need. The simple example below shows a green box being moved around the screen, while being resized, via the graphical API’s. Instead of a simple green box, this could be an entire Heads Up Display…
The last example shows a fairly common use case of mine. For certain types of analysis, I take computational results out of STK, incorporate external number crunching on them, and then pass that information back into STK via time dynamic graphics primitives. This allows me to generate the exact results, visualize how I need them to be, while taking advantage of all the regular STK objects and analytics available in the scenario.
All things considered, external data, whether it is numeric, textual, or graphical can augment an already exceptionally powerful application, allowing for even more visually stimulating displays of the underlying analytical processes.