• 大小: 54KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签: NORAD  SGP4  SDP4  

资源简介

此包中的文件提供SGP4和SDP4的c++算法实现。这两个轨道模型分别用于近地对象和深空对象,广泛应用于卫星跟踪软件,能够产生非常准确的结果。

资源截图

代码片段和文件信息

//
// cEci.cpp
//
// Copyright (c) 2002-2013 Michael F. Henry
// Version 01/2013
//
#include “stdafx.h“

#include “globals.h“
#include “cEci.h“
#include “coord.h“

namespace Zeptomoby 
{
namespace OrbitTools 
{

//////////////////////////////////////////////////////////////////////
// Class cEci
//////////////////////////////////////////////////////////////////////
cEci::cEci(const cVector &pos const cVector &vel)
   : m_Position (pos)
     m_Velocity (vel)
{
}

// Creates a instance of the class from geodetic coordinates.
//
// Assumes the Earth is an oblate spheroid.
// Reference: The 1992 Astronomical Almanac page K11
// Reference: www.celestrak.com (Dr. T.S. Kelso)
cEci::cEci(const cGeo& geo cJulian date)
{
   double lat = geo.LatitudeRad();
   double lon = geo.LongitudeRad();
   double alt = geo.AltitudeKm();

   // Calculate Local Mean Sidereal Time (theta)
   double theta = date.ToLmst(lon);
   double c = 1.0 / sqrt(1.0 + F * (F - 2.0) * sqr(sin(lat)));
   double s = sqr(1.0 - F) * c;
   double achcp = (XKMPER_WGS72 * c + alt) * cos(lat);

   m_Position.m_x = achcp * cos(theta);         // km
   m_Position.m_y = achcp * sin(theta);         // km
   m_Position.m_z = (XKMPER_WGS72 * s + alt) * sin(lat);   // km
   m_Position.m_w = sqrt(sqr(m_Position.m_x) +  // range km
                         sqr(m_Position.m_y) + 
                         sqr(m_Position.m_z));  

   // Determine velocity components due to earth‘s rotation
   double mfactor = TWOPI * (OMEGA_E / SEC_PER_DAY);

   m_Velocity.m_x = -mfactor * m_Position.m_y;  // km / sec
   m_Velocity.m_y =  mfactor * m_Position.m_x;  // km / sec
   m_Velocity.m_z = 0.0;                        // km / sec
   m_Velocity.m_w = sqrt(sqr(m_Velocity.m_x) +  // range rate km/sec^2
                         sqr(m_Velocity.m_y));
}

//////////////////////////////////////////////////////////////////////
// Class cEciTime
//////////////////////////////////////////////////////////////////////

cEciTime::cEciTime(const cEci &eci cJulian date) :
   cEci(eci)
   m_Date(date)
{
}

cEciTime::cEciTime(const cVector &pos const cVector &vel cJulian date) :
   cEci(pos vel)
   m_Date(date)
{
}

cEciTime::cEciTime(const cGeo &geo cJulian date)
   : cEci(geo date)
     m_Date(date)
{
}

cEciTime::cEciTime(const cGeoTime &geo) 
   : cEci(geo geo.Date())
     m_Date(geo.Date())
{
}

}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-01-12 08:10  orbitTools\core\
     文件        2462  2013-01-05 16:24  orbitTools\core\cEci.cpp
     文件        1403  2013-01-05 16:29  orbitTools\core\cEci.h
     文件        7655  2012-12-09 09:09  orbitTools\core\cJulian.cpp
     文件        2535  2013-01-05 16:25  orbitTools\core\cJulian.h
     文件        3297  2013-01-09 21:37  orbitTools\core\coord.cpp
     文件        2905  2013-01-09 21:18  orbitTools\core\coord.h
     文件        9352  2011-10-25 20:43  orbitTools\core\core.vcxproj
     文件        2525  2011-09-25 14:39  orbitTools\core\core.vcxproj.filters
     文件         379  2013-01-05 08:37  orbitTools\core\coreLib.h
     文件        3908  2012-12-09 08:00  orbitTools\core\cSite.cpp
     文件        1147  2012-12-09 08:00  orbitTools\core\cSite.h
     文件       11883  2013-01-02 21:04  orbitTools\core\cTLE.cpp
     文件        5256  2012-12-09 08:59  orbitTools\core\cTLE.h
     文件        1802  2010-12-18 15:47  orbitTools\core\cVector.cpp
     文件         745  2013-01-05 19:12  orbitTools\core\cVector.h
     文件        1087  2011-05-18 21:30  orbitTools\core\exceptions.h
     文件        1424  2010-12-18 15:47  orbitTools\core\globals.cpp
     文件        2196  2013-01-05 16:29  orbitTools\core\globals.h
     文件        8462  2013-01-11 20:02  orbitTools\core\revHistory.txt
     文件         291  2010-12-18 15:47  orbitTools\core\stdafx.cpp
     文件         244  2013-01-05 16:29  orbitTools\core\stdafx.h
     目录           0  2013-01-12 08:10  orbitTools\orbit\
     文件        9350  2012-12-09 08:10  orbitTools\orbit\cNoradbase.cpp
     文件        1485  2012-12-09 09:14  orbitTools\orbit\cNoradbase.h
     文件       22468  2013-01-12 07:51  orbitTools\orbit\cNoradSDP4.cpp
     文件        2212  2012-12-09 08:14  orbitTools\orbit\cNoradSDP4.h
     文件        3790  2013-01-05 19:13  orbitTools\orbit\cNoradSGP4.cpp
     文件         830  2012-12-09 08:14  orbitTools\orbit\cNoradSGP4.h
     文件        6486  2013-01-05 16:30  orbitTools\orbit\cOrbit.cpp
     文件        3384  2012-12-09 08:15  orbitTools\orbit\cOrbit.h
............此处省略15个文件信息

评论

共有 条评论