Systems Tool Kit (STK) API Integration

Learn about the scripts available through our STK Integration, only available on Enterprise Edition.

Sections Available in this Article

Feature Description
1.1 Initializing STK Learn how to initialize and establish communication with the Systems Tool Kit (STK) software within the Enterprise Innoslate environment.
1.2 Getting Values from STK Discover the scripts and commands that allow you to retrieve data and values from STK, enabling the retrieval of crucial information.
1.3 Setting Values to STK Master the techniques and commands to set and update values within the STK, facilitating the transfer of data and parameters between platforms.

1  Innoslate/STK API Commands

Once setup with the JWA, these commands should be treated as an extension of the current Innoslate Simulator Scripting API.

NOTE: Using these commands will set STK to using default date unit values (Gregorian UTCG), and all other values returned to the user will follow measurement unit values previously defined in STK Connect.

Note: The STK integration platform is only available on the Enterprise Edition as it requires a local host to integrate itself within the Innoslate Software.

1.1  Initializing & Changing a Connection with STK

These commands will enable a user to start using the Innoslate/STK API and begin with an STK scenario, as well as allow for a new scenario to be loaded when desired.

1.1.1  initialize()

Begins set up of the STK object before a simulation is executed; sends the STK scenario file path to the JWA server so that both Innoslate and STK will be in sync when observing and manipulating a STK scenario.

NOTE: This command must always be executed first before any other command is run. In addition, it must be present in every Action class entity that uses Innoslate/STK API commands.

WARNING: Save any previous work before executing this command, as this command will close the current STK scenario without saving.

1.1.1.1  Input

JavaScript Input Structure:
STK.initialize(URL, FilePath, Boolean);
  • URL:  
    • String value containing local host where the JWA server is being hosted
    • e.g "http://localhost:8080/integrations/STKIntegration?"
  • File Path:  
    • String value containing file path of where the STK Scenario (.sc) file is located
    • \\ or / are accepted
  • Boolean  
    • True will load (or re-load) URL and File Path
    • False will ignore URL and File Path (to be used after loading with "True" after the first initialize)

1.1.1.2  Output

Undefined (no output)

1.1.1.3  Example

JavaScript Command Example:

STK.initialize("http://localhost:8080/integrations/STKIntegration?", "C:\\Users\\ ...
\\STK 12\\ScenarioDirectory\\ScenarioName.sc", true);

1.1.2  changePath()

Sends a file path to the JWA server that reroutes STK to another STK scenario so that Innoslate and STK are in sync when observing and manipulating a different STK scenario. Also gives the option to save before rerouting STK.

1.1.2.1  Input

JavaScript Input Structure:

STK.changePath( FilePath , SaveOption );
  • File Path  
    • String value containing file path of the desired STK scenario
    • \\ or / are accepted
  • Save Option  
    • Boolean value "true" if you wish to save the current STK scenario before rerouting
    • Boolean value "false" if you wish to not save the current STK scenario before rerouting

1.1.2.2  Output

Undefined (no output)

1.1.2.3  Example

JavaScript Command Example:

STK.initialize("http://localhost:8080/integrations/STKIntegration?", "C:\\Users\\ ...
\\STK 12\\ScenarioDirectory\\ScenarioName.sc", true);

1.2  Getting Values from STK

These commands will enable a user to gather data from STK objects and scenarios, such as:

  • Time data
  • Satellite mission data (STK Astrogator required)
  • Available STK objects
  • Position data
  • Access ("line-of-sight") data

1.2.1  getTimePeriod()

Returns a JSON object that contains that start and stop time of a vehicle all in milliseconds, Innoslate, and STK time formats.

1.2.1.1  Input

JavaScript Input Example:

STK.getTimePeriod(STKObjectName);
  • STK Object Name  

    • String value of the STK object name or object path (if there are multiple objects with the same name, a longer & more descriptive object path is necessary to ensure the correct object is selected)

1.2.1.2  Output

A JSON object will be returned that follows the following format:

  • end_Time  
    • inno_Date
    • millisecond
    • stk_Date
  • start_Time  
    • inno_Date
    • millisecond
    • stk_Date

To access these values within a simulation, the Script API can be used to assign a variable this JSON object value. To access the attributes and sub-attributes within these JSON objects, object paths can be applied. The example below shows how to access and print to console the "millisecond" value inside a Script API.

x = STK.getTimePeriod("Aircraft1");

print(x.end_Time.millisecond);

1.2.1.3  Example Input

JavaScript Command Example:

STK.getTimePeriod("Aircraft1") ;

1.2.1.4  Example Output

stk example 1

1.2.2  getAstrogatorGetValue()

Returns a JSON object that contains available attributes of an STK Astrogator Satellite Object when given an attribute path.

1.2.2.1  Input

JavaScript Input Example:

STK.getAstrogatorGetValue( STKObjectName , AstrogatorAttributePath );
  • STK Object Name  
    • String value of the STK object name or object path (if there are multiple objects with the same name, a longer & more descriptive object path is necessary to ensure the correct object is selected)
  • Astrogator Attribute Path  
    • String value containing the attribute path that will be used to grab available attributes and their values. Documentation regarding potential attribute paths can be obtained from the STK Connect Command Library ("MainSequence.SegmentList is automatically added to the path, therefore if no attribute path is given, the default path will be "MainSequence.SegmentList")

1.2.2.2  Output

A JSON object will be returned, whose output depends on the attribute path. Certain paths can lead to a large number of values, while others are much smaller. For the purposes of an example, if no attribute path is given, the mission segments of an STK Astrogator Satellite will show the following format:

  • Initial_State
  • Propagate
  • ...
  • ...

All STK satellites created with Astrogator will have an "Initial_State", and will have multiple "mission sequences" depending on the objective of the STK satellite, which are not limited to "Propagate". These "mission sequences" can also be renamed by STK users.

To access these values within a simulation, the Script API can be used to assign a variable this JSON object value. To access the attributes and sub-attributes within these JSON objects, object paths can be applied. The example below shows how to access and print to console a satellite's (named ATV2) initial state fuel mass value inside a Script API.

x = STK.getAstrogatorGetValue("ATV2", "Initial_State.FuelMass);

print(x.FuelMass);

1.2.2.3  Example Input

JavaScript Command Example:

STK.getAstrogatorGetValue("ATV2", "Initial_State");

1.2.2.4  Example Output

stk example output 1

1.2.3  getAllInstances()

Returns a JSON object that contains all STK object paths within an STK scenario.

1.2.3.1  Input

No inputs.

1.2.3.2  Output

A JSON object will be returned that follows the following format:

  • 0
  • 1
  • 2
  • ...
  • ...

Each number, starting from 0, will contain an STK object path until all paths have been documented.

To access these values within a simulation, the Script API can be used to assign a variable this JSON object value. To access the attributes and sub-attributes within these JSON objects, object paths can be applied. The example below shows how to access and print to console the first instance value inside a Script API.

x = STK.getAllInstances();

print(x[0]);

1.2.3.3  Example Input

JavaScript Command Example:

STK.getAllInstances();

1.2.3.4  Example Output

stk example output 2

1.2.4  getPosition()

Returns a JSON object that contains time & position data for stationary or vehicular STK Objects.

1.2.4.1  Input

JavaScript Input Example:

STK.getPosition( STKObjectName, TimeValue, Type );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
    • Must be a stationary or vehicular STK object:    
      • Valid Stationary STK Objects:      
        • Facility, Place, Target, & Area Target
      • Valid Vehicular STK Objects:      
        • Satellite, Ground Vehicle, Aircraft, Ship, Missile, and Launch Vehicle
      • Time Value (Optional)  
        • String containing a time value in the STK UTCG time format, DD MMM YYYY, hh:mm:ss
        • WARNING: time must be within the bounds of the vehicles start and stop times
      • Type (Optional)  
        • String value must be either "Ground" or "Actual"
        • NOTE: Only for stationary STK objects Facility, Place, or Target, or the centroid of an STK Area Target object
        • If Ground is given, command will get the position of the ground
        • If Actual is given, the command will get the position of the object    
          • "Actual" accounts for the height above ground value

1.2.4.2  Output

A JSON object will be returned that depends on whether the input was a stationary or vehicular STK object. A getPosition() for a stationary STK object follows the following format:

  • altitude
  • latitude
  • longitude
  • position_x
  • position_y
  • position_z

A getPosition() for a vehicular STK object follows the following format:

  • altitude
  • central_body_vx
  • central_body_vy
  • central_body_vz
  • central_body_x
  • central_body_y
  • central_body_z
  • efc_vx
  • efc_vy
  • efc_vz
  • efc_x
  • efc_y
  • efc_z
  • latitude
  • longitude
  • rate_of_Altitude_Change
  • rate_of_Latitude_Change
  • rate_of_Longitude_Change

To access these values within a simulation, the Script API can be used to assign a variable this JSON object value. To access the attributes and sub-attributes within these JSON objects, object paths can be applied. The example below shows how to access and print to console the altitude value for a stationary STK object inside a Script API.

x = STK.getPosition("Facility1");

print(x.altitude);

1.2.4.3  Example Input

JavaScript Command Example:

STK.getPosition("Facility1");

1.2.4.4  Example Output

stk example output 3

stk example output 3.1

1.2.5  getAccess()

Returns a JSON object containing access intervals between two STK objects.

1.2.5.1  Input

JavaScript Input Example:

STK.getAccess( STKObjectName, STKObjectName, TimePeriod, MaxStepSize, MinStepSize,
ClockHost, Mode, AberrationType, TimeConvergence, LightTimeDelayConvergence,
EventsBasedOnSamples, AbsoluteValueConvergence, RelativeValueConvergence,
FixedSampleStep, FixedStepTimeBound, AutoAddTimeline );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Time Period (Optional)  
    • String containing either two time values in the STK UTCG time format, DD MMM YYYY hh:mm:ss, a STK time object, or STK time interval list
  • Max Step Size (Optional)  
    • Value that limits the amount of time allowed to elapse between access computations
    • Value must be between 1.0e-5 to 31557600
  • Min Step Size (Optional)  
    • Value that limits the amount of time allowed to elapse between access computations
    • Value must be between 1.0e-5 to 31557600 
  • Clock Host (Optional)  
    • String which reports the transmission or reception times using time values associated with the designated clock host
    • String must be either 1, 2, Base, or Target
  • Mode (Optional)  
    • String that tells the STK what signal transmission should be used for the clock host
    • String must be either Transpond, Transmit or Receive
  • Aberration Type (Optional)  
    • String that sets the model of aberration used in the access computations
    • String must be either Total Annual or None
  • Time Convergence (Optional)  
    • Value that sets the time tolerance used by the access algorithms for determining the start and stop time intervals
    • Value must be between 1.0e-9 to 1.0
  • Light Time Delay Convergence (Optional)  
    • Value that sets the time tolerance used by the access algorithms for computing the light time delay between objects
    • Value must be between 1.0e-9 to 1.0
  • Events Based On Samples (Optional)  
    • String that decides whether or not the access intervals are determined based on the samples without extra sub-sampling being done
    • String must be either On or Off
  • Absolute Value Convergence (Optional)  
    • Value that sets the criterion used for the convergence for values near 0
    • Value must be between 1e-30 to 1e+30
    • WARNING: Events based on Samples must be on for this to have any effect
  • Relative Value Convergence (Optional)  
    • Value that sets the tolerance of a constraint value’s relative difference which is used to compare to previous samples to determine if an event has occurred
    • Value must be between 0 and 1
    • WARNING: Events based on Samples must be on for this to have any affect
  • Fixed Sample Step (Optional)  
    • Value that sets the step size value used in the access sampling
    • Value must be between 1.0e-5 to 315576000
  • Fixed Step Time Bound (Optional)  
    • Value that sets the time bounds of the fixed sample step calculations
    • Value must be between 0.0 and 86400
  • Auto Add Timeline (Optional)  
    • String that decides whether or not the access time intervals will automatically be added to the time line view in STK
    • String must be either On or Off

For additional information on the types of inputs accepted, please refer to the STK Connect Access Command.

1.2.5.2  Output

If no accesses between the given STK objects are detected, the a JSON object in the following format will be returned:

  • number_of_Accesses

In this case, the value assigned to "number_of_Accesses" is 0.

If an access is detected between the given STK objects, a JSON object will be returned that follows the following format:

  • access_1  
    • end_Time    
      • inno_Date
      • millisecond
      • stk_Date
    • start_Time    
      • inno_Date
      • millisecond
      • stk_Date
    • access_2  
      • ...
    • ...
    • number_of_Accesses

To access these values within a simulation, the Script API can be used to assign a variable this JSON object value. To access the attributes and sub-attributes within these JSON objects, object paths can be applied. The example below shows how to access and print to console the "inno_Date" value from the first start time STK Access log inside a Script API.

x = STK.getAccess("Aircraft1", "Aircraft2");

print(x.access_1.start_Time.inno_Date);

1.2.5.3  Example Input

JavaScript Command Example:

STK.getAccess("Aircraft1", "Aircraft2");

STK.getAccess("Aircraft1", "Aircraft2", null, null, null, null, null, null, null,
null, null, null, null, null, null, null, "On");

1.2.5.4  Example Output

stk example output 4

1.3  Setting Values to STK

These commands will enable a user to set data to STK objects and scenarios, such as:

  • Create new STK objects
  • Set position data

1.3.1  createNew()

Creates a new STK object inside the current STK scenario. Also returns a String value containing the STK object path of the newly created STK object.

1.3.1.1  Input

JavaScript Input Example:

STK.createNew( STKObjectClass, STKObjectName, CentralBody, NoDefault, Ignore );
  • STK Object Class  
    • String containing the STK object class name for the new STK object that will be created within STK
  • STKObjectName  
    • String of the desired name for the new STK object that will be created within STK
  • Central Body (Optional)  
    • String that determines which central body the new STK object is created on
  • No Default (Optional)  
    • Boolean that determines if the object is created using hard coded defaults
  • Ignore (Optional)  
    • Boolean that determines if duplicates will be discarded without creating errors

1.3.1.2  Output

A String value will be returned that will contain the STK object path.

1.3.1.3  Example Input

JavaScript Command Example:

STK.createNew("Aircraft", "UFO_1");

1.3.1.4  Example Output

stk example output 5

1.3.2  setStationaryPosition()

Sets position data for a stationary STK object within the current STK scenario. Also returns a String value containing the STK object path of the stationary STK object whose position data is being set.

1.3.2.1  Input

JavaScript General Input Example:

STK.setStationaryPosition( STKObjectName, Type, CoordinateType,
{CoordinateTypeInputs});
  • STKObjectName  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
    • If Ground is given, command will set the position of the ground
    • If Actual is given, the command will set the position of the object    
      • If height above ground is non-zero, then the position will be altered so that the specified altitude equals the altitude on the ground plus height above ground
    • CoordinateType  
      • String that specifies the coordinate type to be used    
        • Valid Coordinate Types:      
          • Cartesian, Geodetic, Geocentric, Cylindrical, Spherical, UTM (Universal Transverse Mercator)
        • CoordinateTypeInputs  
          • Additional input values that depend on the Coordinate Type specified

1.3.2.1.1  Cartesian

JavaScript Cartesian Input Example:

STK.setStationaryPosition( STKObjectName, Type, "Cartesian", X_Parameter,
Y_Parameter, Z_Parameter );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "Cartesian"  
    • "Cartesian" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Cartesian coordinate system
  • X_Parameter  
    • Value that represents the Cartesian X coordinate in meters
  • Y_Parameter  
    • Value that represents the Cartesian Y coordinate in meters
  • Z_Parameter  
    • Value that represents the Cartesian Z coordinate in meters

1.3.2.1.2  Geodetic

JavaScript Geodetic Input Example:

STK.setStationaryPosition( STKObjectName, Type, "Geodetic", Latitude, Longitude, Altitude, MSL );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "Geodetic"  
    • "Geodetic" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Geodetic coordinate system
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that determines whether user input for altitude is used or whether STK terrain data is used    
      • If a number value is entered, that value will represent altitude in meters
      • If String value "Terrain" is entered, STK terrain data will be used to determine altitude
    • MSL (Optional)  
      • Boolean value that will determine whether MSL (Mean Sea Level) is enabled        
        • If true, altitude will be set with respect to Mean Sea Level
          • If false, altitude will not be set with respect to Mean Sea Level
        • NOTE: MSL is invalid for AreaTarget STK objects

1.3.2.1.3  Geocentric

JavaScript Geocentric Input Example:

STK.setStationaryPosition( STKObjectName, Type, "Geocentric", Latitude, Longitude,
Altitude, MSL );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "Geocentric"  
    • "Geocentric" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Geodetic coordinate system
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that determines whether user input for altitude is used or whether STK terrain data is used    
      • If a numeric value is entered, that value will represent altitude in meters
      • If String value "Terrain" is entered, STK terrain data will be used to determine altitude
    • MSL (Optional)  
      • Boolean value that will determine whether MSL (Mean Sea Level) is enabled    
        • If true, altitude will be set with respect to Mean Sea Level
        • If false, altitude will not be set with respect to Mean Sea Level
      • NOTE: MSL is invalid for AreaTarget STK objects

1.3.2.1.4  Cylindrical

JavaScript Cylindrical Input Example:

STK.setStationaryPosition( STKObjectName, Type, "Cylindrical", Radius, Longitude,
Z_Parameter );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "Cylindrical"  
    • "Cylindrical" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Cylindrical coordinate system
  • Radius  
    • Value that represents radius in meters
  • Longitude  
    • Value that represents longitude in degrees
  • Z_Parameter  
    • Value that represents Z coordinate in meters

1.3.2.1.5  Spherical

JavaScript Spherical Input Example:

STK.setStationaryPosition( STKObjectName, Type, "Spherical", Latitude, Longitude,
Radius );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "Spherical"  
    • "Spherical" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Spherical coordinate system
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Radius  
    • Value that represents radius in meters

1.3.2.1.6  UTM

JavaScript UTM Input Example:

STK.setStationaryPosition( STKObjectName, Type, "UTM", ZoneString, Easting, Northing,
Altitude, MSL );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Type  
    • String value must be either "Ground" or "Actual"
  • "UTM"  
    • "UTM" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Universal Traverse Mercator coordinate system
  • ZoneString  
    • String value that represents zone
    • Valid input must include:    
      • A number from 0 to 61
      • A character from A to Z
    • Easting  
      • Value that represents Easting
    • Northing  
      • Value that represents Northing
    • Altitude  
      • Value that represents altitude in meters
    • MSL (Optional)  
      • Boolean value that will determine whether MSL (Mean Sea Level) is enabled        
        • If true, altitude will be set with respect to Mean Sea Level
          • If false, altitude will not be set with respect to Mean Sea Level
        • NOTE: MSL is invalid for AreaTarget STK objects

1.3.2.2  Output

Returns a String value that contains the STK object path of the stationary STK object whose location is being set.

1.3.2.3  Example Input

JavaScript Command Examples:

STK.setStationaryPosition("Facility2"', "Actual", "Cartesian", 1216380, -4736310,
4081320);

STK.setStationaryPosition("Facility2", "Actual", "Geocentric", 39.8492, -75.5966,
0.759965, false);

STK.setStationaryPosition("Facility2", "Actual", "Geodetic", 40.0386, -75.5966,
0.759965, false);

STK.setStationaryPosition("Facility2", "Actual", "Cylindrical", 4890010, -75.5966,
4081320);

STK.setStationaryPosition("Facility2", "Actual", "Spherical", 39.8492, -75.5966,
6369410);

STK.setStationaryPosition("Facility2", "Actual", "UTM", "18S", 523222, 3706636, 0,
false);

1.3.2.4  Example Output

stk example output 6

1.3.3  setVehiclePosition()

Sets position data for a vehicular STK object within the current STK scenario. Also returns a String value containing the STK object path of the vehicular STK object whose position data is being set.

1.3.3.1  Input

JavaScript General Input Example:

STK.setVehiclePosition( STKObjectPath, PositionType, { PositionTypeInputs } );
  • STK Object Path  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • PositionType  
    • String that specifies the position type to be used    
      • Valid Position Types:      
        • UTM, MSL_LLA, AGL_LLA, LLA, LLAHPS, Reference, ECI, ECF, B1950
        • Truncated Object Path        
          • Consists of an STK object name and reference frame
        • PositionTypeInputs  
          • Additional input values that depend on the Position Type specified

1.3.3.1.1  UTM (Universal Traverse Mercator)

JavaScript UTM Input Example:

STK.setVehiclePosition( STKObjectName, "UTM", TimeValue, ZoneString, Easting,
Northing, Altitude, LongitudeRate, LatitudeRate, AltitudeRate );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "UTM"  
    • "UTM" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the UTM coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • Zone String  
    • String value that represents zone
    • Valid input must include:        
      • A number from 0 to 61
        • A character from A to Z
      • Easting  
        • Value that represents Easting
      • Northing  
        • Value that represents Northing
      • Altitude  
        • Value that represents altitude in meters
      • Longitude Rate (Optional)  
        • Value that represents the longitude rate in degrees
      • Latitude Rate (Optional)  
        • Value that represents the latitude rate in degrees
      • Altitude Rate (Optional)  
        • Value that represents the altitude rate in meters

1.3.3.1.2  MSL_LLA (Mean Sea Level, Latitude, Longitude, Altitude)

JavaScript MSL_LLA Input Example:

STK.setVehiclePosition( STKObjectName, "MSL_LLA", TimeValue, Latitude, Longitude,
Altitude, LatitudeRate, LongitudeRate, AltitudeRate );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "MSL_LLA"  
    • "MSL_LLA" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the MSL_LLA coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that represents altitude in meters
  • Latitude Rate (Optional)  
    • Value that represents the latitude rate in degrees
  • Longitude Rate (Optional)  
    • Value that represents the longitude rate in degrees
  • Altitude Rate (Optional)  
    • Value that represents the altitude rate in meters

1.3.3.1.3  AGL_LLA (Above Ground Level, Latitude, Longitude, Altitude)

JavaScript AGL_LLA Input Example:

STK.setVehiclePosition( STKObjectName, "AGL_LLA", TimeValue, Latitude, Longitude,
Altitude, LatitudeRate, LongitudeRate, AltitudeRate );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "AGL_LLA"  
    • "AGL_LLA" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the AGL_LLA coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that represents altitude in meters
  • Latitude Rate (Optional)  
    • Value that represents the latitude rate in degrees
  • Longitude Rate (Optional)  
    • Value that represents the longitude rate in degrees
  • Altitude Rate (Optional)  
    • Value that represents the altitude rate in meters

1.3.3.1.4  LLA (Latitude, Longitude, Altitude)

JavaScript LLA Input Example:

STK.setVehiclePosition( STKObjectName, "LLA", TimeValue, Latitude, Longitude, Altitude, LatitudeRate, LongitudeRate, AltitudeRate );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "LLA"  
    • "LLA" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the LLA coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that represents altitude in degrees
  • Latitude Rate (Optional)  
    • Value that represents the latitude rate in degrees
  • Longitude Rate (Optional)  
    • Value that represents the longitude rate in degrees
  • Altitude Rate (Optional)  
    • Value that represents the altitude rate in meters

1.3.3.1.5  LLAHPS

JavaScript LLAHPS Input Example:

STK.setVehiclePosition( STKObjectName, "LLAHPS", TimeValue, Latitude, Longitude, Altitude, Heading, Pitch, Speed );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "LLAHPS"  
    • "LLAHPS" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the LLAHPS coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • Latitude  
    • Value that represents latitude in degrees
  • Longitude  
    • Value that represents longitude in degrees
  • Altitude  
    • Value that represents altitude in meters
  • Heading  
    • Value that represents heading in degrees from the north and is the rotation about the Z-axis
  • Pitch  
    • Value that represents the rotation about the Y-axis
  • Speed  
    • Value that represents speed in meters/second

1.3.3.1.6  Reference

JavaScript Reference Input Example:

STK.setVehiclePosition( STKObjectName, "Reference", TimeValue, X_Parameter, Y_Parameter, Z_Parameter, X_Velocity, Y_Velocity, Z_Velocity );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "Reference"  
    • "Reference" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the Cartesian coordinate system relative to the current STK ephemeris reference system. STK is defaulted to ECF unless changed within the STK application
  • Time Value
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • X_Parameter  
    • Value that represents the Cartesian X coordinate position in meters
  • Y_Parameter
    • Value that represents the Cartesian Y coordinate position in meters
  • Z_Parameter  
    • Value that represents the Cartesian Z coordinate position in meters
  • X_Velocity (Optional)  
    • Value that represents the Cartesian X coordinate velocity in meters/second
  • Y_Velocity (Optional)  
    • Value that represents the Cartesian Y coordinate velocity in meters/second
  • Z_Velocity (Optional)  
    • Value that represents the Cartesian Z coordinate velocity in meters/second

1.3.3.1.7  ECI

JavaScript ECI Input Example:

STK.setVehiclePosition( STKObjectName, "ECI", TimeValue, X_Parameter, Y_Parameter, Z_Parameter, X_Velocity, Y_Velocity, Z_Velocity );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "ECI"  
    • "ECI" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the ECI coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • X_Parameter  
    • Value that represents the Cartesian X coordinate position in meters
  • Y_Parameter  
    • Value that represents the Cartesian Y coordinate position in meters
  • Z_Parameter  
    • Value that represents the Cartesian Z coordinate position in meters
  • X_Velocity (Optional)  
    • Value that represents the Cartesian X coordinate velocity in meters/second
  • Y_Velocity (Optional)  
    • Value that represents the Cartesian Y coordinate velocity in meters/second
  • Z_Velocity (Optional)  
    • Value that represents the Cartesian Z coordinate velocity in meters/second

1.3.3.1.8  ECF

JavaScript ECF Input Example:

STK.setVehiclePosition( STKObjectName, "ECF", TimeValue, X_Parameter, Y_Parameter, Z_Parameter, X_Velocity, Y_Velocity, Z_Velocity );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "ECF"  
    • "ECF" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the ECF coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • X_Parameter  
    • Value that represents the Cartesian X coordinate position in meters
  • Y_Parameter  
    • Value that represents the Cartesian Y coordinate position in meters
  • Z_Parameter  
    • Value that represents the Cartesian Z coordinate position in meters
  • X_Velocity (Optional)  
    • Value that represents the Cartesian X coordinate velocity in meters/second
  • Y_Velocity (Optional)  
    • Value that represents the Cartesian Y coordinate velocity in meters/second
  • Z_Velocity (Optional)  
    • Value that represents the Cartesian Z coordinate velocity in meters/second

1.3.3.1.9  B1950

JavaScript B1950 Input Example:

STK.setVehiclePosition( STKObjectName, "B1950", TimeValue, X_Parameter, Y_Parameter, Z_Parameter, X_Velocity, Y_Velocity, Z_Velocity );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • "B1950"  
    • "B1950" is the String value that ensures the command will use the subsequent inputs to set the STK object according to the B1950 coordinate system
  • Time Value  
    • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
    • WARNING: time must be within the bounds of the vehicles start and stop times
  • X_Parameter  
    • Value that represents the Cartesian X coordinate position in meters
  • Y_Parameter  
    • Value that represents the Cartesian Y coordinate position in meters
  • Z_Parameter  
    • Value that represents the Cartesian Z coordinate position in meters
  • X_Velocity (Optional)  
    • Value that represents the Cartesian X coordinate velocity in meters/second
  • Y_Velocity (Optional)  
    • Value that represents the Cartesian Y coordinate velocity in meters/second
  • Z_Velocity (Optional)  
    • Value that represents the Cartesian Z coordinate velocity in meters/second

1.3.3.1.10  Truncated Object Path

JavaScript Truncated Object Path Example:

STK.setVehiclePosition( STKObjectName, TruncObjectPath, Crdn, TimeValue, X_Parameter, Y_Parameter, Z_Parameter, X_Velocity, Y_Velocity, Z_Velocity );
  • STK Object Name  
    • String of the object name or object path (if there are multiple objects with the same name, putting in a longer segment object path will be needed to ensure the correct object is selected)
  • Trunch Object Path & Cdrn        
    • Explicitly specify reference coordinate system relative to which Cartesian position data is interpreted
      • Trunc Object Path    
        • String value that contains either the name of an STK object or STK Central Body from which Cartesian position data is acquired (e.g. Satellite1 for a STK object, Moon for a STK Central Body etc.)
        • Crdn    
          • String value that contains reference coordinate system name (e.g Body for an STK object, Inertial for an STK Central Body, etc.)
        • Time Value  
          • String containing a time value in the STK UTCG time format, DD MMM YYYY hh:mm:ss
          • WARNING: time must be within the bounds of the vehicles start and stop times
        • X_Parameter  
          • Value that represents the Cartesian X coordinate position in meters
        • Y_Parameter  
          • Value that represents the Cartesian Y coordinate position in meters
        • Z_Parameter  
          • Value that represents the Cartesian Z coordinate position in meters
        • X_Velocity (Optional)  
          • Value that represents the Cartesian X coordinate velocity in meters/second
        • Y_Velocity (Optional)  
          • Value that represents the Cartesian Y coordinate velocity in meters/second
        • Z_Velocity (Optional)  
          • Value that represents the Cartesian Z coordinate velocity in meters/second

1.3.3.2  Output

Returns a String value that contains the STK object path of the vehicular STK object whose location is being set.

1.3.3.3  Example Input

JavaScript Command Examples:STK.setVehiclePosition("SetterAircraft", "UTM", "30 
Nov 2020 17:00:00", "18S", 523222, 3706636, 0.0, null, null, null);

STK.setVehiclePosition("SetterAircraft", "MSL_LLA", "30 Nov 2020 17:00:00", -77,
15, 4000);

STK.setVehiclePosition("SetterAircraft", "AGL_LLA", "30 Nov 2020 17:00:00", -78,
30, 4000);

STK.setVehiclePosition("SetterAircraft", "LLA", "30 Nov 2020 17:00:00", -77, 45,
4000);

STK.setVehiclePosition("SetterAircraft", "LLAHPS", "30 Nov 2020 17:00:00", -77,
60, 4000, 270, 10, 420);

STK.setVehiclePosition("SetterAircraft", "Reference", "30 Nov 2020 17:00:00",
1216380, -4736310, 4581320);

STK.setVehiclePosition("SetterAircraft", "ECI", "30 Nov 2020 17:00:00",
-4601661.574, -2541422.813, 3599885.272, -3, -3, 3);

STK.setVehiclePosition("SetterAircraft", "ECF", "30 Nov 2020 17:00:00",
-4601661.574, -2541422.813, 3599885.272, -3, -3, 3);

STK.setVehiclePosition("SetterAircraft", "Moon", "Inertial", "30 Nov 2020 17:00:00",
-4601661.574, -2541422.813, 3599885.272);

STK.setVehiclePosition("SetterAircraft", "Facility1", "Body", "30 Nov 2020 17:00:00",
0, 0, -800);

1.3.3.4  Example Output

stk example output 6

 

To continue learning about Innoslate Enterprise , Click Here.

(Next Article: Innoslate SQL Database Setup Instructions)