Learn how the scripts utilize our STK Integration, only available for Innoslate Enterprise.
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 Integration
The integration between Innoslate and STK is crafted for a smooth and efficient user experience, allowing it to function immediately upon installation. To verify that the integration is working correctly, you can access the JWA UI by navigating to the following URL on your local installation: http://localhost:8080/integrations/
Requirements:
- Install & Launch Innoslate Enterprise (JWA automatically unpackaged)
- Install & Launch STK Software (with STK Integration License enabled)
To successfully integrate with STK from your model, ensure that the following script is included in every Script of the desired Action entity you'd like to integrate with STK.
Be advised that the example script provided below is designed for a locally hosted environment. It is critical to customize the URL and STK license information to align with your specific setup.
function onStart(){
//Initialize connection to STK application
STK.initialize("http://localhost:8080/integrations/STKIntegration?',"C:\\Users\\Perseus\\Docu
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.
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.
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.1 Output
Undefined (no output)
1.1.1.2 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
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
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
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
- Valid Stationary STK Objects:
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
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
- end_Time
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
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
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
- Valid Coordinate Types:
- String that specifies the coordinate type to be used
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
- If true, altitude will be set with respect to Mean Sea Level
- Boolean value that will determine whether MSL (Mean Sea Level) is enabled
- Value that determines whether user input for altitude is used or whether STK terrain data is used
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
- Boolean value that will determine whether MSL (Mean Sea Level) is enabled
- Value that determines whether user input for altitude is used or whether STK terrain data is used
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
- If true, altitude will be set with respect to Mean Sea Level
- Boolean value that will determine whether MSL (Mean Sea Level) is enabled
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
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
- Valid Position Types:
- String that specifies the position type to be used
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
- A number from 0 to 61
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
- Trunc Object Path
- Explicitly specify reference coordinate system relative to which Cartesian position data is interpreted
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
To continue learning about Innoslate Enterprise , Click Here.
(Next Article: Innoslate SQL Database Setup Instructions)