Tracking ID Aliases

ODTK has a method to assign aliases for tracking IDs for satellite, facility, GPS satellite and GPS receiver objects.

Within the MeasurementProcessing attributes for each of these objects there is a list of TrackingIDAliases with the following members:

Name Description
AliasMapping A string entered by the user which is an association, or key, used to decode the alias for a given tracking data file. The strings entered here will become the choices for AliasMapping in the scenario's Measurements Files list.
AliasID The ID for this object when using the AliasMapping to resolve the ID. This may be an integer or an alphanumeric string if your data provider is using the TrackingNames interface.
Example 1: Resolving two or more IDs for a single satellite

As an example, let's say we have a ground station in Detroit that generates tracking data files for our satellite using a satellite ID of 9988111, we have another ground station in Guam that tags the same satellite with ID 22310 in its files, and a third station in Banff that tags our satellite using ID 1000445.

We have a few choices for how to process the IDs. One is to set the normal TrackingID to the Detroit value, and enter the Guam and Banff values as aliases:

	TrackingID = 9988111  (The Detroit value)
	
	TrackingIDAliases(0).AliasMapping = ""  (We don't need a mapping strategy for this example)
	TrackingIDAliases(0).AliasID = "22310"  (The Guam value used in the tracking data file)
	
	TrackingIDAliases(1).AliasMapping = ""
	TrackingIDAliases(1).AliasID = "1000445" (The Banff value)
	

Then at the scenario level, we have our three tracking files with the associated AliasMapping:

	Files(0).Filename = "c:\FileFromDetroit.geosc", AliasMapping = "" 
	Files(1).Filename = "c:\FileFromGuam.geosc"   , AliasMapping = ""
	Files(2).Filename = "c:\FileFromBanff.geosc"  , AliasMapping = ""
	

At this point it does not really matter from where the tracking IDs come from; as long as the tracking data files are providing values of 9988111, 22310, or 1000445, they will all be resolved as the same satellite using, in this case, an internal tracking ID of 9988111.

Another method is to assign all the IDs as aliases:

	TrackingID = 1000 (This is the default AGI tracking ID)
	
	TrackingIDAliases(0).AliasMapping = ""
	TrackingIDAliases(0).AliasID = "22310"
	
	TrackingIDAliases(1).AliasMapping = ""
	TrackingIDAliases(1).AliasID = "9988111"
	
	TrackingIDAliases(2).AliasMapping = ""
	TrackingIDAliases(2).AliasID = "1000445"
	

Again, as long as the input files provide one of the above numbers, they will be resolved as this satellite.

Note that you may find it helpful to use the AliasMapping as a notation, as long as it is repeated in the scenario's Files list. For instance, this may be helpful:

	TrackingIDAliases(0).AliasMapping = "GuamID"  (Name we made up to associate the ID with the data file)
	TrackingIDAliases(0).AliasID = "22310"        (This is the value used in the data file)
	
	TrackingIDAliases(1).AliasMapping = "Detroit"
	TrackingIDAliases(1).AliasID = "9988111"
	
	TrackingIDAliases(2).AliasMapping = "Banff_2010"
	TrackingIDAliases(2).AliasID = "1000445"
	

Our scenario tracking file list will now need the AliasMapping assigned:

	Files(0).Filename = "c:\FileFromDetroit.geosc", AliasMapping = "Detroit"
	Files(1).Filename = "c:\FileFromGuam.geosc"   , AliasMapping = "GuamID"
	Files(2).Filename = "c:\FileFromBanff.geosc"  , AliasMapping = "Banff_2010"
	

In the above case, when we read the file named "FileFromDetroit.geosc", it will attempt to resolve any tracking IDs by comparing to any Aliases in the scenario associated with the word "Detroit". However, if you put the wrong AliasMapping, the tracking ID will not be resolved.

Note that more than one object may use an AliasMapping string. In the above example, each facility/GPS Satellite/GPS receiver in our scenario could have a Detroit alias, a GuamID alias, and a Banff_2010 alias.

Example 2: Resolving two or more objects from multiple files which use the same ID

In this example, let's say you have two satellites in your scenario and you are processing two tracking data files, one for each satellite. However the organizations sending the files used the same satellite IDs in each file, so each file contains an ID of 20091111.

In ODTK you can only set one satellite's TrackingID to the actual value used in the file, so for the other satellite we need to use an alias and we must use the alias mapping strategy.

The attribute for Satellite1 would look like this:

	TrackingID = 20091111
	

The attributes for Satellite2 would look like this:

	TrackingID = 1001 (Since it cannot be the actual ID, it doesn't matter what it is)
	
	TrackingIDAliases(0).AliasMapping = "sat2"   (A name to associate the ID with the tracking data file)
	TrackingIDAliases(0).AliasID = "20091111"    (The value used in the tracking data file)
	

Our scenario tracking file list will now need the AliasMapping assigned:

	Files(0).Filename = "c:\DataForSatellite1.geosc" , AliasMapping = ""
	Files(1).Filename = "c:\DataForSatellite2.obs"   , AliasMapping = "sat2"
	

Note regarding alias mapping strings: The AliasMapping must match between the TrackingIDAliases list whether or not it is empty. If the alias mapping associated with a file is empty, only alias IDs with empty alias mapping strategies will be considered. The same applies if the alias mapping is not empty - only those associated alias IDs are considered.

Example 3: Resolving an alphanumeric name from a tracking data provider plugin.

In this example, let's say we have a tracking data file that uses alphanumeric IDs for our ground stations instead of integer IDs. We would write a tracking data provider plugin to read the file and insert the ground station name into the TrackerNames list:

	obs.TrackerNames.insert("PX22-A")	 	(The facility name, which would not normally be hardcoded)
	obs.TrackerNames.InsertInteger(20091111) (A satellite ID; again, not normally hardcoded)
	

For the ODTK facility that corresponds to the ID PX22-A, we have the following attributes:

	TrackingIDAliases(0).AliasMapping = ""
	TrackingIDAliases(0).AliasID = "PX22-A"    (The value used in the tracking data file)
	

When ODTK gets a tracker ID of PX22-A from the tracking data provider, it will look through the aliases for each object to see if it can resolve the string.