Description
Represents the Time-dependent Data Provider
(for instance satellite position).
Object Model
Public Methods
Exec |
Compute the data;
time-dependent data providers require an interval and a time step.
Start/Stop use DateFormat Dimension. StepTime uses Time
Dimension. |
ExecElements |
Compute the data and return
just the indicated data elements; time-dependent data providers
require an interval and a time step. |
ExecElementsNativeTimes |
Compute the data for
default; return just the indicated data elements; default
time-dependent data providers require an interval. Start/Stop use
DateFormat Dimension. |
ExecNativeTimes |
Compute the data for
default; default time-dependent data providers require an interval.
Start/Stop use DateFormat Dimension. |
ExecSingle |
Computes the data given a
single Time. SingleTime uses DateFormat Dimension. |
ExecSingleElements |
Computes the data given a
single Time and return just the indicated data elements. SingleTime
uses DateFormat Dimension. |
ExecSingleElementsArray |
Computes the data given a
single Time array and return just the indicated data elements.
SingleTime uses DateFormat Dimension. |
Example
Compute an access and
get constraint data from data provider
[C#] |
Copy Code
|
IAgStkObject sat1 = root.GetObjectFromPath("Satellite/Satellite1");
IAgStkObject fac1 = root.GetObjectFromPath("Facility/Facility1");
IAgStkAccess access = sat1.GetAccessToObject(fac1);
access.ComputeAccess();
IAgIntervalCollection accessIntervals = access.ComputedAccessIntervalTimes;
root.UnitPreferences.SetCurrentUnit("Distance", "km");
root.UnitPreferences.SetCurrentUnit("Angle", "deg");
root.UnitPreferences.SetCurrentUnit("Time", "sec");
root.UnitPreferences.SetCurrentUnit("DateFormat", "UTCG");
Array dataPrvElements = new object[]
{
"Time", "FromAngularRate", "FromRange"
};
IAgDataPrvTimeVar dp = access.DataProviders["Constraint Data"] as IAgDataPrvTimeVar;
for (int index0 = 0; index0 < accessIntervals.Count; ++index0)
{
object startTime = null, stopTime = null;
accessIntervals.GetInterval(index0, out startTime, out stopTime);
Console.WriteLine("Access Interval #{0} - Start={1} Stop={2}", index0, startTime, stopTime);
IAgDrResult result = dp.ExecElements(startTime, stopTime, 60, ref dataPrvElements);
Array timeValues = result.DataSets[0].GetValues();
Array fromAngularRateValues = result.DataSets[1].GetValues();
Array fromRangeValues = result.DataSets[2].GetValues();
for (int index1 = 0; index1 < timeValues.GetLength(0); ++index1)
{
Console.WriteLine("{0}: FromAngularRate={1} FromRange={2}",
timeValues.GetValue(index1),
fromAngularRateValues.GetValue(index1),
fromRangeValues.GetValue(index1));
}
Console.WriteLine();
}
|
|
Execute a time
dependent data provider and request all elements for the specified
time interval
[C#] |
Copy Code
|
IAgDataPrvTimeVar dpInfo = facility.DataProviders["Lighting AER"] as IAgDataPrvTimeVar;
IAgDrResult resInfo = dpInfo.Exec(
"1 Jan 2012 12:00:00.000",
"1 Jan 2012 12:00:20.000",
60.0);
|
|
Execute a time
dependent data provider and returning all elements for a single
time
[C#] |
Copy Code
|
IAgDataPrvTimeVar dp = satellite.DataProviders["Precision Passes"] as IAgDataPrvTimeVar;
IAgDrResult resInfo = dp.ExecSingle("1 Jan 2012 12:00:00.000");
|
|
Execute a time
dependent data provider and returning the specified elements at the
specified time
[C#] |
Copy Code
|
Array times = new object[]
{
"1 Jan 2012 12:00:00.000", "1 Jan 2012 12:00:20.000",
"1 Jan 2012 12:00:40.000"
};
Array elems = new object[]
{
"Time",
"Precision Pass Number"
};
IAgDataPrvTimeVar dp = satellite.DataProviders["Precision Passes"] as IAgDataPrvTimeVar;
IAgDrTimeArrayElements resInfo = dp.ExecSingleElementsArray(ref times, ref elems);
|
|
Execute a time
dependent data provider and returning the specified elements for a
single time
[C#] |
Copy Code
|
Array elems = new object[]
{
"Time",
"Precision Pass Number"
};
IAgDataPrvTimeVar dp = satellite.DataProviders["Precision Passes"] as IAgDataPrvTimeVar;
IAgDrResult resInfo = dp.ExecSingleElements("1 Jan 2012 12:00:00.000", ref elems);
|
|
Compute an access and
get constraint data from data provider
[Visual Basic .NET] |
Copy Code
|
Dim sat1 As IAgStkObject =
root.GetObjectFromPath("Satellite/Satellite1")
Dim fac1 As IAgStkObject =
root.GetObjectFromPath("Facility/Facility1")
Dim access As IAgStkAccess = sat1.GetAccessToObject(fac1)
access.ComputeAccess()
Dim accessIntervals As IAgIntervalCollection =
access.ComputedAccessIntervalTimes
root.UnitPreferences.SetCurrentUnit("Distance", "km")
root.UnitPreferences.SetCurrentUnit("Angle", "deg")
root.UnitPreferences.SetCurrentUnit("Time", "sec")
root.UnitPreferences.SetCurrentUnit("DateFormat", "UTCG")
#If Not CSToJava Then
#Else
#End If
Dim dataPrvElements As Array =
New Object() {"Time",
"FromAngularRate", "FromRange"}
Dim dp As
IAgDataPrvTimeVar = TryCast(access.DataProviders("Constraint Data"), IAgDataPrvTimeVar)
Dim index0 As Integer = 0
While index0 <>
Dim startTime
As Object
= Nothing, stopTime As Object =
Nothing
#If Not
CSToJava Then
accessIntervals.GetInterval(index0,
startTime, stopTime)
#Else
#End If
Console.WriteLine("Access Interval #{0} - Start={1} Stop={2}",
index0, startTime, stopTime)
#If Not
CSToJava Then
Dim result
As IAgDrResult =
dp.ExecElements(startTime, stopTime, 60, dataPrvElements)
#Else
#End If
Dim timeValues
As Array
= result.DataSets(0).GetValues()
Dim
fromAngularRateValues As Array = result.DataSets(1).GetValues()
Dim
fromRangeValues As Array = result.DataSets(2).GetValues()
Dim index1
As Integer = 0
While index1
<>
Console.WriteLine("{0}:
FromAngularRate={1} FromRange={2}",
timeValues.GetValue(index1),
fromAngularRateValues.GetValue(index1),
fromRangeValues.GetValue(index1))
System.Threading.Interlocked.Increment(index1)
End
While
Console.WriteLine()
System.Threading.Interlocked.Increment(index0)
End While
|
|
Execute a time
dependent data provider and request all elements for the specified
time interval
[Visual Basic .NET] |
Copy Code
|
Dim dpInfo As
IAgDataPrvTimeVar = TryCast(facility.DataProviders("Lighting AER"), IAgDataPrvTimeVar)
Dim resInfo As IAgDrResult = dpInfo.Exec("1 Jan 2012 12:00:00.000", "1
Jan 2012 12:00:20.000", 60)
|
|
Execute a time
dependent data provider and returning all elements for a single
time
[Visual Basic .NET] |
Copy Code
|
Dim dp As
IAgDataPrvTimeVar = TryCast(satellite.DataProviders("Precision Passes"), IAgDataPrvTimeVar)
Dim resInfo As IAgDrResult = dp.ExecSingle("1 Jan 2012 12:00:00.000")
|
|
Execute a time
dependent data provider and returning the specified elements at the
specified time
[Visual Basic .NET] |
Copy Code
|
#If Not CSToJava Then
#Else
#End If
Dim times As Array =
New Object() {"1 Jan 2012
12:00:00.000", "1 Jan 2012
12:00:20.000", "1 Jan 2012
12:00:40.000"}
#If Not CSToJava Then
#Else
#End If
Dim elems As Array =
New Object() {"Time",
"Precision Pass Number"}
Dim dp As
IAgDataPrvTimeVar = TryCast(satellite.DataProviders("Precision Passes"), IAgDataPrvTimeVar)
#If Not CSToJava Then
Dim resInfo As IAgDrTimeArrayElements =
dp.ExecSingleElementsArray(times, elems)
#Else
#End If
|
|
Execute a time
dependent data provider and returning the specified elements for a
single time
[Visual Basic .NET] |
Copy Code
|
#If Not CSToJava Then
#Else
#End If
Dim elems As Array =
New Object() {"Time",
"Precision Pass Number"}
Dim dp As
IAgDataPrvTimeVar = TryCast(satellite.DataProviders("Precision Passes"), IAgDataPrvTimeVar)
#If Not CSToJava Then
Dim resInfo As IAgDrResult =
dp.ExecSingleElements("1 Jan 2012
12:00:00.000", elems)
#Else
#End If
|
|
See Also
CoClasses that Implement
IAgDataPrvTimeVar