Description
Represents the Sub Data Provider (i.e. \"Fixed\" in \"Cartesian Position\" group on satellites, or \"Cartesian Position\" on facilities).
Public Methods
Public Properties
AllowUI | When set to true the data provider will display a user interface to select/enter the pre-data required. |
Elements | Returns a collection of elements associated with a DataProvider or a SubDataProvider. |
IsValid | Returns whether the data provider is valid. |
PreData | The string associated with the current PreData parameter. |
PreDataDescription | Returns a description of the required pre data. |
PreDataRequired | Returns whether the data provider requires pre data. |
CoClasses that Implement IAgDataProvider
Example
Execute a time dependent group data provider which uses preData and returning the specified elements
[C#] |
---|
Array elems = new object[]
{ "Time", "x", "y", "z" };
IAgDataProviderGroup dpVectorChoose = satObj.DataProviders["Vector Choose Axes"] as IAgDataProviderGroup;
IAgDataProvider groupPosition = dpVectorChoose.Group["Position"] as IAgDataProvider;
groupPosition.PreData = "Satellite/Sat2 Body";
IAgDataPrvTimeVar timeVarDP = groupPosition as IAgDataPrvTimeVar;
IAgDrResult result = timeVarDP.ExecElements("26 Jan 2015 17:00:00.000", "27 Jan 2015 17:00:00.000", 120, ref elems);
IAgDrDataSetCollection datasets = result.DataSets;
if (result.DataSets.Count > 0)
{
System.Array arrayTime = datasets[0].GetValues();
System.Array arrayX = datasets[1].GetValues();
System.Array arrayY = datasets[2].GetValues();
System.Array arrayZ = datasets[2].GetValues();
}
|
|
Execute a time dependent data provider which uses preData and returning the specified elements
[C#] |
---|
Array elems = new object[]
{ "Range", "Radial Rate" };
IAgDataPrvTimeVar RICdp = satObj.DataProviders["Relative Motion"] as IAgDataPrvTimeVar;
(RICdp as IAgDataProvider).PreData = "Satellite/Satellite123";
IAgDrResult result = RICdp.ExecElements("26 Jan 2015 17:00:00.000", "27 Jan 2015 17:00:00.000", 120, ref elems);
IAgDrDataSetCollection datasets = result.DataSets;
if (result.DataSets.Count > 0)
{
System.Array arrayRange = datasets[0].GetValues();
System.Array arrayRadialRate = datasets[1].GetValues();
}
|
|
Is statistics available for data provider element
[C#] |
---|
IAgDataProvider dataProvider = satellite.DataProviders.GetDataPrvInfoFromPath("LLR State/Fixed") as IAgDataProvider;
if (dataProvider.IsStatisticAvailable(AgEStatistics.eMean, "Lat"))
{
// Calculate statistics from Data Set
}
|
|
Is time varying extremum available for data provider element
[C#] |
---|
IAgDataProvider dataProvider = satellite.DataProviders.GetDataPrvInfoFromPath("LLR State/Fixed") as IAgDataProvider;
if (dataProvider.IsTimeVarExtremumAvailable(AgETimeVarExtremum.eMax, "Lat"))
{
// Calculate statistics from Data Set
}
|
|
Execute a time dependent group data provider which uses preData and returning the specified elements
[Visual Basic .NET] |
---|
Dim elems As Array = New Object() {"Time", "x", "y", "z"}
Dim dpVectorChoose As IAgDataProviderGroup = TryCast(satObj.DataProviders("Vector Choose Axes"), IAgDataProviderGroup)
Dim groupPosition As IAgDataProvider = TryCast(dpVectorChoose.Group("Position"), IAgDataProvider)
groupPosition.PreData = "Satellite/Sat2 Body"
Dim timeVarDP As IAgDataPrvTimeVar = TryCast(groupPosition, IAgDataPrvTimeVar)
Dim result As IAgDrResult = timeVarDP.ExecElements("26 Jan 2015 17:00:00.000", "27 Jan 2015 17:00:00.000", 120, elems)
Dim datasets As IAgDrDataSetCollection = result.DataSets
If result.DataSets.Count > 0 Then
Dim arrayTime As System.Array = datasets(0).GetValues()
Dim arrayX As System.Array = datasets(1).GetValues()
Dim arrayY As System.Array = datasets(2).GetValues()
Dim arrayZ As System.Array = datasets(2).GetValues()
End If
|
|
Execute a time dependent data provider which uses preData and returning the specified elements
[Visual Basic .NET] |
---|
Dim elems As Array = New Object() {"Range", "Radial Rate"}
Dim RICdp As IAgDataPrvTimeVar = TryCast(satObj.DataProviders("Relative Motion"), IAgDataPrvTimeVar)
TryCast(RICdp, IAgDataProvider).PreData = "Satellite/Satellite123"
Dim result As IAgDrResult = RICdp.ExecElements("26 Jan 2015 17:00:00.000", "27 Jan 2015 17:00:00.000", 120, elems)
Dim datasets As IAgDrDataSetCollection = result.DataSets
If result.DataSets.Count > 0 Then
Dim arrayRange As System.Array = datasets(0).GetValues()
Dim arrayRadialRate As System.Array = datasets(1).GetValues()
End If
|
|
Is statistics available for data provider element
[Visual Basic .NET] |
---|
Dim dataProvider As IAgDataProvider = TryCast(satellite.DataProviders.GetDataPrvInfoFromPath("LLR State/Fixed"), IAgDataProvider)
' Calculate statistics from Data Set
If dataProvider.IsStatisticAvailable(AgEStatistics.eMean, "Lat") Then
End If
|
|
Is time varying extremum available for data provider element
[Visual Basic .NET] |
---|
Dim dataProvider As IAgDataProvider = TryCast(satellite.DataProviders.GetDataPrvInfoFromPath("LLR State/Fixed"), IAgDataProvider)
' Calculate statistics from Data Set
If dataProvider.IsTimeVarExtremumAvailable(AgETimeVarExtremum.eMax, "Lat") Then
End If
|
|
See Also