PredefinedObservationType.java

  1. /* Copyright 2002-2025 CS GROUP
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.orekit.gnss;

  18. import java.util.HashMap;
  19. import java.util.Map;

  20. /** Enumerate for all the Observation Types for Rinex 2 and 3.
  21.  * For Rinex 2, there is an two-character enumerate composed of the Observation
  22.  * Code (C,P,L,D,S) and the Frequency code (1,2,5,6,7,8).
  23.  * For Rinex 3 there is a three-character enumerate composed of the Observation
  24.  * Code (C,L,D,S), the frequency code (1,2,5,6,7,8) and a final attribute depending
  25.  * on the tracking mode or channel.
  26.  *
  27.  */
  28. public enum PredefinedObservationType implements ObservationType {

  29.     /** Pseudorange GPS L1 / GLONASS G1 / Galileo E2-L1-E1 / SBAS L1 for Rinex2. */
  30.     C1(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01),

  31.     /** Pseudorange GPS L2 / GLONASS G2 / Beidou B02 for Rinex2. */
  32.     C2(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B02),

  33.     /** Pseudorange GPS L5 / Galileo E5a / SBAS L5 for Rinex2. */
  34.     C5(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05),

  35.     /** Pseudorange Galileo E6 / Beidou B03 for Rinex2. */
  36.     C6(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.E06, PredefinedGnssSignal.B03),

  37.     /** Pseudorange Galileo E5b / Beidou B02 for Rinex2. */
  38.     C7(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  39.     /** Pseudorange Galileo E5a+b for Rinex2. */
  40.     C8(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.E08),

  41.     /** Pseudorange GPS L1 / GLONASS G1 for Rinex2. */
  42.     P1(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01),

  43.     /** Pseudorange GPS L2 / GLONASS G2 for Rinex2. */
  44.     P2(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  45.     /** Carrier-phase GPS L1 / GLONASS G1 / Galileo E2-L1-E1 / SBAS L1 for Rinex2. */
  46.     L1(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01),

  47.     /** Carrier-phase GPS L2 / GLONASS G2 / Beidou B02 for Rinex2. */
  48.     L2(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B02),

  49.     /** Carrier-phase GPS L5 / Galileo E5a / SBAS L5 for Rinex2. */
  50.     L5(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05),

  51.     /** Carrier-phase Galileo E6 / Beidou B03 for Rinex2. */
  52.     L6(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.E06, PredefinedGnssSignal.C07),

  53.     /** Carrier-phase Galileo E5b / Beidou B02 for Rinex2. */
  54.     L7(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  55.     /** Carrier-phase Galileo E5a+b for Rinex2. */
  56.     L8(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.E08),

  57.     /** Carrier-phase GPS L1 C/A / GLONASS G1 C/A for Rinex2. */
  58.     LA(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01),

  59.     /** Carrier-phase GPS L1C for Rinex2. */
  60.     LB(MeasurementType.CARRIER_PHASE, SignalCode.L, PredefinedGnssSignal.G01),

  61.     /** Carrier-phase GPS L2C for Rinex2. */
  62.     LC(MeasurementType.CARRIER_PHASE, SignalCode.L, PredefinedGnssSignal.G02),

  63.     /** Carrier-phase GLONASS G2 for Rinex2. */
  64.     LD(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.R02),

  65.     /** Doppler GPS L1 / GLONASS G1 / Galileo E2-L1-E1 / SBAS L1 for Rinex2. */
  66.     D1(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01),

  67.     /** Doppler GPS L2 / GLONASS G2 / Beidou BO2 for Rinex2. */
  68.     D2(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B02),

  69.     /** Doppler GPS L5 / Galileo E5a / SBAS L5 for Rinex2. */
  70.     D5(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05),

  71.     /** Doppler Galileo E6 / Beidou B03 for Rinex2. */
  72.     D6(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.E06, PredefinedGnssSignal.C07),

  73.     /** Doppler Galileo E5b / Beidou B02 for Rinex2. */
  74.     D7(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  75.     /** Doppler Galileo E5a+b for Rinex2. */
  76.     D8(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.E08),

  77.     /** Doppler GPS L1 / GLONASS G1 / Galileo E2-L1-E1 / SBAS L1 for Rinex2. */
  78.     S1(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01),

  79.     /** Signal Strength GPS L2 / GLONASS G2 / Beidou B02 for Rinex2. */
  80.     S2(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B02),

  81.     /** Signal Strength GPS L5 / Galileo E5a / SBAS L5 for Rinex2. */
  82.     S5(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05),

  83.     /** Signal Strength Galileo E6 / Beidou B03 for Rinex2. */
  84.     S6(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.E06, PredefinedGnssSignal.C07),

  85.     /** Signal Strength Galileo E5b / Beidou B02 for Rinex2. */
  86.     S7(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  87.     /** Signal Strength Galileo E5a+b for Rinex2. */
  88.     S8(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.E08),

  89.     /** Pseudorange Galileo E1 A / Beidou B1A for Rinex3. */
  90.     C1A(MeasurementType.PSEUDO_RANGE, SignalCode.A, PredefinedGnssSignal.E01, PredefinedGnssSignal.B1A),

  91.     /** Pseudorange Galileo E1 I/NAV OS/CS/SoL / QZSS geo signal for Rinex3. */
  92.     C1B(MeasurementType.PSEUDO_RANGE, SignalCode.B, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01),

  93.     /** Pseudorange GPS L1 C/A / GLONASS G1 C/A / Galileo E1 C / SBAS L1 C/A / QZSS L1 C/A for Rinex3. */
  94.     C1C(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01, PredefinedGnssSignal.J01),

  95.     /** Pseudorange Beidou B1 Data / NavIC L1 Data. */
  96.     C1D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  97.     /** Pseudorange QZSS L1 C/B for Rinex4. */
  98.     C1E(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.J01),

  99.     /** Pseudorange Beidou B1 I for Rinex3.02. */
  100.     C1I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.B01),

  101.     /** Pseudorange GPS L1 L1C(P) / QZSS L1 L1C(P) for Rinex3, Beidou B1A for Rinex3.03. */
  102.     C1L(MeasurementType.PSEUDO_RANGE, SignalCode.L, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  103.     /** Pseudorange GPS L1 M for Rinex3. */
  104.     C1M(MeasurementType.PSEUDO_RANGE, SignalCode.M, PredefinedGnssSignal.G01),

  105.     /** Pseudorange GPS L1 P(AS off) / GLONASS G1 P / Beidou C1 Pilot / NavIC L1 Pilot. */
  106.     C1P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  107.     /** Pseudorange Beidou B1 Q for Rinex3.02. */
  108.     C1Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.B01),

  109.     /** Pseudorange GPS L1 M (RMP antenna) for Rinex4.01.
  110.      * @since 13.0
  111.      */
  112.     C1R(MeasurementType.PSEUDO_RANGE, SignalCode.M, PredefinedGnssSignal.G01),

  113.     /** Pseudorange GPS L1 L1C(D) / QZSS L1 L1C(D) for Rinex3, Beidou B1A for Rinex3.03. */
  114.     C1S(MeasurementType.PSEUDO_RANGE, SignalCode.S, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  115.     /** Pseudorange GPS L1 Z-tracking and similar (AS on) for Rinex3. */
  116.     C1W(MeasurementType.PSEUDO_RANGE, SignalCode.W, PredefinedGnssSignal.G01),

  117.     /** Pseudorange GPS L1 L1C (D+P) / Galileo E1 B+C / QZSS L1 L1C(D+P) / Beidou B1 Data+Pilot / NavIC L1 Data+Pilot. */
  118.     C1X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.G01, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  119.     /** Pseudorange GPS L1 Y for Rinex3. */
  120.     C1Y(MeasurementType.PSEUDO_RANGE, SignalCode.Y, PredefinedGnssSignal.G01),

  121.     /** Pseudorange Galileo E1 C1Z A+B+C / QZSS L1 L1-SAIF for Rinex3, Beidou B1A for Rinex3.03. */
  122.     C1Z(MeasurementType.PSEUDO_RANGE, SignalCode.Z, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  123.     /** Pseudorange GPS L2 C/A / GLONASS G2 C/A for Rinex3. */
  124.     C2C(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  125.     /** Pseudorange GPS L1(C/A)+(P2-P1) (semi-codeless) for Rinex3. */
  126.     C2D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.G02),

  127.     /** Pseudorange Beidou B1 I for Rinex3.03. */
  128.     C2I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.B01),

  129.     /** Pseudorange GPS L2 L2C(L) / QZSS L2 L2C(2) for Rinex3. */
  130.     C2L(MeasurementType.PSEUDO_RANGE, SignalCode.L, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  131.     /** Pseudorange GPS L2 M for Rinex3. */
  132.     C2M(MeasurementType.PSEUDO_RANGE, SignalCode.M, PredefinedGnssSignal.G02),

  133.     /** Pseudorange GPS L2 P(AS off) / GLONASS G2 P for Rinex3. */
  134.     C2P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  135.     /** Pseudorange Beidou B1 Q for Rinex3.03. */
  136.     C2Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.B01),

  137.     /** Pseudorange GPS L2 M (RMP antenna) for Rinex4.01.
  138.      * @since 13.0
  139.      */
  140.     C2R(MeasurementType.PSEUDO_RANGE, SignalCode.M, PredefinedGnssSignal.G02),

  141.     /** Pseudorange GPS L2 L2C(M) / QZSS L2 L2C(M) for Rinex3. */
  142.     C2S(MeasurementType.PSEUDO_RANGE, SignalCode.S, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  143.     /** Pseudorange GPS L2 Z-tracking and similar (AS on) for Rinex3. */
  144.     C2W(MeasurementType.PSEUDO_RANGE, SignalCode.W, PredefinedGnssSignal.G02),

  145.     /** Pseudorange GPS L2 L2C (M+L) / QZSS L2 L2C(M+L) for Rinex3, Beidou B1 I+Q for Rinex3.03. */
  146.     C2X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02, PredefinedGnssSignal.B01),

  147.     /** Pseudorange GPS L2 Y for Rinex3. */
  148.     C2Y(MeasurementType.PSEUDO_RANGE, SignalCode.Y, PredefinedGnssSignal.G02),

  149.     /** Pseudorange GLONASS G3 I for Rinex3. */
  150.     C3I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.R03),

  151.     /** Pseudorange GLONASS G3 Q for Rinex3. */
  152.     C3Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.R03),

  153.     /** Pseudorange GLONASS G3 I+Q for Rinex3. */
  154.     C3X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.R03),

  155.     /** Pseudorange GLONASS G1a L1OCd for Rinex3. */
  156.     C4A(MeasurementType.PSEUDO_RANGE, SignalCode.A, PredefinedGnssSignal.R04),

  157.     /** Pseudorange GLONASS G1a L1OCp for Rinex3. */
  158.     C4B(MeasurementType.PSEUDO_RANGE, SignalCode.B, PredefinedGnssSignal.R04),

  159.     /** Pseudorange GLONASS G1a L1OCd+L1OCd for Rinex3. */
  160.     C4X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.R04),

  161.     /** Pseudorange NavIC L5 A for Rinex3. */
  162.     C5A(MeasurementType.PSEUDO_RANGE, SignalCode.A, PredefinedGnssSignal.I05),

  163.     /** Pseudorange NavIC L5 B for Rinex3. */
  164.     C5B(MeasurementType.PSEUDO_RANGE, SignalCode.B, PredefinedGnssSignal.I05),

  165.     /** Pseudorange NavIC L5 C for Rinex3. */
  166.     C5C(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.I05),

  167.     /** Pseudorange QZSS L5 D / Beidou B2a Data for Rinex3. */
  168.     C5D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  169.     /** Pseudorange GPS L5 I/ Galileo E5a F/NAV OS / SBAS L5 I / QZSS L5 I for Rinex3. */
  170.     C5I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  171.     /** Pseudorange QZSS L5 P / Beidou B2a Pilot for Rinex3. */
  172.     C5P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  173.     /** Pseudorange GPS L5 Q/ Galileo E5a Q / SBAS L5 Q / QZSS L5 Q for Rinex3. */
  174.     C5Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  175.     /** Pseudorange GPS L5 I+Q/ Galileo E5a I+Q / SBAS L5 I+Q / QZSS L5 I+Q / NavIC L5 B+C / Beidou B2a Data+Pilot for Rinex3. */
  176.     C5X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05, PredefinedGnssSignal.I05, PredefinedGnssSignal.B2A),

  177.     /** Pseudorange QZSS L5 D+P for Rinex3. */
  178.     C5Z(MeasurementType.PSEUDO_RANGE, SignalCode.Z, PredefinedGnssSignal.J05),

  179.     /** Pseudorange Galileo E6 A PRS / GLONASS G2a L2CSI / Beidou B3A for Rinex3. */
  180.     C6A(MeasurementType.PSEUDO_RANGE, SignalCode.A, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06, PredefinedGnssSignal.B03),

  181.     /** Pseudorange Galileo E6 B C/NAV CS / GLONASS G2a L2OCp for Rinex3. */
  182.     C6B(MeasurementType.PSEUDO_RANGE, SignalCode.B, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06),

  183.     /** Pseudorange Galileo E6 C no data for Rinex3. */
  184.     C6C(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.E06),

  185.     /** Pseudorange Beidou B3A for Rinex3. */
  186.     C6D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.B3A),

  187.     /** Pseudorange QZSS L6E for Rinex3. */
  188.     C6E(MeasurementType.PSEUDO_RANGE, SignalCode.E, PredefinedGnssSignal.J06),

  189.     /** Pseudorange Beidou B3 I for Rinex3. */
  190.     C6I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.B03),

  191.     /** Pseudorange QZSS LEX(6) L for Rinex3. */
  192.     C6L(MeasurementType.PSEUDO_RANGE, SignalCode.L, PredefinedGnssSignal.J06),

  193.     /** Pseudorange Beidou B3A for Rinex3. */
  194.     C6P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.B3A),

  195.     /** Pseudorange Beidou B3 Q for Rinex3. */
  196.     C6Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.B03),

  197.     /** Pseudorange QZSS LEX(6) S for Rinex3. */
  198.     C6S(MeasurementType.PSEUDO_RANGE, SignalCode.S, PredefinedGnssSignal.J06),

  199.     /** Pseudorange Galileo E6 B+C / QZSS LEX(6) S+L / Beidou B3 I+Q / GLONASS G2a L2CSI+L2OCp for Rinex3. */
  200.     C6X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B03, PredefinedGnssSignal.R06),

  201.     /** Pseudorange Galileo E6 A+B+C / QZSS L6(D+E) / Beidou B3A for Rinex3. */
  202.     C6Z(MeasurementType.PSEUDO_RANGE, SignalCode.Z, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B3A),

  203.     /** Pseudorange Beidou B2b Data for Rinex3. */
  204.     C7D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  205.     /** Pseudorange Galileo E5b I I/NAV OS/CS/SoL / Beidou B2 I for Rinex3. */
  206.     C7I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  207.     /** Pseudorange Beidou B2b Pilot for Rinex3. */
  208.     C7P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  209.     /** Pseudorange Galileo Q no data / Beidou B2 Q for Rinex3. */
  210.     C7Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  211.     /** Pseudorange Galileo E5b I+Q / Beidou B2 I+Q for Rinex3. */
  212.     C7X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  213.     /** Pseudorange Beidou B2b Data+Pilot for Rinex3. */
  214.     C7Z(MeasurementType.PSEUDO_RANGE, SignalCode.Z, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  215.     /** Pseudorange Beidou B2(B2a+B2b) Data for Rinex3. */
  216.     C8D(MeasurementType.PSEUDO_RANGE, SignalCode.D, PredefinedGnssSignal.B08),

  217.     /** Pseudorange Galileo E5(E5a+E5b) I for Rinex3. */
  218.     C8I(MeasurementType.PSEUDO_RANGE, SignalCode.I, PredefinedGnssSignal.E08),

  219.     /** Pseudorange Beidou B2(B2a+B2b) Pilot for Rinex3. */
  220.     C8P(MeasurementType.PSEUDO_RANGE, SignalCode.P, PredefinedGnssSignal.B08),

  221.     /** Pseudorange Galileo E5(E5a+E5b) Q for Rinex3. */
  222.     C8Q(MeasurementType.PSEUDO_RANGE, SignalCode.Q, PredefinedGnssSignal.E08),

  223.     /** Pseudorange Galileo E5(E5a+E5b) I+Q / Beidou B2(B2a+B2b) Data+Pilot for Rinex3. */
  224.     C8X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.E08, PredefinedGnssSignal.B08),

  225.     /** Pseudorange NavIC S A for Rinex3. */
  226.     C9A(MeasurementType.PSEUDO_RANGE, SignalCode.A, PredefinedGnssSignal.I09),

  227.     /** Pseudorange NavIC S B for Rinex3. */
  228.     C9B(MeasurementType.PSEUDO_RANGE, SignalCode.B, PredefinedGnssSignal.I09),

  229.     /** Pseudorange NavIC S C for Rinex3. */
  230.     C9C(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.I09),

  231.     /** Pseudorange NavIC S B+C for Rinex3. */
  232.     C9X(MeasurementType.PSEUDO_RANGE, SignalCode.X, PredefinedGnssSignal.I09),

  233.     /** Pseudorange for Rinex3. */
  234.     C0(MeasurementType.PSEUDO_RANGE, SignalCode.CODELESS),

  235.     /** Pseudorange GPS L1 C/A / GLONASS G1 C/A for Rinex2. */
  236.     CA(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01),

  237.     /** Pseudorange GPS L1C for Rinex2. */
  238.     CB(MeasurementType.PSEUDO_RANGE, SignalCode.L, PredefinedGnssSignal.G01),

  239.     /** Pseudorange GPS L2C for Rinex2. */
  240.     CC(MeasurementType.PSEUDO_RANGE, SignalCode.L, PredefinedGnssSignal.G02),

  241.     /** Pseudorange GLONASS G2 for Rinex2. */
  242.     CD(MeasurementType.PSEUDO_RANGE, SignalCode.C, PredefinedGnssSignal.R02),

  243.     /** Doppler Galileo E1 A / Beidou B1 B1A for Rinex3. */
  244.     D1A(MeasurementType.DOPPLER, SignalCode.A, PredefinedGnssSignal.E01, PredefinedGnssSignal.B1A),

  245.     /** Doppler Galileo E1 I/NAV OS/CS/SoL / QZSS geo signal for Rinex3. */
  246.     D1B(MeasurementType.DOPPLER, SignalCode.B, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01),

  247.     /** Doppler GPS L1 C/A / GLONASS G1 C/A / Galileo E1 C / SBAS L1 C/A / QZSS L1 C/A for Rinex3. */
  248.     D1C(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01, PredefinedGnssSignal.J01),

  249.     /** Doppler Beidou B1 Data / NavIC L1 Data. */
  250.     D1D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  251.     /** Doppler QZSS L1 C/B for Rinex4. */
  252.     D1E(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.J01),

  253.     /** Doppler Beidou B1 I for Rinex3. */
  254.     D1I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.B01),

  255.     /** Doppler GPS L1 L1C(P) / QZSS L1 L1C(P) for Rinex3, Beidou B1A for Rinex3.03. */
  256.     D1L(MeasurementType.DOPPLER, SignalCode.L, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  257.     /** Doppler GPS L2 M for Rinex3. */
  258.     D1M(MeasurementType.DOPPLER, SignalCode.M, PredefinedGnssSignal.G02),

  259.     /** Doppler GPS L1 codeless / Beidou B1 codeless for Rinex3. */
  260.     D1N(MeasurementType.DOPPLER, SignalCode.CODELESS, PredefinedGnssSignal.G01, PredefinedGnssSignal.B1A),

  261.     /** Doppler GPS L2 P(AS off) / GLONASS G2 P / Beidou B1 Pilot / NavIC L1 Pilot. */
  262.     D1P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  263.     /** Doppler GPS L2 M (RMP antenna) for Rinex4.01.
  264.      * @since 13.0
  265.      */
  266.     D1R(MeasurementType.DOPPLER, SignalCode.M, PredefinedGnssSignal.G02),

  267.     /** Doppler GPS L1 L1C(D) / QZSS L1 L1C(D) for Rinex3, Beidou B1A for Rinex3.03. */
  268.     D1S(MeasurementType.DOPPLER, SignalCode.S, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  269.     /** Doppler GPS L1 Z-tracking and similar (AS on) for Rinex3. */
  270.     D1W(MeasurementType.DOPPLER, SignalCode.W, PredefinedGnssSignal.G01),

  271.     /** Doppler GPS L1 L1C (D+P) / Galileo E1 B+C / QZSS L1 L1C(D+P) / Beidou B1 Data+Pilot / NavIC L1 Data+Pilot. */
  272.     D1X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.G01, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  273.     /** Doppler GPS L1 Y for Rinex3. */
  274.     D1Y(MeasurementType.DOPPLER, SignalCode.Y, PredefinedGnssSignal.G01),

  275.     /** Doppler Galileo E1 C1Z A+B+C / QZSS L1 L1-SAIF for Rinex3, Beidou B1A for Rinex3.03. */
  276.     D1Z(MeasurementType.DOPPLER, SignalCode.Z, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  277.     /** Doppler GPS L2 C/A / GLONASS G2 C/A for Rinex3. */
  278.     D2C(MeasurementType.DOPPLER, SignalCode.C,  PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  279.     /** Doppler GPS L1(C/A)+(P2-P1) (semi-codeless) for Rinex3. */
  280.     D2D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.G02),

  281.     /** Doppler Beidou B1 I for Rinex3.03. */
  282.     D2I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.B01),

  283.     /** Doppler GPS L2 L2C(L) / QZSS L2 L2C(2) for Rinex3. */
  284.     D2L(MeasurementType.DOPPLER, SignalCode.L, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  285.     /** Doppler GPS L2 M for Rinex3. */
  286.     D2M(MeasurementType.DOPPLER, SignalCode.M, PredefinedGnssSignal.G02),

  287.     /** Doppler GPS L2 codeless for Rinex3. */
  288.     D2N(MeasurementType.DOPPLER, SignalCode.CODELESS, PredefinedGnssSignal.G02),

  289.     /** Doppler GPS L2 P(AS off) / GLONASS G2 P for Rinex3. */
  290.     D2P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  291.     /** Doppler Beidou B1 Q for Rinex3.03. */
  292.     D2Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.B01),

  293.     /** Doppler GPS L2 M (RMP antenna) for Rinex4.01.
  294.      * @since 13.0
  295.      */
  296.     D2R(MeasurementType.DOPPLER, SignalCode.M, PredefinedGnssSignal.G02),

  297.     /** Doppler GPS L2 L2C(M) / QZSS L2 L2C(M) for Rinex3. */
  298.     D2S(MeasurementType.DOPPLER, SignalCode.S, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  299.     /** Doppler GPS L2 Z-tracking and similar (AS on) for Rinex3. */
  300.     D2W(MeasurementType.DOPPLER, SignalCode.W, PredefinedGnssSignal.G02),

  301.     /** Doppler GPS L2 L2C (M+L) / QZSS L2 L2C(M+L) for Rinex3, Beidou B1 I+Q for Rinex3.03. */
  302.     D2X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02, PredefinedGnssSignal.B01),

  303.     /** Doppler GPS L2 Y for Rinex3. */
  304.     D2Y(MeasurementType.DOPPLER, SignalCode.Y, PredefinedGnssSignal.G02),

  305.     /** Doppler GLONASS G3 I for Rinex3. */
  306.     D3I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.R03),

  307.     /** Doppler GLONASS G3 Q for Rinex3. */
  308.     D3Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.R03),

  309.     /** Doppler GLONASS G3 I+Q for Rinex3. */
  310.     D3X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.R03),

  311.     /** Doppler GLONASS G1a L1OCd for Rinex3. */
  312.     D4A(MeasurementType.DOPPLER, SignalCode.A, PredefinedGnssSignal.R04),

  313.     /** Doppler GLONASS G1a L1OCp for Rinex3. */
  314.     D4B(MeasurementType.DOPPLER, SignalCode.B, PredefinedGnssSignal.R04),

  315.     /** Doppler GLONASS G1a L1OCd+L1OCd for Rinex3. */
  316.     D4X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.R04),

  317.     /** Doppler NavIC L5 A for Rinex3. */
  318.     D5A(MeasurementType.DOPPLER, SignalCode.A, PredefinedGnssSignal.I05),

  319.     /** Doppler NavIC L5 B for Rinex3. */
  320.     D5B(MeasurementType.DOPPLER, SignalCode.B, PredefinedGnssSignal.I05),

  321.     /** Doppler NavIC L5 C for Rinex3. */
  322.     D5C(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.I05),

  323.     /** Doppler QZSS L5 D / Beidou B2a Data for Rinex3. */
  324.     D5D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  325.     /** Doppler GPS L5 I/ Galileo E5a F/NAV OS / SBAS L5 I / QZSS L5 I for Rinex3. */
  326.     D5I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  327.     /** Doppler QZSS L5 P / Beidou B2a Pilot for Rinex3. */
  328.     D5P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  329.     /** Doppler GPS L5 Q/ Galileo E5a Q / SBAS L5 Q / QZSS L5 Q for Rinex3. */
  330.     D5Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  331.     /** Doppler GPS L5 I+Q/ Galileo E5a I+Q / SBAS L5 I+Q / QZSS L5 I+Q / NavIC L5 B+C / Beidou B2a Data+Pilot for Rinex3. */
  332.     D5X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05, PredefinedGnssSignal.I05, PredefinedGnssSignal.B2A),

  333.     /** Doppler QZSS L5 D+P for Rinex3. */
  334.     D5Z(MeasurementType.DOPPLER, SignalCode.Z, PredefinedGnssSignal.J05),

  335.     /** Doppler Galileo E6 A PRS / GLONASS L2CSI / Beidou B3A for Rinex3. */
  336.     D6A(MeasurementType.DOPPLER, SignalCode.A, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06, PredefinedGnssSignal.B03),

  337.     /** Doppler Galileo E6 B C/NAV CS / GLONASS L2OCp for Rinex3. */
  338.     D6B(MeasurementType.DOPPLER, SignalCode.B, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06),

  339.     /** Doppler Galileo E6 C no data for Rinex3. */
  340.     D6C(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.E06),

  341.     /** Doppler Beidou B3A for Rinex3. */
  342.     D6D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.B3A),

  343.     /** Doppler QZSS L6E for Rinex3. */
  344.     D6E(MeasurementType.DOPPLER, SignalCode.E, PredefinedGnssSignal.J06),

  345.     /** Doppler Beidou B3 I for Rinex3. */
  346.     D6I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.B03),

  347.     /** Doppler QZSS LEX(6) L for Rinex3. */
  348.     D6L(MeasurementType.DOPPLER, SignalCode.L, PredefinedGnssSignal.J06),

  349.     /** Doppler Beidou B3A for Rinex3. */
  350.     D6P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.B3A),

  351.     /** Doppler Beidou B3 Q for Rinex3. */
  352.     D6Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.B03),

  353.     /** Doppler QZSS LEX(6) S for Rinex3. */
  354.     D6S(MeasurementType.DOPPLER, SignalCode.S, PredefinedGnssSignal.J06),

  355.     /** Doppler Galileo E6 B+C / QZSS LEX(6) S+L / Beidou B3 I+Q / GLONASS G2a L2CSI+L2OCp for Rinex3. */
  356.     D6X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B03, PredefinedGnssSignal.R06),

  357.     /** Doppler Galileo E6 A+B+C / QZSS L6(D+E) / Beidou B3A for Rinex3. */
  358.     D6Z(MeasurementType.DOPPLER, SignalCode.Z, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B3A),

  359.     /** Doppler Beidou B2b Data for Rinex3. */
  360.     D7D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  361.     /** Doppler Galileo E5b I I/NAV OS/CS/SoL / Beidou B2 I for Rinex3. */
  362.     D7I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  363.     /** Doppler Beidou B2b Pilot for Rinex3. */
  364.     D7P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  365.     /** Doppler Galileo Q no data / Beidou B2 Q for Rinex3. */
  366.     D7Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  367.     /** Doppler Galileo E5b I+Q / Beidou B2 I+Q for Rinex3. */
  368.     D7X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  369.     /** Doppler Beidou B2b Data+Pilot for Rinex3. */
  370.     D7Z(MeasurementType.DOPPLER, SignalCode.Z, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  371.     /** Doppler Beidou B2(B2a+B2b) Data for Rinex3. */
  372.     D8D(MeasurementType.DOPPLER, SignalCode.D, PredefinedGnssSignal.B08),

  373.     /** Doppler Galileo E5(E5a+E5b) I for Rinex3. */
  374.     D8I(MeasurementType.DOPPLER, SignalCode.I, PredefinedGnssSignal.E08),

  375.     /** Doppler Beidou B2(B2a+B2b) Pilot for Rinex3. */
  376.     D8P(MeasurementType.DOPPLER, SignalCode.P, PredefinedGnssSignal.B08),

  377.     /** Doppler Galileo E5(E5a+E5b) Q for Rinex3. */
  378.     D8Q(MeasurementType.DOPPLER, SignalCode.Q, PredefinedGnssSignal.E08),

  379.     /** Doppler Galileo E5(E5a+E5b) I+Q / B2(B2a+B2b) Data+Pilot for Rinex3. */
  380.     D8X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.E08, PredefinedGnssSignal.B08),

  381.     /** Doppler NavIC S A for Rinex3. */
  382.     D9A(MeasurementType.DOPPLER, SignalCode.A, PredefinedGnssSignal.I09),

  383.     /** Doppler NavIC S B for Rinex3. */
  384.     D9B(MeasurementType.DOPPLER, SignalCode.B, PredefinedGnssSignal.I09),

  385.     /** Doppler NavIC S C for Rinex3. */
  386.     D9C(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.I09),

  387.     /** Doppler NavIC S B+C for Rinex3. */
  388.     D9X(MeasurementType.DOPPLER, SignalCode.X, PredefinedGnssSignal.I09),

  389.     /** Doppler for Rinex3. */
  390.     D0(MeasurementType.DOPPLER, SignalCode.CODELESS),

  391.     /** Doppler GPS L1 C/A / GLONASS G1 C/A for Rinex2. */
  392.     DA(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01),

  393.     /** Doppler GPS L1C for Rinex2. */
  394.     DB(MeasurementType.DOPPLER, SignalCode.L, PredefinedGnssSignal.G01),

  395.     /** Doppler GPS L2C for Rinex2. */
  396.     DC(MeasurementType.DOPPLER, SignalCode.L, PredefinedGnssSignal.G02),

  397.     /** Doppler GLONASS G2 for Rinex2. */
  398.     DD(MeasurementType.DOPPLER, SignalCode.C, PredefinedGnssSignal.R02),

  399.     /** Carrier-phase Galileo E1 A / Beidou B1 B1A for Rinex3. */
  400.     L1A(MeasurementType.CARRIER_PHASE, SignalCode.A, PredefinedGnssSignal.E01, PredefinedGnssSignal.B1A),

  401.     /** Carrier-phase Galileo E1 I/NAV OS/CS/SoL / QZSS geo signal for Rinex3. */
  402.     L1B(MeasurementType.CARRIER_PHASE, SignalCode.B, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01),

  403.     /** Carrier-phase GPS L1 C/A / GLONASS G1 C/A / Galileo E1 C / SBAS L1 C/A / QZSS L1 C/A for Rinex3. */
  404.     L1C(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01, PredefinedGnssSignal.J01),

  405.     /** Carrier-phase Beidou B1 Data / NavIC L1 Data. */
  406.     L1D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  407.     /** Carrier-phase QZSS L1 C/B for Rinex4. */
  408.     L1E(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.J01),

  409.     /** Carrier-phase Beidou B1 I for Rinex3. */
  410.     L1I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.B01),

  411.     /** Carrier-phase GPS L1 L1C(P) / QZSS L1 L1C(P) for Rinex3, Beidou B1A for Rinex3.03. */
  412.     L1L(MeasurementType.CARRIER_PHASE, SignalCode.L, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  413.     /** Carrier-phase GPS L2 M for Rinex3. */
  414.     L1M(MeasurementType.CARRIER_PHASE, SignalCode.M, PredefinedGnssSignal.G02),

  415.     /** Carrier-phase GPS L1 codeless for Rinex3. */
  416.     L1N(MeasurementType.CARRIER_PHASE, SignalCode.CODELESS, PredefinedGnssSignal.G01),

  417.     /** Carrier-phase GPS L2 P(AS off) / GLONASS G2 P / Beidou B1 Pilot / NavIC L1 Pilot. */
  418.     L1P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  419.     /** Carrier-phase GPS L2 M (RMP antenna) for Rinex4.01.
  420.      * @since 13.0
  421.      */
  422.     L1R(MeasurementType.CARRIER_PHASE, SignalCode.M, PredefinedGnssSignal.G02),

  423.     /** Carrier-phase GPS L1 L1C(D) / QZSS L1 L1C(D) for Rinex3, Beidou B1A for Rinex3.03. */
  424.     L1S(MeasurementType.CARRIER_PHASE, SignalCode.S, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  425.     /** Carrier-phase GPS L1 Z-tracking and similar (AS on) for Rinex3. */
  426.     L1W(MeasurementType.CARRIER_PHASE, SignalCode.W, PredefinedGnssSignal.G01),

  427.     /** Carrier-phase GPS L1 L1C (D+P) / Galileo E1 B+C / QZSS L1 L1C(D+P) / Beidou B1 Data+Pilot / NavIC L1 Data+Pilot. */
  428.     L1X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.G01, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  429.     /** Carrier-phase GPS L1 Y for Rinex3. */
  430.     L1Y(MeasurementType.CARRIER_PHASE, SignalCode.Y, PredefinedGnssSignal.G01),

  431.     /** Carrier-phase Galileo E1 C1Z A+B+C / QZSS L1 L1-SAIF for Rinex3, Beidou B1A for Rinex3.03. */
  432.     L1Z(MeasurementType.CARRIER_PHASE, SignalCode.Z, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  433.     /** Carrier-phase GPS L2 C/A / GLONASS G2 C/A for Rinex3. */
  434.     L2C(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  435.     /** Carrier-phase GPS L1(C/A)+(P2-P1) (semi-codeless) for Rinex3. */
  436.     L2D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.G02),

  437.     /** Carrier-phase Beidou B1 I for Rinex3.03. */
  438.     L2I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.B01),

  439.     /** Carrier-phase GPS L2 L2C(L) / QZSS L2 L2C(2) for Rinex3. */
  440.     L2L(MeasurementType.CARRIER_PHASE, SignalCode.L, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  441.     /** Carrier-phase GPS L2 M for Rinex3. */
  442.     L2M(MeasurementType.CARRIER_PHASE, SignalCode.M, PredefinedGnssSignal.G02),

  443.     /** Carrier-phase GPS L2 codeless. */
  444.     L2N(MeasurementType.CARRIER_PHASE, SignalCode.CODELESS, PredefinedGnssSignal.G02),

  445.     /** Carrier-phase GPS L2 P(AS off) / GLONASS G2 P for Rinex3. */
  446.     L2P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  447.     /** Carrier-phase Beidou B1 Q for Rinex3.03. */
  448.     L2Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.B01),

  449.     /** Carrier-phase GPS L2 M (RMP antenna) for Rinex4.01.
  450.      * @since 13.0
  451.      */
  452.     L2R(MeasurementType.CARRIER_PHASE, SignalCode.M, PredefinedGnssSignal.G02),

  453.     /** Carrier-phase GPS L2 L2C(M) / QZSS L2 L2C(M) for Rinex3. */
  454.     L2S(MeasurementType.CARRIER_PHASE, SignalCode.S, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  455.     /** Carrier-phase GPS L2 Z-tracking and similar (AS on) for Rinex3. */
  456.     L2W(MeasurementType.CARRIER_PHASE, SignalCode.W, PredefinedGnssSignal.G02),

  457.     /** Carrier-phase GPS L2 L2C (M+L) / QZSS L2 L2C(M+L) for Rinex3, Beidou B1 I+Q for Rinex3.03. */
  458.     L2X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02, PredefinedGnssSignal.B01),

  459.     /** Carrier-phase GPS L2 Y for Rinex3. */
  460.     L2Y(MeasurementType.CARRIER_PHASE, SignalCode.Y, PredefinedGnssSignal.G02),

  461.     /** Carrier-phase GLONASS G3 I for Rinex3. */
  462.     L3I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.R03),

  463.     /** Carrier-phase GLONASS G3 Q for Rinex3. */
  464.     L3Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.R03),

  465.     /** Carrier-phase GLONASS G3 I+Q for Rinex3. */
  466.     L3X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.R03),

  467.     /** Carrier-phase GLONASS G1a L1OCd for Rinex3. */
  468.     L4A(MeasurementType.CARRIER_PHASE, SignalCode.A, PredefinedGnssSignal.R04),

  469.     /** Carrier-phase GLONASS G1a L1OCp for Rinex3. */
  470.     L4B(MeasurementType.CARRIER_PHASE, SignalCode.B, PredefinedGnssSignal.R04),

  471.     /** Carrier-phase GLONASS G1a L1OCd+L1OCd for Rinex3. */
  472.     L4X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.R04),

  473.     /** Carrier-phase NavIC L5 A for Rinex3. */
  474.     L5A(MeasurementType.CARRIER_PHASE, SignalCode.A, PredefinedGnssSignal.I05),

  475.     /** Carrier-phase NavIC L5 B for Rinex3. */
  476.     L5B(MeasurementType.CARRIER_PHASE, SignalCode.B, PredefinedGnssSignal.I05),

  477.     /** Carrier-phase NavIC L5 C for Rinex3. */
  478.     L5C(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.I05),

  479.     /** Carrier-phase QZSS L5 / Beidou B2a Data D for Rinex3. */
  480.     L5D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  481.     /** Carrier-phase GPS L5 I/ Galileo E5a F/NAV OS / SBAS L5 I / QZSS L5 I for Rinex3. */
  482.     L5I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  483.     /** Carrier-phase QZSS L5 P / Beidou B2a Pilot for Rinex3. */
  484.     L5P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  485.     /** Carrier-phase GPS L5 Q/ Galileo E5a Q / SBAS L5 Q / QZSS L5 Q for Rinex3. */
  486.     L5Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  487.     /** Carrier-phase GPS L5 I+Q/ Galileo E5a I+Q / SBAS L5 I+Q / QZSS L5 I+Q / NavIC L5 B+C / Beidou B2a Data+Pilot for Rinex3. */
  488.     L5X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05, PredefinedGnssSignal.I05, PredefinedGnssSignal.B2A),

  489.     /** Carrier-phase QZSS L5 D+P for Rinex3. */
  490.     L5Z(MeasurementType.CARRIER_PHASE, SignalCode.Z, PredefinedGnssSignal.J05),

  491.     /** Carrier-phase Galileo E6 A PRS / GLONASS G2a L2CSI / Beidou B3A for Rinex3. */
  492.     L6A(MeasurementType.CARRIER_PHASE, SignalCode.A, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06, PredefinedGnssSignal.B03),

  493.     /** Carrier-phase Galileo E6 B C/NAV CS / GLONASS G2a L2OCp for Rinex3. */
  494.     L6B(MeasurementType.CARRIER_PHASE, SignalCode.B, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06),

  495.     /** Carrier-phase Galileo E6 C no data for Rinex3. */
  496.     L6C(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.E06),

  497.     /** Carrier-phase Beidou B3A for Rinex3. */
  498.     L6D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.B3A),

  499.     /** Carrier-phase QZSS L6E for Rinex3. */
  500.     L6E(MeasurementType.CARRIER_PHASE, SignalCode.E, PredefinedGnssSignal.J06),

  501.     /** Carrier-phase Beidou B3 I for Rinex3. */
  502.     L6I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.B03),

  503.     /** Carrier-phase QZSS LEX(6) L for Rinex3. */
  504.     L6L(MeasurementType.CARRIER_PHASE, SignalCode.L, PredefinedGnssSignal.J06),

  505.     /** Carrier-phase Beidou B3A for Rinex3. */
  506.     L6P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.B3A),

  507.     /** Carrier-phase Beidou B3 Q for Rinex3. */
  508.     L6Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.B03),

  509.     /** Carrier-phase QZSS LEX(6) S for Rinex3. */
  510.     L6S(MeasurementType.CARRIER_PHASE, SignalCode.S, PredefinedGnssSignal.J06),

  511.     /** Carrier-phase Galileo E6 B+C / QZSS LEX(6) S+L / Beidou B3 I+Q / GLONASS G2a L2CSI+L2OCp for Rinex3. */
  512.     L6X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B03, PredefinedGnssSignal.R06),

  513.     /** Carrier-phase Galileo E6 A+B+C / QZSS L6(D+E) / Beidou B3A for Rinex3. */
  514.     L6Z(MeasurementType.CARRIER_PHASE, SignalCode.Z, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B3A),

  515.     /** Carrier-phase Beidou B2b Data for Rinex3. */
  516.     L7D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  517.     /** Carrier-phase Galileo E5b I I/NAV OS/CS/SoL / Beidou B2 I for Rinex3. */
  518.     L7I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  519.     /** Carrier-phase Beidou B2b Pilot for Rinex3. */
  520.     L7P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  521.     /** Carrier-phase Galileo Q no data / Beidou B2 Q for Rinex3. */
  522.     L7Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  523.     /** Carrier-phase Galileo E5b I+Q / Beidou B2 I+Q for Rinex3. */
  524.     L7X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  525.     /** Carrier-phase Beidou B2b Data+Pilot for Rinex3. */
  526.     L7Z(MeasurementType.CARRIER_PHASE, SignalCode.Z, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  527.     /** Carrier-phase Beidou B2(B2a+B2b) Data for Rinex3. */
  528.     L8D(MeasurementType.CARRIER_PHASE, SignalCode.D, PredefinedGnssSignal.B08),

  529.     /** Carrier-phase Galileo E5(E5a+E5b) I for Rinex3. */
  530.     L8I(MeasurementType.CARRIER_PHASE, SignalCode.I, PredefinedGnssSignal.E08),

  531.     /** Carrier-phase Beidou B2(B2a+B2b) Pilot for Rinex3. */
  532.     L8P(MeasurementType.CARRIER_PHASE, SignalCode.P, PredefinedGnssSignal.B08),

  533.     /** Carrier-phase Galileo E5(E5a+E5b) Q for Rinex3. */
  534.     L8Q(MeasurementType.CARRIER_PHASE, SignalCode.Q, PredefinedGnssSignal.E08),

  535.     /** Carrier-phase Galileo E5(E5a+E5b) I+Q / Beidou B2(B2a+B2b) Data+Pilot for Rinex3. */
  536.     L8X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.E08, PredefinedGnssSignal.B08),

  537.     /** Carrier-phase NavIC S A for Rinex3. */
  538.     L9A(MeasurementType.CARRIER_PHASE, SignalCode.A, PredefinedGnssSignal.I09),

  539.     /** Carrier-phase NavIC S B for Rinex3. */
  540.     L9B(MeasurementType.CARRIER_PHASE, SignalCode.B, PredefinedGnssSignal.I09),

  541.     /** Carrier-phase NavIC S C for Rinex3. */
  542.     L9C(MeasurementType.CARRIER_PHASE, SignalCode.C, PredefinedGnssSignal.I09),

  543.     /** Carrier-phase NavIC S B+C for Rinex3. */
  544.     L9X(MeasurementType.CARRIER_PHASE, SignalCode.X, PredefinedGnssSignal.I09),

  545.     /** Carrier-phase for Rinex3. */
  546.     L0(MeasurementType.CARRIER_PHASE, SignalCode.CODELESS),

  547.     /** Signal-strength Galileo E1 A / Beidou B1 B1A for Rinex3. */
  548.     S1A(MeasurementType.SIGNAL_STRENGTH, SignalCode.A, PredefinedGnssSignal.E01, PredefinedGnssSignal.B1A),

  549.     /** Signal-strength Galileo E1 I/NAV OS/CS/SoL / QZSS geo signal for Rinex3. */
  550.     S1B(MeasurementType.SIGNAL_STRENGTH, SignalCode.B, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01),

  551.     /** Signal-strength GPS L1 C/A / GLONASS G1 C/A / Galileo E1 C / SBAS L1 C/A / QZSS L1 C/A for Rinex3. */
  552.     S1C(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01, PredefinedGnssSignal.E01, PredefinedGnssSignal.S01, PredefinedGnssSignal.J01),

  553.     /** Signal-strength Beidou B1 Data / NavIC L1 Data. */
  554.     S1D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  555.     /** Signal-strength QZSS L1 C/B for Rinex3. */
  556.     S1E(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.J01),

  557.     /** Signal-strength Beidou B1 I for Rinex3. */
  558.     S1I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.B01),

  559.     /** Signal-strength GPS L1 L1C(P) / QZSS L1 L1C(P) for Rinex3, Beidou B1A for Rinex3.03. */
  560.     S1L(MeasurementType.SIGNAL_STRENGTH, SignalCode.L, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  561.     /** Signal-strength GPS L2 M for Rinex3. */
  562.     S1M(MeasurementType.SIGNAL_STRENGTH, SignalCode.M, PredefinedGnssSignal.G02),

  563.     /** Signal-strength GPS L1 codeless / Beidou B1 codeless for Rinex3. */
  564.     S1N(MeasurementType.SIGNAL_STRENGTH, SignalCode.CODELESS, PredefinedGnssSignal.G01, PredefinedGnssSignal.B1A),

  565.     /** Signal-strength GPS L2 P(AS off) / GLONASS G2 P / Beidou B1 Pilot / NavIC L1 Pilot. */
  566.     S1P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  567.     /** Signal-strength GPS L2 M (RMP antenna) for Rinex4.01.
  568.      * @since 13.0
  569.      */
  570.     S1R(MeasurementType.SIGNAL_STRENGTH, SignalCode.M, PredefinedGnssSignal.G02),

  571.     /** Signal-strength GPS L1 L1C(D) / QZSS L1 L1C(D) for Rinex3, Beidou B1A for Rinex3.03. */
  572.     S1S(MeasurementType.SIGNAL_STRENGTH, SignalCode.S, PredefinedGnssSignal.G01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  573.     /** Signal-strength GPS L1 Z-tracking and similar (AS on) for Rinex3. */
  574.     S1W(MeasurementType.SIGNAL_STRENGTH, SignalCode.W, PredefinedGnssSignal.G01),

  575.     /** Signal-strength GPS L1 L1C (D+P) / Galileo E1 B+C / QZSS L1 L1C(D+P) / Beidou B1 Data+Pilot / NavIC L1 Data+Pilot. */
  576.     S1X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.G01, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A, PredefinedGnssSignal.I01),

  577.     /** Signal-strength GPS L1 Y for Rinex3. */
  578.     S1Y(MeasurementType.SIGNAL_STRENGTH, SignalCode.Y, PredefinedGnssSignal.G01),

  579.     /** Signal-strength Galileo E1 C1Z A+B+C / QZSS L1 L1-SAIF for Rinex3, Beidou B1A for Rinex3.03. */
  580.     S1Z(MeasurementType.SIGNAL_STRENGTH, SignalCode.Z, PredefinedGnssSignal.E01, PredefinedGnssSignal.J01, PredefinedGnssSignal.B1A),

  581.     /** Signal-strength GPS L2 C/A / GLONASS G2 C/A for Rinex3. */
  582.     S2C(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  583.     /** Signal-strength GPS L1(C/A)+(P2-P1) (semi-codeless) for Rinex3. */
  584.     S2D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.G02),

  585.     /** Signal-strength Beidou B1 I for Rinex3.03. */
  586.     S2I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I,  PredefinedGnssSignal.B01),

  587.     /** Signal-strength GPS L2 L2C(L) / QZSS L2 L2C(2) for Rinex3. */
  588.     S2L(MeasurementType.SIGNAL_STRENGTH, SignalCode.L, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  589.     /** Signal-strength GPS L2 M for Rinex3. */
  590.     S2M(MeasurementType.SIGNAL_STRENGTH, SignalCode.M, PredefinedGnssSignal.G02),

  591.     /** Signal-strength GPS L2 codeless for Rinex3. */
  592.     S2N(MeasurementType.SIGNAL_STRENGTH, SignalCode.CODELESS, PredefinedGnssSignal.G02),

  593.     /** Signal-strength GPS L2 P(AS off) / GLONASS G2 P for Rinex3. */
  594.     S2P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.G02, PredefinedGnssSignal.R02),

  595.     /** Signal-strength Beidou B1 Q for Rinex3.03. */
  596.     S2Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.B01),

  597.     /** Signal-strength GPS L2 M (RMP antenna) for Rinex4.01.
  598.      * @since 13.0
  599.      */
  600.     S2R(MeasurementType.SIGNAL_STRENGTH, SignalCode.M, PredefinedGnssSignal.G02),

  601.     /** Signal-strength GPS L2 L2C(M) / QZSS L2 L2C(M) for Rinex3. */
  602.     S2S(MeasurementType.SIGNAL_STRENGTH, SignalCode.S, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02),

  603.     /** Signal-strength GPS L2 Z-tracking and similar (AS on) for Rinex3. */
  604.     S2W(MeasurementType.SIGNAL_STRENGTH, SignalCode.W, PredefinedGnssSignal.G02),

  605.     /** Signal-strength GPS L2 L2C (M+L) / QZSS L2 L2C(M+L) for Rinex3, Beidou B1 I+Q for Rinex3.03. */
  606.     S2X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.G02, PredefinedGnssSignal.J02, PredefinedGnssSignal.B01),

  607.     /** Signal-strength GPS L2 Y for Rinex3. */
  608.     S2Y(MeasurementType.SIGNAL_STRENGTH, SignalCode.Y, PredefinedGnssSignal.G02),

  609.     /** Signal-strength GLONASS G3 I for Rinex3. */
  610.     S3I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.R03),

  611.     /** Signal-strength GLONASS G3 Q for Rinex3. */
  612.     S3Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.R03),

  613.     /** Signal-strength GLONASS G3 I+Q for Rinex3. */
  614.     S3X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.R03),

  615.     /** Signal-strength GLONASS G1a L1OCd for Rinex3. */
  616.     S4A(MeasurementType.SIGNAL_STRENGTH, SignalCode.A, PredefinedGnssSignal.R04),

  617.     /** Signal-strength GLONASS G1a L1OCp for Rinex3. */
  618.     S4B(MeasurementType.SIGNAL_STRENGTH, SignalCode.B, PredefinedGnssSignal.R04),

  619.     /** Signal-strength GLONASS G1a L1OCd+L1OCd for Rinex3. */
  620.     S4X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.R04),

  621.     /** Signal-strength NavIC L5 A for Rinex3. */
  622.     S5A(MeasurementType.SIGNAL_STRENGTH, SignalCode.A, PredefinedGnssSignal.I05),

  623.     /** Signal-strength NavIC L5 B for Rinex3. */
  624.     S5B(MeasurementType.SIGNAL_STRENGTH, SignalCode.B, PredefinedGnssSignal.I05),

  625.     /** Signal-strength NavIC L5 C for Rinex3. */
  626.     S5C(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.I05),

  627.     /** Signal-strength QZSS L5 D / Beidou B2a Data for Rinex3. */
  628.     S5D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  629.     /** Signal-strength GPS L5 I/ Galileo E5a F/NAV OS / SBAS L5 I / QZSS L5 I for Rinex3. */
  630.     S5I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  631.     /** Signal-strength QZSS L5 P / Beidou B2a Pilot for Rinex3. */
  632.     S5P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.J05, PredefinedGnssSignal.B2A),

  633.     /** Signal-strength GPS L5 Q/ Galileo E5a Q / SBAS L5 Q / QZSS L5 Q for Rinex3. */
  634.     S5Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05),

  635.     /** Signal-strength GPS L5 I+Q/ Galileo E5a I+Q / SBAS L5 I+Q / QZSS L5 I+Q / NavIC L5 B+C / Beidou B2a Data+Pilot for Rinex3. */
  636.     S5X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.G05, PredefinedGnssSignal.E05, PredefinedGnssSignal.S05, PredefinedGnssSignal.J05, PredefinedGnssSignal.I05, PredefinedGnssSignal.B2A),

  637.     /** Signal-strength QZSS L5 D+P for Rinex3. */
  638.     S5Z(MeasurementType.SIGNAL_STRENGTH, SignalCode.Z, PredefinedGnssSignal.J05),

  639.     /** Signal-strength Galileo E6 A PRS / GLONASS G2a L2CSI/ Beidou B3A for Rinex3. */
  640.     S6A(MeasurementType.SIGNAL_STRENGTH, SignalCode.A, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06, PredefinedGnssSignal.B03),

  641.     /** Signal-strength Galileo E6 B C/NAV CS / GLONASS G2a L2OCp for Rinex3. */
  642.     S6B(MeasurementType.SIGNAL_STRENGTH, SignalCode.B, PredefinedGnssSignal.E06, PredefinedGnssSignal.R06),

  643.     /** Signal-strength Galileo E6 C no data for Rinex3. */
  644.     S6C(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.E06),

  645.     /** Signal-strength Beidou B3A for Rinex3. */
  646.     S6D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.B3A),

  647.     /** Signal-strength QZSS L6E for Rinex3. */
  648.     S6E(MeasurementType.SIGNAL_STRENGTH, SignalCode.E, PredefinedGnssSignal.J06),

  649.     /** Signal-strength Beidou B3 I for Rinex3. */
  650.     S6I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.B03),

  651.     /** Signal-strength QZSS LEX(6) L for Rinex3. */
  652.     S6L(MeasurementType.SIGNAL_STRENGTH, SignalCode.L, PredefinedGnssSignal.J06),

  653.     /** Signal-strength Beidou B3A for Rinex3. */
  654.     S6P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.B3A),

  655.     /** Signal-strength Beidou B3 Q for Rinex3. */
  656.     S6Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.B03),

  657.     /** Signal-strength QZSS LEX(6) S for Rinex3. */
  658.     S6S(MeasurementType.SIGNAL_STRENGTH, SignalCode.S, PredefinedGnssSignal.J06),

  659.     /** Signal-strength Galileo E6 B+C / QZSS LEX(6) S+L / Beidou B3 I+Q / GLONASS G2a L2CSI+L2OCp for Rinex3. */
  660.     S6X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B03, PredefinedGnssSignal.R06),

  661.     /** Signal-strength Galileo E6 A+B+C / QZSS L6(D+E) / Beidou B3A for Rinex3. */
  662.     S6Z(MeasurementType.SIGNAL_STRENGTH, SignalCode.Z, PredefinedGnssSignal.E06, PredefinedGnssSignal.J06, PredefinedGnssSignal.B3A),

  663.     /** Signal-strength Beidou B2b Data for Rinex3. */
  664.     S7D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  665.     /** Signal-strength Galileo E5b I I/NAV OS/CS/SoL / Beidou B2 I for Rinex3. */
  666.     S7I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  667.     /** Signal-strength Beidou B2b Pilot for Rinex3. */
  668.     S7P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  669.     /** Signal-strength Galileo Q no data / Beidou B2 Q for Rinex3. */
  670.     S7Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  671.     /** Signal-strength Galileo E5b I+Q / Beidou B2 I+Q for Rinex3. */
  672.     S7X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.E07, PredefinedGnssSignal.B02),

  673.     /** Signal-strength Beidou B2b Data+Pilot for Rinex3. */
  674.     S7Z(MeasurementType.SIGNAL_STRENGTH, SignalCode.Z, PredefinedGnssSignal.B02, PredefinedGnssSignal.B2B),

  675.     /** Signal-strength Beidou B2(B2a+B2b) Data for Rinex3. */
  676.     S8D(MeasurementType.SIGNAL_STRENGTH, SignalCode.D, PredefinedGnssSignal.B08),

  677.     /** Signal-strength Galileo E5(E5a+E5b) I for Rinex3. */
  678.     S8I(MeasurementType.SIGNAL_STRENGTH, SignalCode.I, PredefinedGnssSignal.E08),

  679.     /** Signal-strength Beidou B2(B2a+B2b) Pilot for Rinex3. */
  680.     S8P(MeasurementType.SIGNAL_STRENGTH, SignalCode.P, PredefinedGnssSignal.B08),

  681.     /** Signal-strength Galileo E5(E5a+E5b) for Rinex3. */
  682.     S8Q(MeasurementType.SIGNAL_STRENGTH, SignalCode.Q, PredefinedGnssSignal.E08),

  683.     /** Signal-strength Galileo E5(E5a+E5b) I+Q / Beidou B2(B2a+B2b) Data+Pilot for Rinex3. */
  684.     S8X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.E08, PredefinedGnssSignal.B08),

  685.     /** Signal-strength NavIC S A for Rinex3. */
  686.     S9A(MeasurementType.SIGNAL_STRENGTH, SignalCode.A, PredefinedGnssSignal.I09),

  687.     /** Signal-strength NavIC S B for Rinex3. */
  688.     S9B(MeasurementType.SIGNAL_STRENGTH, SignalCode.B, PredefinedGnssSignal.I09),

  689.     /** Signal-strength NavIC S C for Rinex3. */
  690.     S9C(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.I09),

  691.     /** Signal-strength NavIC S B+C for Rinex3. */
  692.     S9X(MeasurementType.SIGNAL_STRENGTH, SignalCode.X, PredefinedGnssSignal.I09),

  693.     /** Signal-strength for Rinex3. */
  694.     S0(MeasurementType.SIGNAL_STRENGTH, SignalCode.CODELESS),

  695.     /** Signal-strength GPS L1 C/A / GLONASS G1 C/A for Rinex2. */
  696.     SA(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.G01, PredefinedGnssSignal.R01),

  697.     /** Signal-strength GPS L1C for Rinex2. */
  698.     SB(MeasurementType.SIGNAL_STRENGTH, SignalCode.L, PredefinedGnssSignal.G01),

  699.     /** Signal-strength GPS L2C for Rinex2. */
  700.     SC(MeasurementType.SIGNAL_STRENGTH, SignalCode.L, PredefinedGnssSignal.G02),

  701.     /** Signal-strength GLONASS G2 for Rinex2. */
  702.     SD(MeasurementType.SIGNAL_STRENGTH, SignalCode.C, PredefinedGnssSignal.R02);

  703.     /** Measurement type. */
  704.     private final MeasurementType type;

  705.     /** Signal code. */
  706.     private final SignalCode code;

  707.     /** Map of frequencies. */
  708.     private final Map<SatelliteSystem, PredefinedGnssSignal> frequencies;

  709.     /** Simple  constructor.
  710.      * @param type measurement type
  711.      * @param code signal code
  712.      * @param frequencies compatible frequencies
  713.      */
  714.     PredefinedObservationType(final MeasurementType type, final SignalCode code, final PredefinedGnssSignal... frequencies) {
  715.         this.type = type;
  716.         this.code = code;
  717.         this.frequencies = new HashMap<>(frequencies.length);
  718.         for (final PredefinedGnssSignal f : frequencies) {
  719.             this.frequencies.put(f.getSatelliteSystem(), f);
  720.         }
  721.     }

  722.     /** {@inheritDoc} */
  723.     @Override
  724.     public String getName() {
  725.         return name();
  726.     }

  727.     /** {@inheritDoc} */
  728.     @Override
  729.     public MeasurementType getMeasurementType() {
  730.         return type;
  731.     }

  732.     /** {@inheritDoc} */
  733.     @Override
  734.     public SignalCode getSignalCode() {
  735.         return code;
  736.     }

  737.     /** {@inheritDoc} */
  738.     @Override
  739.     public GnssSignal getSignal(final SatelliteSystem system) {
  740.         return frequencies.get(system);
  741.     }

  742. }