⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 correctobservables.hpp

📁 一个gps小工具包
💻 HPP
📖 第 1 页 / 共 2 页
字号:
#pragma ident "$Id: $"/** * @file CorrectObservables.hpp * This class corrects observables from effects such as antenna excentricity, * difference in phase centers, offsets due to tide effects, etc. */#ifndef CORRECTOBSERVABLES_HPP#define CORRECTOBSERVABLES_HPP//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007////============================================================================#include <string>#include "ProcessingClass.hpp"#include "XvtStore.hpp"#include "Triple.hpp"#include "Position.hpp"#include "geometry.hpp"namespace gpstk{      /** @addtogroup DataStructures */      //@{      /** This class corrects observables from effects such as antenna       * excentricity, difference in phase centers, offsets due to        * tidal effects, etc.       *       * This class is meant to be used with the GNSS data structures objects       * found in "DataStructures" class.       *       * A typical way to use this class follows:       *       * @code       *   // Create the input obs file stream       *   RinexObsStream rin("ebre0300.02o");       *       *   // Loads precise ephemeris object with file data       *   SP3EphemerisStore SP3EphList;       *   SP3EphList.loadFile("igs11513.sp3");       *       *   // Sets nominal position of receiver       *   Position nominalPos(4833520.3800, 41536.8300, 4147461.2800);       *       *   // Vector from antenna ARP to L1 phase center [UEN] (Leica AT504)       *   Triple offsetL1(0.1093, -0.0003, 0.0003);   // Units in meters       *       *   // Vector from antenna ARP to L2 phase center [UEN] (Leica AT504)       *   Triple offsetL2(0.1282, 0.0011, 0.0011);    // Units in meters       *       *   // Vector from monument to antenna ARP [UEN] for this station       *   Triple offsetARP(2.510, 0.300, 1.045);    // Units in meters       *       *   // Vector due to tidal effects (previously computed)       *   Triple tides(0.121, 0.033, -0.016);    // Units in meters       *       *       *   gnssRinex gRin;       *   CorrectObservables corr(SP3EphList,       *                           nominalPos,        *                           offsetL1,       *                           offsetL2,       *                           offsetARP,       *                           tides);       *       *   while(rin >> gRin) {       *      gRin >> corr;       *   }       * @endcode       *       * The "CorrectObservables" object will visit every satellite in the        * GNSS data structure that is "gRin" and will correct the        * corresponding observables from the given effects.       *       * When used with the ">>" operator, this class returns the same        * incoming data structure with the observables corrected. Be warned       * that if a given satellite does not have the observations required,        * it will be summarily deleted from the data structure.       *       */   class CorrectObservables : public ProcessingClass   {   public:         /// Default constructor      CorrectObservables()         : pEphemeris(NULL), nominalPos(0.0, 0.0, 0.0),           L1PhaseCenter(0.0, 0.0, 0.0), L2PhaseCenter(0.0, 0.0, 0.0),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(0.0, 0.0, 0.0)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          *          */      CorrectObservables(XvtStore<SatID>& ephem)         : pEphemeris(&ephem), nominalPos(0.0, 0.0, 0.0),           L1PhaseCenter(0.0, 0.0, 0.0), L2PhaseCenter(0.0, 0.0, 0.0),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(0.0, 0.0, 0.0)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos)          : pEphemeris(&ephem), nominalPos(stapos),           L1PhaseCenter(0.0, 0.0, 0.0), L2PhaseCenter(0.0, 0.0, 0.0),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(0.0, 0.0, 0.0)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          * @param L1pc      Position of antenna L1 phase center with respect          *    to ARP ([UEN]).          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos,                          const Triple& L1pc)          : pEphemeris(&ephem), nominalPos(stapos),           L1PhaseCenter(L1pc), L2PhaseCenter(0.0, 0.0, 0.0),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(0.0, 0.0, 0.0)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          * @param L1pc      Position of antenna L1 phase center with respect          *    to ARP ([UEN]).          * @param L2pc      Position of antenna L2 phase center with respect          *    to ARP ([UEN]).          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos,                          const Triple& L1pc,                          const Triple& L2pc)          : pEphemeris(&ephem), nominalPos(stapos),           L1PhaseCenter(L1pc), L2PhaseCenter(L2pc),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(0.0, 0.0, 0.0)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          * @param L1pc      Position of antenna L1 phase center with respect          *    to ARP ([UEN]).          * @param L2pc      Position of antenna L2 phase center with respect          *    to ARP ([UEN]).          * @param extra     Extra biases affecting monument, such as tidal          *    effects ([UEN]).          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos,                          const Triple& L1pc,                          const Triple& L2pc,                         const Triple& extra)          : pEphemeris(&ephem), nominalPos(stapos),           L1PhaseCenter(L1pc), L2PhaseCenter(L2pc),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(0.0, 0.0, 0.0), extraBiases(extra)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          * @param L1pc      Position of antenna L1 phase center with respect          *    to ARP ([UEN]).          * @param L2pc      Position of antenna L2 phase center with respect          *    to ARP ([UEN]).          * @param monument  Vector from monument to ARP ([UEN]).          * @param extra     Extra biases affecting monument, such as tidal          *    effects ([UEN]).          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos,                          const Triple& L1pc,                          const Triple& L2pc,                         const Triple& monument,                         const Triple& extra)          : pEphemeris(&ephem), nominalPos(stapos),           L1PhaseCenter(L1pc), L2PhaseCenter(L2pc),           L5PhaseCenter(0.0, 0.0, 0.0), L6PhaseCenter(0.0, 0.0, 0.0),           L7PhaseCenter(0.0, 0.0, 0.0), L8PhaseCenter(0.0, 0.0, 0.0),           monumentVector(monument), extraBiases(extra)      { setIndex(); };         /** Common constructor          *          * @param ephem     Satellite ephemeris.          * @param stapos    Nominal position of receiver station.          * @param L1pc      Position of antenna L1 phase center with respect          *    to ARP ([UEN]).          * @param L2pc      Position of antenna L2 phase center with respect          *    to ARP ([UEN]).          * @param L5pc      Position of antenna L5 phase center with respect          *    to ARP ([UEN]).          * @param L6pc      Position of antenna L6 phase center with respect          *    to ARP ([UEN]).          * @param L7pc      Position of antenna L7 phase center with respect          *    to ARP ([UEN]).          * @param L8pc      Position of antenna L8 phase center with respect          *    to ARP ([UEN]).          * @param monument  Vector from monument to ARP ([UEN]).          * @param extra     Extra biases affecting monument, such as tidal          *    effects ([UEN]).          *          */      CorrectObservables(XvtStore<SatID>& ephem,                          const Position& stapos,                          const Triple& L1pc,                         const Triple& L2pc,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -