enuutil.hpp

来自「一个gps小工具包」· HPP 代码 · 共 89 行

HPP
89
字号
#pragma ident "$Id:$"//============================================================================////  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//  //  Copyright 2007, The University of Texas at Austin////============================================================================////#ifndef GPSTK_ENUUTIL_HPP#define GPSTK_ENUUTIL_HPP// gpstk#include "Triple.hpp"#include "Matrix.hpp"#include "Vector.hpp"#include "Xvt.hpp"namespace gpstk{    /** @addtogroup geodeticgroup */    //@{      /// A utility for converting from Cartesian in XZY to East-North-Up (ENU)     class ENUUtil   {      public:            // Constructors         /**          * Given a location as a (geodetic) latitude and longitude            * the constructor creates the appropriate rotation matrix           * from XYZ to ENU and retains it for later use.          * @param refGeodeticLatRad geodetic latitude of point of interest (radians)          * @param refLonRad longitude of point of interest (radians).          */                     ENUUtil( const double refGeodeticLatRad,                  const double refLonRad);                     // Methods         /**          * Convert from a vector in ECEF XYZ to ECEF ENU using the          * current rotation matrix.          * @param inV,inVec,in vector of interest in ECEF XYZ.          * @return Same type as input but with the vector in ECEF ENU          */         gpstk::Vector<double> convertToENU( const gpstk::Vector<double>& inV ) const;         gpstk::Triple         convertToENU( const gpstk::Triple& inVec ) const;         gpstk::Xvt            convertToENU( const gpstk::Xvt& in ) const;         /**          * Update the rotation matrix to the new location without creating          * a new object          * @param refGdLatRad geodetic latitude of point of interest (radians)          * @param refLonRad longitude of point of interest (radians).          */         void                  updatePosition( const double refGDLatRad,                                               const double refLonRad );         // Utilities      protected:         void compute( const double refLat,                       const double refLon);                                Matrix<double> rotMat;   };   //@}}   #endif      

⌨️ 快捷键说明

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