Class AntennaKey
- Since:
- 13.0
- Author:
- Luc Maisonobe
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAntennaKey(String name, String radomeCode, String serialNumber) Simple constructor. -
Method Summary
-
Field Details
-
OTHER_RADOME_CODE
Constant matching other radome codes.- See Also:
-
ANY_SERIAL_NUMBER
Constant matching any serial numbers.- See Also:
-
-
Constructor Details
-
AntennaKey
Simple constructor.The Sinex file specification uses a single 20 characters field named "Antenna type" and described as "Antenna name and model" (Antex specification is similar). In practice this field contains a variable length name and the last four characters are a radome code, which may be set to
"NONE"for a catch-all entry. Here, we separate this field into its two components, so we can providefuzzy matchingby tweaking the radome code if needed.- Parameters:
name- antenna nameradomeCode- radome codeserialNumber- serial number
-
-
Method Details
-
matchingCandidates
Get candidates for fuzzy matching of this antenna key.Some Sinex files use specific keys in the SITE/ANTENNA block and catch-all keys in the SITE/GPS_PHASE_CENTER, SITE/GAL_PHASE_CENTER blocks. As an example, file JAX0MGXFIN_20202440000_01D_000_SOL.SNX contains the following entries related to antenna type ASH700936D_M:
SITE/ANTENNA AMU2 A ---- P 00:000:00000 00:000:00000 ASH700936D_M SCIS 13569 ARTU A ---- P 00:000:00000 00:000:00000 ASH700936D_M DOME CR130 DRAG A ---- P 00:000:00000 00:000:00000 ASH700936D_M SNOW CR143 PALM A ---- P 00:000:00000 00:000:00000 ASH700936D_M SCIS CR141 SITE/GPS_PHASE_CENTER ASH700936D_M NONE ----- .0910 .0004 -.0003 .1204 -.0001 -.0001 igs14_%Y%m ASH700936D_M SCIS ----- .0879 .0005 -.0001 .1192 .0001 -.0001 igs14_%Y%m ASH700936D_M SNOW ----- .0909 .0003 -.0002 .1192 .0001 .0001 igs14_%Y%m
Apart from the obvious formatting error of the last field in SITE/GPS_PHASE_CENTER, it appears there are no phase center data for the antenna used at ARTU site, because no radome code match "DOME". We consider here that a "close enough" entry would be to use
"NONE"as the radome code, and"-----"as the serial number.Another example is file ESA0OPSFIN_20241850000_01D_01D_SOL.SNX which contains the following entries related to antenna type ASH701945G_M:
SITE/ANTENNA FAIR A 1 P 24:184:86382 24:185:86382 ASH701945G_M JPLA CR520 0 KOKB A 1 P 24:184:86382 24:185:86382 ASH701945G_M NONE CR620 0 SUTH A 1 P 24:184:86382 24:185:86382 ASH701945G_M NONE CR620 0 SITE/GPS_PHASE_CENTER ASH701945G_M NONE CR520 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 SITE/GAL_PHASE_CENTER ASH701945G_M NONE CR520 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR520 0.1162 -.0007 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR520 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.1162 -.0007 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.0895 0.0001 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.1162 -.0007 -.0001 0.1162 -.0007 -.0001 IGS20_2317 ASH701945G_M NONE CR620 0.1162 -.0007 -.0001 IGS20_2317
Here, the phase centers for serial number CR620 appear twice (fortunately with the same values). There are no phase center data for the antenna used at FAIR site, because no radome code match "JPLA". We consider here that a "close enough" entry would be to use
"NONE", and keep the provided serial number.The logic we adopted is to use the following candidates:
Antenna key matching candidates order name radome code serial number first candidate getName()getRadomeCode()getSerialNumber()second candidate getName()getRadomeCode()"-----"third candidate getName()"NONE"getSerialNumber()fourth candidate getName()"NONE""-----"- Returns:
- candidates for matching instance key, sorted from stricter to looser match
-
getName
Get the antenna name.- Returns:
- antenna name
-
getRadomeCode
Get the radome code.- Returns:
- radome code
-
getSerialNumber
Get the serial number.- Returns:
- serial number
-
equals
-
hashCode
public int hashCode()
-