nedutil.hpp

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

HPP
91
字号
#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_NEDUTIL_HPP#define GPSTK_NEDUTIL_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 North-East-Down (NED)     class NEDUtil   {      public:            // Constructors          /**          * Given a location as a (geodetic) latitude and longitude            * the constructor creates the appropriate rotation matrix           * from XYZ to NED and retains it for later use.          * @param refGeodeticLatRad geodetic latitude of point of interest (radians)          * @param refLonRad longitude of point of interest (radians).          */        NEDUtil( const double refGdLatRad,                  const double refLonRad);                     // Methods         /**          * Convert from a vector in ECEF XYZ to ECEF NED 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 NED          */         gpstk::Vector<double> convertToNED( const gpstk::Vector<double>& inV ) const;         gpstk::Triple         convertToNED( const gpstk::Triple& inVec ) const;         gpstk::Xvt            convertToNED( 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 refLatRad,                                               const double refLonRad );                                              // Utilities      protected:         void compute( const double refLat,                       const double refLon);                                Matrix<double> rotMat;   };   //@}}   #endif      

⌨️ 快捷键说明

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